Closed Bug 38233 Opened 25 years ago Closed 24 years ago

menus trigger excessive RDF content construction

Categories

(Core :: XUL, defect, P2)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: waterson, Assigned: waterson)

References

Details

(Keywords: perf, Whiteboard: [nsbeta2-] FIX IN HAND)

Attachments

(1 file)

rjc and I were looking at bug 29359 (which deals with loading search.dll at startup), and it turns out that this is not the real problem. The real problem is that XBL and menu frame construction code is very aggressive about probing the content tree for children. This forces RDF to "fault" and generate content (triggering e.g., search queries to run) at inopportune times. This broke a while ago when I removed special-case menu code that paid attention to the "open" attribute on <menu> tags. I can't remember the bug number, but this used to cause the "unrolling" menus. we need to figure out a better mechanism here, it is affecting startup performance on mac, and XP menu performance across the board (e.g., unrolling the "bookmarks" menu causes *all* submenus of that menu to be pre-generated, rather than waiting for a mouseover).
Keywords: perf
*** Bug 37118 has been marked as a duplicate of this bug. ***
QA Contact: sairuh → jrgm
taking from pink per our discussion yesterday. will try to revive use of "open" attribute and lying about children.
Assignee: pinkerton → waterson
Status: NEW → ASSIGNED
Priority: P3 → P2
Target Milestone: --- → M16
The duplicate bug #37118 was nsbeta2+. Adding nsbeta2 for consideration of pdt
Keywords: crash, nsbeta2
Putting on [nsbeta2+] radar for beta2 fix.
Whiteboard: [nsbeta2+]
Target Milestone: M16 → M17
Whiteboard: [nsbeta2+] → [nsbeta2+] 7/14
Waterson says the crash has been fixed. Removing crash keyword and changing from nsbeta2+ to nsbeta2-.
Keywords: crash
Whiteboard: [nsbeta2+] 7/14 → [nsbeta2-]
Keywords: nsbeta3
Target Milestone: M17 → M18
Whiteboard: [nsbeta2-] → [nsbeta2-] FIX IN HAND
Depends on: 46108
Blocks: 46132
Chris, I applied your patch on my Mac build. I'm still see things like "IE Favorites" read in on startup (based upon timing output in the console window). :(
Right, I think that we need to fix 46108 first.
For yucks, I modified CheckContainer() in the XUL template builder to never compute "empty" [i.e. never call GetTarget()] and the problem still exists... so some code somewhere else is still being overly aggressive. I also noticed that if I run mozilla and do a search from the search sidebar panel, as soon as I click on the panel's "Search" button, I see several "find:" URLs being executed in the console as well. (That's with the "empty" computation disabled.) Probably the same problem. [Its a good test though, as it happens on all platforms, unless the "IE Favorites" being read at startup problem, which is Mac only.]
[On the Mac] Setting a breakpoint at "nsBookmarksService.cpp::ReadFavorites()" and then looking up the stack reveals that what's causing the excessive content construction is "nsXULDocument::ResolveForwardReferences()"
hyatt checked in the fix for this.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Component: XP Toolkit/Widgets: Menus → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: