Closed
Bug 117026
Opened 23 years ago
Closed 21 years ago
bookmark properties dialog very slow to load
Categories
(SeaMonkey :: Bookmarks & History, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla1.2alpha
People
(Reporter: jmd, Assigned: alfredkayser)
References
Details
(Keywords: perf)
Attachments
(5 files, 8 obsolete files)
18.05 KB,
image/gif
|
Details | |
7.35 KB,
image/png
|
Details | |
7.89 KB,
image/png
|
Details | |
31.60 KB,
patch
|
Details | Diff | Splinter Review | |
6.56 KB,
patch
|
p_ch
:
review+
bzbarsky
:
superreview+
asa
:
approval1.6a+
|
Details | Diff | Splinter Review |
Right click a bookmark in BM manager, click Properties. Actual Results: Wait 6 seconds, see properties. Expected Results: Wait <2 seconds, see properties. New window open is down to 5.5 seconds here...BM Manager itself opens in 3, and I have a lot of bookmarks. 6 seconds for the tiny properties dialog seems very excessive.
Updated•23 years ago
|
Target Milestone: --- → Future
Reporter | ||
Updated•23 years ago
|
Comment 2•23 years ago
|
||
Jeremy, what kind of a machine do you have? It takes less than two seconds for me on a PIII with 256 megs of RAM. Does this happen only on a large bookmark file?
Comment 3•23 years ago
|
||
nsbeta1- per nav triage team, but we'd consider a patch that removed the schedule and notify panes, which should make the dialog faster. helpwanted.
Comment 4•23 years ago
|
||
trudelle, so you just want the schedule and notify stuff to be removed from the bm-props.xul file? How about the accompanying javascript and dtd stuff?
Reporter | ||
Comment 5•23 years ago
|
||
Err... I originally had XUL cache disabled. With it back on, nothing seems much faster, except for this. Props now open in 1.5 seconds. Pretty severe perf penalty (400%) for props w/o cache.
Comment 6•23 years ago
|
||
I'm seeing a similar on window close perf problem bug 131130.
Reporter | ||
Comment 7•22 years ago
|
||
Upcoming patch
Reporter | ||
Comment 8•22 years ago
|
||
Speeds up dialog load from 1.5s to near instantaneous (actually pops up before the dialog menu is destroyed sometimes). Reviews?
![]() |
||
Comment 9•22 years ago
|
||
Comment on attachment 93669 [details] [diff] [review] remove tabs sr=bzbarsky. Make sure a UI-ish person (blake or jag) reviews...
Attachment #93669 -
Flags: superreview+
Reporter | ||
Comment 10•22 years ago
|
||
Did a quick search, and it seems some people are (attempting) to use the scheduling features. But it does seem fairly broken: bug 44282 bookmark scheduled update fails to trigger bug 56096 bookmark scheduler settings prevents 23pm to 8am Bug 90148 bookmark scheduler doesn't finish bug 94530 bookmark schedule/notification breaks on '?' in URL bug 110044 Scheduled bookmark notification triggers multiple times Bug 107268 bookmark scheduler wont do anything ^-- this is what I saw when I tried it. No notifications ever. Bug 94530 bookmark schedule/notification breaks on '?' in URL Feature incomplete: Bug 130344 Can't view the schedules as I can in IE Bug 74627 'schedule' and 'notify' bookmarks globally Bug 75330 [RFE] Do bookmark checking if scheduled time has passed And terribly in need of UI love: bug 132380 Merge "Schedule" and "Notify" tabs in Bookmark Properties ^-- this is terribly needed Bug 89059 Schedule in properties of bookmark should only talk about [...] So... do we want this in, in it's half working form, or out, and make bookmark props load in a reasonable time? It would require a lot of work to make notification robust enough to where it should be exposed to users, IMO. (Note my patch was made in responce to trudelle's call for one)
Comment 11•22 years ago
|
||
*** Bug 174212 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 12•22 years ago
|
||
This is a replacement (cannot diff at this moment) for the bookmarks properties dialog box, fixing the following: * this bug (slow loading): - removed tabs, and lots of extra spacers... - removed descriptions and icons (non-info) * bug 132380: merge schedule and notification panels * bug 179058: make dialogbox wider, so that most urls fit in editbox. So, whilst not removing the scheduling features, this speeds up the opening of this dialogbox, and shows all info in one box, instead of hiding bits and pieces.
Assignee | ||
Comment 13•22 years ago
|
||
Removed the entries not used anymore
Assignee | ||
Comment 14•22 years ago
|
||
Ben Goodger, it seems that you are the owner, can you progress this bug through the r, sr, etc stages? Note, that my patch also makes schedule.gif and notification.gif in the themes dead meat.
Assignee | ||
Comment 15•22 years ago
|
||
Assignee | ||
Comment 16•22 years ago
|
||
Assignee | ||
Comment 17•22 years ago
|
||
Other one is really the 'Classic' shot
Attachment #110813 -
Flags: review?(ben)
Attachment #110813 -
Flags: review?(ben) → review?(dean_tessman)
Comment 18•22 years ago
|
||
Comment on attachment 110814 [details] Corresponding file: en-US\communicator\bookmarks\bm-props.dtd ><!ENTITY checkforupdates.legend.label "Check this location for updates:"> ><!ENTITY notifications.legend.label "Notification:"> These are group box labels, and thus shouldn't have colons.
Assignee | ||
Updated•22 years ago
|
Attachment #110818 -
Attachment description: Screenshot with Modern theme → Screenshot with Classic
Comment 19•22 years ago
|
||
Please note bug 194553, which is about adding access keys to this dialog.
Assignee | ||
Comment 21•22 years ago
|
||
Complete patch, to merge all tabs into one dialogbox (see screenshots). Does also fix bug 132380, bug 179058, and bug 194553. (Merge Schedule/Notify, Prop. too narrow, resp. Add access keys). Fully tested with current builds, and safe change as it is only dtd and xul change (long live XUL!)
Attachment #93669 -
Attachment is obsolete: true
Attachment #110813 -
Attachment is obsolete: true
Attachment #110814 -
Attachment is obsolete: true
Assignee | ||
Comment 22•22 years ago
|
||
Comment on attachment 121896 [details] [diff] [review] Patch for in xpfe\components\bookmarks\resources Note, also includes bug 132380, bug 179058, and bug 194553.
Attachment #121896 -
Flags: superreview?(dmose)
Attachment #121896 -
Flags: review?(dean_tessman)
Comment 23•22 years ago
|
||
Comment on attachment 121896 [details] [diff] [review] Patch for in xpfe\components\bookmarks\resources >+ <groupbox><caption label="&generalInfo.label;" /> These should be on separate lines. >- <label value="&bookmarks.name.label;" control="name"/> >+ <label value="&bookmarks.name.label;" accesskey="&bookmarks.name.accesskey;" control="name"/> I assume your indentation is proper, and this looks weird only because it's a diff -w? >- <row id="descriptionrow"> >- <label value="&bookmarks.description.label;" control="description"/> >+ <row> >+ <label value="&bookmarks.description.label;" accesskey="&bookmarks.description.accesskey;" control="description"/> Without a row with id of "descriptionrow", doesn't line 200 throw a js error? document.getElementById("descriptionrow").setAttribute("hidden", "true"); >+</groupbox> >+<hbox> >+ <groupbox><caption label="&checkforupdates.legend.label;"/> These lines should be intended two spaces more, shouldn't they? >- <image id="notification-icon"/> Should we get rid of this image, then, from bookmarksWindow.css (and eventually from cvs)? > <!ENTITY bookmarks.name.label "Name:"> >+<!ENTITY bookmarks.name.accesskey "a"> 'N' is available now, why not use that? Other than that, looks good to me. Can you attach a new patch that addresses my questions and comments?
Attachment #121896 -
Flags: review?(dean_tessman) → review-
Assignee | ||
Comment 24•22 years ago
|
||
Fixed comments from Dean: * caption on separate line * indendation fixed * re-added 'descriptionrow' * filed separate bug for removal of 'notification-icon' and 'schedule-icon' * accesskey for Name is now 'N'. * fixed hiding of scheduling groupboxes for non-http bookmarks.
Attachment #121896 -
Attachment is obsolete: true
Assignee | ||
Updated•22 years ago
|
Attachment #121992 -
Flags: review?(dean_tessman)
Comment 25•22 years ago
|
||
Comment on attachment 121992 [details] [diff] [review] Patch (diff -uw format) >- document.getElementById("ScheduleTab").setAttribute("hidden", "true"); >- document.getElementById("NotifyTab").setAttribute("hidden", "true"); >+ document.getElementById("scheduling").setAttribute("hidden", "true"); > } Are we not hiding the notification section anymore, just scheduling? >+ <hbox id="scheduling"> Does this have a closing tag somewhere that doesn't show up in the diff -w?
Assignee | ||
Comment 26•22 years ago
|
||
Ad 1. No, the 'scheduling' id refers to the hbox containing both notification and scheduling groupboxes. Ad 2. There is a closing hbox, only the diff -uw doesn't show it. The diff -u is not very useable, as the indenting of almost everything has changed (due to the removal of the tabs).
Updated•22 years ago
|
Attachment #121896 -
Flags: superreview?(dmose)
Comment 27•22 years ago
|
||
Comment on attachment 121992 [details] [diff] [review] Patch (diff -uw format) That clears up my questions. r=me
Attachment #121992 -
Flags: review?(dean_tessman) → review+
Assignee | ||
Updated•22 years ago
|
Attachment #121992 -
Flags: superreview?(jaggernaut)
Attachment #110813 -
Flags: review?(dean_tessman)
Assignee | ||
Updated•21 years ago
|
Attachment #121992 -
Flags: superreview?(jaggernaut) → superreview?
Assignee | ||
Updated•21 years ago
|
Attachment #121992 -
Flags: superreview? → superreview?(jaggernaut)
Assignee | ||
Updated•21 years ago
|
Attachment #121992 -
Flags: superreview?(jag) → superreview?(bzbarsky)
![]() |
||
Comment 28•21 years ago
|
||
Comment on attachment 121992 [details] [diff] [review] Patch (diff -uw format) sr=me, but why do you need the <hbox id="scheduling">? Couldn't you put the id on the groupbox?
Attachment #121992 -
Flags: superreview?(bzbarsky) → superreview+
Assignee | ||
Comment 29•21 years ago
|
||
diff -u to be applied to cvs Note the 'id=scheduling' is to the hbox, so that both groupbox's contained in the hbox are hidden for bookmark items (such as folders) are hidden by this flag. Furthermore the hbox is required to put the groupbox's horizontally next to each other. (see screenshots)
Attachment #121992 -
Attachment is obsolete: true
Comment 30•21 years ago
|
||
this patch has merge conflicts in bm-props.xul. alfred: it's not obvious to me how to resolve the conflicts. if you can post an updated patch, i'll be more than happy to check it in for you. thx!
Assignee | ||
Comment 31•21 years ago
|
||
Attachment #132591 -
Attachment is obsolete: true
Assignee | ||
Comment 32•21 years ago
|
||
Note, if this is checked in, the following bugs can also be closed bug 132380, bug 179058, and bug 194553. (Merge Schedule/Notify, Prop. too narrow, resp. Add access keys).
Status: NEW → ASSIGNED
Assignee | ||
Comment 33•21 years ago
|
||
This is the last and final patch. Also removed the redundant showDescription function and renamed the global var Bookmarks to gBookmarks.
Assignee | ||
Updated•21 years ago
|
Attachment #132667 -
Attachment is obsolete: true
Comment 34•21 years ago
|
||
fixed-on-trunk
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Comment 35•21 years ago
|
||
adding bugs blocked by this one per comment #32
Comment 36•21 years ago
|
||
It would have been better to have this patch reviewed by a person familiar with the bookmarks code (Jan or me which appear to be the default assignee for the bookmark component). For instance, the renaming of bookmarks into gBookmarks makes no sense since there is already a global var |BMDS| to that effect that should have been used. Also, descriptions from bookmarks.properties should be removed. The indentation is wrong in some places, also. Please avoid that in the future.
Comment 37•21 years ago
|
||
reopening bug alfred: can you please create a followup patch to address p_ch's review comments. thx!
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 38•21 years ago
|
||
> It would have been better to have this patch reviewed by a person familiar with > the bookmarks code (Jan or me which appear to be the default assignee for the > bookmark component). Sorry about that, will look better and harder for the right reviewers... > For instance, the renaming of bookmarks into gBookmarks makes no sense since > there is already a global var |BMDS| to that effect that should have been used. See patch > Also, descriptions from bookmarks.properties should be removed. See patch > The indentation is wrong in some places, also. If you take a look at: http://lxr.mozilla.org/seamonkey/source/xpfe/components/bookmarks/resources/bm-props.xul you can see it is correct. The patch looks like a mess, because the removal of the tab/tabpanel levels.
Assignee | ||
Updated•21 years ago
|
Attachment #132987 -
Flags: review?(p_ch)
Comment 39•21 years ago
|
||
Comment on attachment 132987 [details] [diff] [review] fixed followup patch for the additional review comments please, don't forget to re-indent the file.
Comment 40•21 years ago
|
||
> If you take a look at .../bm-props.xul > you can see it is correct. The patch looks like a mess, because the removal > of the tab/tabpanel levels. I was referring to http://lxr.mozilla.org/seamonkey/source/xpfe/components/bookmarks/resources/bm-props.js indentation is not correct.
Assignee | ||
Comment 41•21 years ago
|
||
Comment on attachment 132987 [details] [diff] [review] fixed followup patch for the additional review comments Index: resources/bm-props.js =================================================================== RCS file: /cvsroot/mozilla/xpfe/components/bookmarks/resources/bm-props.js,v retrieving revision 1.31 diff -u -r1.31 bm-props.js --- resources/bm-props.js 9 Oct 2003 21:23:27 -0000 1.31 +++ resources/bm-props.js 20 Oct 2003 09:43:49 -0000 @@ -42,9 +42,6 @@ // that they are associated with. var gProperties; -// All the bookmarks datasource -var gBookmarks; - // The ID of the current shown bookmark var gBookmarkID; @@ -63,7 +60,6 @@ NC_NS + "ShortcutURL", NC_NS + "Description"]; - gBookmarks = RDF.GetDataSource("rdf:bookmarks"); gBookmarkID = window.arguments[0]; var i; @@ -74,7 +70,7 @@ for (i = 0; i < gFields.length; ++i) { var field = document.getElementById(gFields[i]); - var value = gBookmarks.GetTarget(resource, RDF.GetResource(gProperties[i]), true); + var value = BMDS.GetTarget(resource, RDF.GetResource(gProperties[i]), true); if (value) value = value.QueryInterface(Components.interfaces.nsIRDFLiteral).Value; @@ -90,7 +86,7 @@ propsWindow.setAttribute("title", title); // if its a container, disable some things - var isContainerFlag = RDFCU.IsContainer(gBookmarks, resource); + var isContainerFlag = RDFCU.IsContainer(BMDS, resource); if (!isContainerFlag) { // XXX To do: the "RDFCU.IsContainer" call above only works for RDF sequences; // if its not a RDF sequence, we should to more checking to see if @@ -110,7 +106,7 @@ } var showScheduling = false; - var url = gBookmarks.GetTarget(resource, RDF.GetResource(gProperties[1]), true); + var url = BMDS.GetTarget(resource, RDF.GetResource(gProperties[1]), true); if (url) { url = url.QueryInterface(Components.interfaces.nsIRDFLiteral).Value; if (url.substr(0, 7).toLowerCase() == "http://" || @@ -125,7 +121,7 @@ } else { // check bookmark schedule var scheduleArc = RDF.GetResource("http://home.netscape.com/WEB-rdf#Schedule"); - value = gBookmarks.GetTarget(resource, scheduleArc, true); + value = BMDS.GetTarget(resource, scheduleArc, true); if (value) { value = value.QueryInterface(Components.interfaces.nsIRDFLiteral).Value; @@ -222,9 +218,8 @@ // Get the new value as a literal, using 'null' if the value is empty. var newvalue = field.value; - var oldvalue = gBookmarks.GetTarget(RDF.GetResource(gBookmarkID), - RDF.GetResource(gProperties[i]), - true); + var oldvalue = BMDS.GetTarget(RDF.GetResource(gBookmarkID), + RDF.GetResource(gProperties[i]), true); if (oldvalue) oldvalue = oldvalue.QueryInterface(Components.interfaces.nsIRDFLiteral); @@ -255,8 +250,8 @@ var schedulingHidden = scheduling.getAttribute("hidden"); if (schedulingHidden != "true") { var scheduleRes = "http://home.netscape.com/WEB-rdf#Schedule"; - oldvalue = gBookmarks.GetTarget(RDF.GetResource(gBookmarkID), - RDF.GetResource(scheduleRes), true); + oldvalue = BMDS.GetTarget(RDF.GetResource(gBookmarkID), + RDF.GetResource(scheduleRes), true); newvalue = ""; var dayRangeNode = document.getElementById("dayRange"); var dayRange = dayRangeNode.selectedItem.getAttribute("value"); @@ -308,7 +303,7 @@ } if (changed) { - var remote = gBookmarks.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + var remote = BMDS.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); if (remote) remote.Flush(); } @@ -324,21 +319,16 @@ if (prop && (oldvalue || newvalue) && oldvalue != newvalue) { if (oldvalue && !newvalue) { - gBookmarks.Unassert(RDF.GetResource(gBookmarkID), - RDF.GetResource(prop), - oldvalue); + BMDS.Unassert(RDF.GetResource(gBookmarkID), + RDF.GetResource(prop), oldvalue); } else if (!oldvalue && newvalue) { - gBookmarks.Assert(RDF.GetResource(gBookmarkID), - RDF.GetResource(prop), - newvalue, - true); + BMDS.Assert(RDF.GetResource(gBookmarkID), + RDF.GetResource(prop), newvalue, true); } else /* if (oldvalue && newvalue) */ { - gBookmarks.Change(RDF.GetResource(gBookmarkID), - RDF.GetResource(prop), - oldvalue, - newvalue); + BMDS.Change(RDF.GetResource(gBookmarkID), + RDF.GetResource(prop), oldvalue, newvalue); } changed = true; Index: resources/locale/en-US/bookmarks.properties =================================================================== RCS file: /cvsroot/mozilla/xpfe/components/bookmarks/resources/locale/en-US/bookmarks.pro perties,v retrieving revision 1.4 diff -u -r1.4 bookmarks.properties --- resources/locale/en-US/bookmarks.properties 5 Oct 2003 08:21:25 -0000 1.4 +++ resources/locale/en-US/bookmarks.properties 20 Oct 2003 09:43:49 -0000 @@ -18,15 +18,6 @@ # Contributor(s): # -description_Bookmark = %brandShortName% can remember web page locations for you. Type the page name and location in the fields below, then click OK. Select the page from the Bookmarks menu or your Bookmarks Sidebar tab to visit the page. -description_Folder = %brandShortName% can organize your bookmarks into specific folders. Type the folder name and an optional comment below, then click OK. -description_FolderGroup = %brandShortName% can bookmark a group of web pages. Type a group name and an optional comment in the field below, then click OK. Select the group from the Bookmark menu or your Bookmarks Sidebar tab to open each page in a separate Navigator tab. -description_PersonalToolbarFolder = Folders and bookmarks in this folder appear on the Personal Toolbar. -description_NewBookmarkFolder = Newly created bookmarks will be stored here by default. -description_NewSearchFolder = Search results will be stored here by default. -description_NewBookmarkAndSearchFolder = Newly created bookmarks and search results will be stored here by default. -description_BookmarkSeparator = %brandShortName% can organize your bookmarks by putting separators between them. Type an optional separator name below, then click OK. - cmd_bm_open = Open cmd_bm_expandfolder = Expand cmd_bm_collapsefolder = Collapse
Attachment #132987 -
Attachment description: Followup patch for the additional review comments → fixed followup patch for the additional review comments
Assignee | ||
Comment 42•21 years ago
|
||
Final, follow-up patch, to fix the review comments of p_ch.
Attachment #132987 -
Attachment is obsolete: true
Assignee | ||
Updated•21 years ago
|
Attachment #133865 -
Flags: review?(p_ch)
Assignee | ||
Updated•21 years ago
|
Attachment #132987 -
Flags: review?(p_ch)
Updated•21 years ago
|
Attachment #133865 -
Flags: review?(p_ch) → review+
Assignee | ||
Comment 43•21 years ago
|
||
Comment on attachment 133865 [details] [diff] [review] Final patch to fix the last items (indenting, BMDS, and descriptions) Very minor cleanup, but still nice to include in 1.6
Attachment #133865 -
Flags: superreview?(bzbarsky)
Attachment #133865 -
Flags: approval1.6a?
![]() |
||
Comment 44•21 years ago
|
||
Comment on attachment 133865 [details] [diff] [review] Final patch to fix the last items (indenting, BMDS, and descriptions) sr=bzbarsky, though this does not address whatever indent issue pch mentioned... you may want to address that at checkin time.
Attachment #133865 -
Flags: superreview?(bzbarsky) → superreview+
Comment 45•21 years ago
|
||
Comment on attachment 133865 [details] [diff] [review] Final patch to fix the last items (indenting, BMDS, and descriptions) a=asa (on behalf of drivers) for checkin to 1.6alpha
Attachment #133865 -
Flags: approval1.6a? → approval1.6a+
Assignee | ||
Comment 46•21 years ago
|
||
It should also address the indenting issues, as they are related to the 'bookmarks' to 'gBookmarks' to 'BMDS' changes, which are included in this last patch.
Comment 47•21 years ago
|
||
patch checked in on the trunk for 1.6 alpha. marking FIXED
Status: REOPENED → RESOLVED
Closed: 21 years ago → 21 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: Browser → Seamonkey
Assignee | ||
Updated•16 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•