Closed
Bug 117026
Opened 24 years ago
Closed 22 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•23 years ago
|
||
Upcoming patch
| Reporter | ||
Comment 8•23 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•23 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•23 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•23 years ago
|
||
*** Bug 174212 has been marked as a duplicate of this bug. ***
| Assignee | ||
Comment 12•23 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•23 years ago
|
||
Removed the entries not used anymore
| Assignee | ||
Comment 14•23 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•23 years ago
|
||
| Assignee | ||
Comment 16•23 years ago
|
||
| Assignee | ||
Comment 17•23 years ago
|
||
Other one is really the 'Classic' shot
Attachment #110813 -
Flags: review?(ben)
Attachment #110813 -
Flags: review?(ben) → review?(dean_tessman)
Comment 18•23 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•22 years ago
|
Attachment #121992 -
Flags: superreview?(jaggernaut) → superreview?
| Assignee | ||
Updated•22 years ago
|
Attachment #121992 -
Flags: superreview? → superreview?(jaggernaut)
| Assignee | ||
Updated•22 years ago
|
Attachment #121992 -
Flags: superreview?(jag) → superreview?(bzbarsky)
Comment 28•22 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•22 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•22 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•22 years ago
|
||
Attachment #132591 -
Attachment is obsolete: true
| Assignee | ||
Comment 32•22 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•22 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•22 years ago
|
Attachment #132667 -
Attachment is obsolete: true
Comment 34•22 years ago
|
||
fixed-on-trunk
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 35•22 years ago
|
||
adding bugs blocked by this one per comment #32
Comment 36•22 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•22 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•22 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•22 years ago
|
Attachment #132987 -
Flags: review?(p_ch)
Comment 39•22 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•22 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•22 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•22 years ago
|
||
Final, follow-up patch, to fix the review comments of p_ch.
Attachment #132987 -
Attachment is obsolete: true
| Assignee | ||
Updated•22 years ago
|
Attachment #133865 -
Flags: review?(p_ch)
| Assignee | ||
Updated•22 years ago
|
Attachment #132987 -
Flags: review?(p_ch)
Updated•22 years ago
|
Attachment #133865 -
Flags: review?(p_ch) → review+
| Assignee | ||
Comment 43•22 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•22 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•22 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•22 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•22 years ago
|
||
patch checked in on the trunk for 1.6 alpha.
marking FIXED
Status: REOPENED → RESOLVED
Closed: 22 years ago → 22 years ago
Resolution: --- → FIXED
Updated•21 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
•