Closed Bug 381624 Opened 16 years ago Closed 16 years ago

history sidebar slower the first time you open it (or on startup), then when you switch history views

Categories

(Firefox :: Bookmarks & History, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
Firefox 3 alpha5

People

(Reporter: moco, Assigned: moco)

References

Details

Attachments

(2 files, 1 obsolete file)

history sidebar slow to view, slow to change views with a large history.

I'm using history that got imported from jay patel's 4.7 MB history.dat.  (thanks again jay!)

it is taking me about 5 - 10 seconds to switch history views.
for that un-implemented rfe we were paying a price.

we were calling searchHistory() with "" (as the search box is always blank on startup).  searchHistory() will call tree's load().

but tree's constructor already calls load() [by doing self.place = self.place]

I could have done something like 

if (gSearchBox.value)
  setTimeout(function() { searchHistory(gSearchBox.value); }, 0); 

but I've just removed the comment and code altogether instead.
Assignee: nobody → sspitzer
morphing bug to conver the summary.

history is still slow with a large amount of data, still working on that, but in other bugs.
Status: NEW → ASSIGNED
Summary: history sidebar slow to view, slow to change views with a large history → history sidebar slower the first time you open it (or on startup), then when you switch history views
this would help with startup (if you have the history sidebar opne), and when ever you open the history sidebar.
Target Milestone: --- → Firefox 3 alpha5
Comment on attachment 265748 [details] [diff] [review]
don't call load() twice

r=mano
Attachment #265748 - Flags: review?(dietrich) → review+
fixed.

Checking in history-panel.js;
/cvsroot/mozilla/browser/components/places/content/history-panel.js,v  <--  history-panel.js
new revision: 1.14; previous revision: 1.13
done
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
on 2007-05-22 18:44, I checked in the wrong patch.
on 2007-05-23 19:27, I checked it the right patch.
I need to back this fix out, as it has caused a regression:  the items in the history sidebar aren't sorted properly the first time.  see bug # 381896 
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment on attachment 266000 [details] [diff] [review]
patch, avoid calling load() twice, and applyFilter() initially, but still sort and group properly (see regressoin bug #381896)

would also gladly take a review from dietrich.
Attachment #266000 - Flags: review?(dietrich)
Comment on attachment 266000 [details] [diff] [review]
patch, avoid calling load() twice, and applyFilter() initially, but still sort and group properly (see regressoin bug #381896)


> // These need to be kept in sync with the meaning of these roots in 
> // default_places.html!

can you remove this comment while you're in there? :)

>-const ORGANIZER_ROOT_HISTORY_UNSORTED = "place:beginTime=-2592000000000&beginTimeRef=1&endTime=7200000000&endTimeRef=2&type=1"
>-const ORGANIZER_ROOT_HISTORY = ORGANIZER_ROOT_HISTORY_UNSORTED + "&sort=" + Ci.nsINavHistoryQueryOptions.SORT_BY_DATE_DESCENDING;
>+const ORGANIZER_ROOT_HISTORY_UNSORTED = "place:beginTime=-2592000000000&beginTimeRef=1&endTime=7200000000&endTimeRef=2&type=1";
> const ORGANIZER_ROOT_BOOKMARKS = "place:folder=2&group=3&excludeItems=1";
> const ORGANIZER_SUBSCRIPTIONS_QUERY = "place:annotation=livemark%2FfeedURI";
> 

is this change because it's unused now?

otherwise, looks good r=me.
Attachment #266000 - Flags: review?(dietrich) → review+
Comment on attachment 266000 [details] [diff] [review]
patch, avoid calling load() twice, and applyFilter() initially, but still sort and group properly (see regressoin bug #381896)

> {
>   if (aInput) {
>     if (!gSearching) {
>       // Unset grouping when searching; applyFilter will update the view
>       var options = asQuery(gHistoryTree.getResult().root).queryOptions;

nit: you don't need to call asQuery here, GetRoot returns nsINavHistoryQueryResultNode.

r=mano.
Attachment #266000 - Flags: review?(mano) → review+
thanks dietrich and mano.

> can you remove this comment while you're in there? :)

will do.

> is this change because it's unused now?

yes, ORGANIZER_ROOT_HISTORY is unused (and before this patch, ORGANIZER_ROOT_HISTORY_UNSORTED was unused to.)

> nit: you don't need to call asQuery here, GetRoot returns
> nsINavHistoryQueryResultNode.

will fix both places in searchHistory() where I have the unnecessary call to asQuery()
Status: REOPENED → ASSIGNED
Attached patch as checked inSplinter Review
Attachment #266000 - Attachment is obsolete: true
Attachment #266140 - Flags: review+
fixed.

there is still more performance work to be done with the history sidebar, but only calling load once is a start.

cvs ci  browser/components/places/content/controller.js  browser/components/plac
es/content/history-panel.js browser/components/places/content/history-panel.xul
browser/components/places/content/tree.xml
Checking in browser/components/places/content/controller.js;
/cvsroot/mozilla/browser/components/places/content/controller.js,v  <--  control
ler.js
new revision: 1.154; previous revision: 1.153
done
Checking in browser/components/places/content/history-panel.js;
/cvsroot/mozilla/browser/components/places/content/history-panel.js,v  <--  hist
ory-panel.js
new revision: 1.16; previous revision: 1.15
done
Checking in browser/components/places/content/history-panel.xul;
/cvsroot/mozilla/browser/components/places/content/history-panel.xul,v  <--  his
tory-panel.xul
new revision: 1.10; previous revision: 1.9
done
Checking in browser/components/places/content/tree.xml;
/cvsroot/mozilla/browser/components/places/content/tree.xml,v  <--  tree.xml
new revision: 1.70; previous revision: 1.69
done
Status: ASSIGNED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
verified with Windows trunk build from 20070620
Status: RESOLVED → VERIFIED
Bug 451915 - move Firefox/Places bugs to Firefox/Bookmarks and History. Remove all bugspam from this move by filtering for the string "places-to-b-and-h".

In Thunderbird 3.0b, you do that as follows:
Tools | Message Filters
Make sure the correct account is selected. Click "New"
Conditions: Body   contains   places-to-b-and-h
Change the action to "Delete Message".
Select "Manually Run" from the dropdown at the top.
Click OK.

Select the filter in the list, make sure "Inbox" is selected at the bottom, and click "Run Now". This should delete all the bugspam. You can then delete the filter.

Gerv
Component: Places → Bookmarks & History
QA Contact: places → bookmarks
You need to log in before you can comment on or make changes to this bug.