Closed
Bug 488783
Opened 16 years ago
Closed 16 years ago
Tags list no longer sorted (alphabetized) in latest Shiretoko nightly
Categories
(Firefox :: Bookmarks & History, defect, P2)
Tracking
()
VERIFIED
FIXED
Firefox 3.6a1
People
(Reporter: davemgarrett, Assigned: mak)
References
Details
(Keywords: regression, verified1.9.1)
Attachments
(1 file, 1 obsolete file)
26.63 KB,
patch
|
Details | Diff | Splinter Review |
The list under organize bookmarks -> tags is no longer alphabetized for me in the latest nightly. (I also happen to have this list shown in my bookmarks menu itself, which is why I noticed) It works fine in a 3.5b4pre nightly from the 15th but shows jumbled on the 16th. Going back to the 15th again shows it correctly.
Sorry, but I haven't been able to reproduce this in a new profile to come up with a testcase. (yes, it does it in safe mode too)
There were a bunch of sort related bugs pushed out in this nightly. Anyone know which one might've done this?
Assignee | ||
Comment 1•16 years ago
|
||
yeah, looks like a regression from recent sorting changes, still have to find which.
Flags: blocking-firefox3.5?
Priority: -- → P2
Updated•16 years ago
|
Flags: blocking-firefox3.5? → blocking-firefox3.5+
Assignee | ||
Comment 3•16 years ago
|
||
taking this blocker.
Assignee: nobody → mak77
Status: NEW → ASSIGNED
Assignee | ||
Updated•16 years ago
|
Flags: in-testsuite?
Updated•16 years ago
|
OS: Linux → All
Hardware: x86 → All
Updated•16 years ago
|
Whiteboard: [eta 4/20]
Assignee | ||
Comment 4•16 years ago
|
||
I think that we have too many special cases for sorting, and i suggest we file a follow-up to try clean some of the sorting paths in future, the test is a clear example of what an implementer is going to hit.
Luckily that applies only to grouped queries.
The test is dedicated to grouped queries, and tests the current sorting paths they can touch (only relevant sortingModes). It is big due to special casing for different resultTypes and to avoid regressing bug 473157 (we probably need to better look at Seamonkey needs and find a cleaner way to do that for 3.6, since having 2 different ways to sort based on which sortingMode you change causes headaches).
Attachment #373782 -
Flags: review?(dietrich)
Assignee | ||
Updated•16 years ago
|
Whiteboard: [eta 4/20] → [has patch][needs review dietrich]
Updated•16 years ago
|
Attachment #373782 -
Flags: review?(dietrich) → review+
Comment 5•16 years ago
|
||
Comment on attachment 373782 [details] [diff] [review]
patch v1.0
>@@ -4163,13 +4182,13 @@ nsNavHistory::GetQueryResults(nsNavHisto
> paramsPresent, addParams);
> NS_ENSURE_SUCCESS(rv,rv);
>
>-#ifdef DEBUG_FRECENCY
>- printf("Constructed the query: %s\n", PromiseFlatCString(queryString).get());
>-#endif
>-
> // create statement
> nsCOMPtr<mozIStorageStatement> statement;
> rv = mDBConn->CreateStatement(queryString, getter_AddRefs(statement));
>+#ifdef DEBUG
>+ if (NS_FAILED(rv))
>+ printf("Places failed to create a statement from this query:\n%s\n", PromiseFlatCString(queryString).get());
>+#endif
nit: would be nice to also print the sql error itself here
>diff --git a/toolkit/components/places/src/nsNavHistoryResult.cpp b/toolkit/components/places/src/nsNavHistoryResult.cpp
>--- a/toolkit/components/places/src/nsNavHistoryResult.cpp
>+++ b/toolkit/components/places/src/nsNavHistoryResult.cpp
>@@ -2386,7 +2386,19 @@ nsNavHistoryQueryResultNode::FillChildre
> if (comparator) {
> nsCAutoString sortingAnnotation;
> GetSortingAnnotation(sortingAnnotation);
>- RecursiveSort(sortingAnnotation.get(), comparator);
>+ // Usually copntainers queries results comes already sorted from the
sp: containers
>+ // database, but some locale could have special rules to sort by title.
nit: locales
>+ // RecursiveSort won't apply these rules to containers in containers
>+ // queries because when setting sortingMode on the result we want to sort
>+ // contained items (bug 473157).
>+ // In such a case we apply the base class sorting and not our special one.
>+ if (IsContainersQuery() &&
>+ sortType == mOptions->SortingMode() &&
>+ (sortType == nsINavHistoryQueryOptions::SORT_BY_TITLE_ASCENDING ||
>+ sortType == nsINavHistoryQueryOptions::SORT_BY_TITLE_DESCENDING))
>+ nsNavHistoryContainerResultNode::RecursiveSort(sortingAnnotation.get(), comparator);
>+ else
>+ RecursiveSort(sortingAnnotation.get(), comparator);
> }
> }
>
ugh. please add a more detailed comment that clearly explains the difference between container and query sorting, and when one is used over the other.
>+ break;
>+ default:
>+ do_throw("Unknown sorting type required " + aExpectedSortingMode);
nit: s/required//
>+ }
>+
>+ // Make an indipendent copy of the results array and sort it.
nit: independent
Updated•16 years ago
|
Whiteboard: [has patch][needs review dietrich] → [has patch]
Assignee | ||
Comment 6•16 years ago
|
||
addressed comments.
Attachment #373782 -
Attachment is obsolete: true
Assignee | ||
Comment 7•16 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: in-testsuite? → in-testsuite+
Resolution: --- → FIXED
Whiteboard: [has patch] → [baking on trunk]
Target Milestone: --- → Firefox 3.6a1
Assignee | ||
Comment 8•16 years ago
|
||
Keywords: fixed1.9.1
Whiteboard: [baking on trunk]
Comment 9•16 years ago
|
||
verified with: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.1b5pre) Gecko/20090505 Shiretoko/3.5b5pre
Status: RESOLVED → VERIFIED
Keywords: fixed1.9.1 → verified1.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•