Bug 419957 - History sidebar "By Site" should use visit_count to avoid display of empty sites (for ondrej@allpeers.com, r=dietrich, a=beltzner)
This commit is contained in:
Родитель
e1b5b69bc1
Коммит
33199000bc
|
@ -3184,9 +3184,7 @@ PlacesSQLQueryBuilder::SelectAsSite()
|
||||||
history->GetStringFromName(NS_LITERAL_STRING("localhost").get(), localFiles);
|
history->GetStringFromName(NS_LITERAL_STRING("localhost").get(), localFiles);
|
||||||
mAddParams.Put(NS_LITERAL_CSTRING(":localhost"), localFiles);
|
mAddParams.Put(NS_LITERAL_CSTRING(":localhost"), localFiles);
|
||||||
|
|
||||||
// We want just sites, but from whole database - we omit join with visits,
|
// We want just sites, but from whole database.
|
||||||
// it could happen, that we get later empty host, when we click on it, but
|
|
||||||
// this should be much faster.
|
|
||||||
if (mConditions.IsEmpty()) {
|
if (mConditions.IsEmpty()) {
|
||||||
|
|
||||||
mQueryString = nsPrintfCString(2048,
|
mQueryString = nsPrintfCString(2048,
|
||||||
|
@ -3196,6 +3194,7 @@ PlacesSQLQueryBuilder::SelectAsSite()
|
||||||
"WHERE EXISTS(SELECT '*' "
|
"WHERE EXISTS(SELECT '*' "
|
||||||
"FROM moz_places "
|
"FROM moz_places "
|
||||||
"WHERE hidden <> 1 AND rev_host = '.' "
|
"WHERE hidden <> 1 AND rev_host = '.' "
|
||||||
|
"AND visit_count > 0 "
|
||||||
"AND url BETWEEN 'file://' AND 'file:/~') "
|
"AND url BETWEEN 'file://' AND 'file:/~') "
|
||||||
"UNION ALL "
|
"UNION ALL "
|
||||||
"SELECT DISTINCT null, "
|
"SELECT DISTINCT null, "
|
||||||
|
@ -3204,7 +3203,8 @@ PlacesSQLQueryBuilder::SelectAsSite()
|
||||||
"FROM (SELECT get_unreversed_host(rev_host) host "
|
"FROM (SELECT get_unreversed_host(rev_host) host "
|
||||||
"FROM (SELECT DISTINCT rev_host "
|
"FROM (SELECT DISTINCT rev_host "
|
||||||
"FROM moz_places "
|
"FROM moz_places "
|
||||||
"WHERE hidden <> 1 AND rev_host <> '.') inner0 "
|
"WHERE hidden <> 1 AND rev_host <> '.' "
|
||||||
|
"AND visit_count > 0 ) inner0 "
|
||||||
"ORDER BY 1 ASC) inner1",
|
"ORDER BY 1 ASC) inner1",
|
||||||
nsINavHistoryQueryOptions::RESULTS_AS_URI,
|
nsINavHistoryQueryOptions::RESULTS_AS_URI,
|
||||||
nsINavHistoryQueryOptions::SORT_BY_TITLE_ASCENDING,
|
nsINavHistoryQueryOptions::SORT_BY_TITLE_ASCENDING,
|
||||||
|
@ -3222,6 +3222,7 @@ PlacesSQLQueryBuilder::SelectAsSite()
|
||||||
"FROM moz_places h "
|
"FROM moz_places h "
|
||||||
"JOIN moz_historyvisits v ON h.id = v.place_id "
|
"JOIN moz_historyvisits v ON h.id = v.place_id "
|
||||||
"WHERE h.hidden <> 1 AND h.rev_host = '.' "
|
"WHERE h.hidden <> 1 AND h.rev_host = '.' "
|
||||||
|
"AND h.visit_count > 0 "
|
||||||
"AND h.url BETWEEN 'file://' AND 'file:/~' "
|
"AND h.url BETWEEN 'file://' AND 'file:/~' "
|
||||||
"AND v.visit_type NOT IN (0,4) {ADDITIONAL_CONDITIONS} ) "
|
"AND v.visit_type NOT IN (0,4) {ADDITIONAL_CONDITIONS} ) "
|
||||||
"UNION ALL "
|
"UNION ALL "
|
||||||
|
@ -3234,6 +3235,7 @@ PlacesSQLQueryBuilder::SelectAsSite()
|
||||||
"FROM moz_places h "
|
"FROM moz_places h "
|
||||||
"JOIN moz_historyvisits v ON h.id = v.place_id "
|
"JOIN moz_historyvisits v ON h.id = v.place_id "
|
||||||
"WHERE h.hidden <> 1 AND h.rev_host <> '.' "
|
"WHERE h.hidden <> 1 AND h.rev_host <> '.' "
|
||||||
|
"AND h.visit_count > 0 "
|
||||||
"AND v.visit_type NOT IN (0,4) "
|
"AND v.visit_type NOT IN (0,4) "
|
||||||
"{ADDITIONAL_CONDITIONS} ) inner0 "
|
"{ADDITIONAL_CONDITIONS} ) inner0 "
|
||||||
"ORDER BY 1 ASC) inner1",
|
"ORDER BY 1 ASC) inner1",
|
||||||
|
|
|
@ -206,6 +206,12 @@ function test_RESULTS_AS_DATE_QUERY() {
|
||||||
|
|
||||||
function test_RESULTS_AS_SITE_QUERY() {
|
function test_RESULTS_AS_SITE_QUERY() {
|
||||||
|
|
||||||
|
// add a bookmark with a domain not in the set of visits in the db
|
||||||
|
var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
||||||
|
getService(Ci.nsINavBookmarksService);
|
||||||
|
bmsvc.insertBookmark(bmsvc.toolbarFolder, uri("http://foobar"),
|
||||||
|
bmsvc.DEFAULT_INDEX, "");
|
||||||
|
|
||||||
var options = histsvc.getNewQueryOptions();
|
var options = histsvc.getNewQueryOptions();
|
||||||
options.resultType = options.RESULTS_AS_SITE_QUERY;
|
options.resultType = options.RESULTS_AS_SITE_QUERY;
|
||||||
var query = histsvc.getNewQuery();
|
var query = histsvc.getNewQuery();
|
||||||
|
@ -214,7 +220,7 @@ function test_RESULTS_AS_SITE_QUERY() {
|
||||||
root.containerOpen = true;
|
root.containerOpen = true;
|
||||||
do_check_eq(root.childCount, dayLabels.length*2);
|
do_check_eq(root.childCount, dayLabels.length*2);
|
||||||
|
|
||||||
// We include this here, se that maintainer knows what is the expected result
|
// We include this here, so that maintainer knows what is the expected result
|
||||||
var expectedResult =
|
var expectedResult =
|
||||||
[
|
[
|
||||||
"mirror0.google.com",
|
"mirror0.google.com",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче