Closed
Bug 14782
Opened 25 years ago
Closed 25 years ago
[dogfood] mousing over links causes massive reflows when status button crops
Categories
(Core :: XUL, defect, P1)
Core
XUL
Tracking
()
VERIFIED
FIXED
M12
People
(Reporter: mikepinkerton, Assigned: eric)
References
Details
(Whiteboard: [PDT-][HELP WANTED!])
as we discussed in my cube. turn on paint flashing go to the bonsai link and mouse over the links in the bullet lists. these links are long enough to make the titled button for the status bar crop. this causes the window to repaint. i think this is also the cause of why mousing over links at my.netscape is really really slow. this happens on all platforms.
Reporter | ||
Comment 1•25 years ago
|
||
cc'ing shaver, as he and i were talking about this earlier.
Reporter | ||
Comment 2•25 years ago
|
||
cc'ing shaver, as he and i were talking about this earlier.
Reporter | ||
Updated•25 years ago
|
Assignee: evaughan → pinkerton
Reporter | ||
Comment 4•25 years ago
|
||
taking this back. fix in hand.
Reporter | ||
Updated•25 years ago
|
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 5•25 years ago
|
||
fixed.
Updated•25 years ago
|
QA Contact: beppe → claudius
Comment 6•25 years ago
|
||
Claudius -- since this has to do with the the function of the window -- you get it.
Updated•25 years ago
|
Status: RESOLVED → REOPENED
Comment 7•25 years ago
|
||
reopening bug, per discussions with pinkerton. It seems we're still repainting much more than we have to
Updated•25 years ago
|
Resolution: FIXED → ---
Comment 8•25 years ago
|
||
clearing fixed resolution
Reporter | ||
Updated•25 years ago
|
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 9•25 years ago
|
||
fixed again, this time it was a problem in the view manager.
Updated•25 years ago
|
Whiteboard: 19991013: holding verification oending some discussion
Comment 10•25 years ago
|
||
I don't really think this is fixed - otherwise there is some other problem. pink and I will discuss.
Reporter | ||
Updated•25 years ago
|
Status: RESOLVED → REOPENED
Reporter | ||
Comment 11•25 years ago
|
||
yeah, we've regressed alright. this f*ing sucks.
Reporter | ||
Updated•25 years ago
|
Resolution: FIXED → ---
Summary: [PERF] mousing over links causes massive reflows when status button crops → [dogfood] mousing over links causes massive reflows when status button crops
Whiteboard: 19991013: holding verification oending some discussion → [HELP WANTED!]
Reporter | ||
Updated•25 years ago
|
Status: REOPENED → ASSIGNED
Priority: P3 → P1
Target Milestone: M11
Reporter | ||
Comment 12•25 years ago
|
||
you can easily see this when mousing over the "Module Owners" link in mozilla.org. Mousing out of that link causes the content area and sidebar to reflow, though I can't tell why. From that point on, it seems to want to continue to reflow when mousing over links until you mouse over the "Milestone 10" link (for example) at which point all is ok again. It seems like we get into a state where everything causes a full reflow and then mousing over other links (that don't appear to do any different) gets us back to the happy place we started in.
Reporter | ||
Comment 13•25 years ago
|
||
p1, m11, accepting, cc'ing evaughan.
Comment 14•25 years ago
|
||
Putting on [PDT-] radar.
What does ``PDT-'' mean here? What made people decide that this wasn't dogfood?
Reporter | ||
Comment 16•25 years ago
|
||
cc'ing pav
Reporter | ||
Comment 17•25 years ago
|
||
if i pull the status area out of the status bar this goes away, smells like titledbutton/box bugs.
Reporter | ||
Comment 18•25 years ago
|
||
reassigning to brendan since i'm going on vacation.
Comment 19•25 years ago
|
||
More of pink's bugs he dumped on me, I'm dumping on you! /be
Updated•25 years ago
|
Target Milestone: M11 → M12
Comment 20•25 years ago
|
||
Moving to M12
Updated•25 years ago
|
Assignee: kmcclusk → evaughan
Comment 21•25 years ago
|
||
The problem seems to be in FlowChildAt in nsBoxFrame.cpp. nsresult nsBoxFrame::FlowChildAt(nsIFrame* childFrame, nsIPresContext* aPresContext, nsHTMLReflowMetrics& desiredSize, const nsHTMLReflowState& aReflowState, nsReflowStatus& aStatus, nsCalculatedBoxInfo& aInfo, PRBool& aRedraw, nsString& aReason) ... if (currentRect.width == calcWidth && currentRect.height == calcHeight) { shouldReflow = PR_FALSE; } The calcWidth varies (+ or -) 1 twip for the content area each time this method is called. This forces the content are to be reflowed. If the following HACK is used the reflows can be suppressed. if (currentRect.width == calcWidth && currentRect.height == calcHeight) { shouldReflow = PR_FALSE; } else { if ((currentRect.width - calcWidth == 1) || (currentRect.width - calcWidth == -1) || (currentRect.width - calcWidth == 2) || (currentRect.width - calcWidth == -2)) { shouldReflow = PR_FALSE; printf("Reflow avoided\n"); } } I think the real problem is in nsBoxFrame::LayoutChildrenInRect(nsRect& size). It uses a floating point value to apply a percentage to the boxes it is laying out. I suspect the use the floating point is causing a round off error which results in the +=1 twip variation in the calculated width. Eric will be changing it so percentage values are expressed as integers instead of floats. This may solve this bug. Re-assigning to Eric.
Comment 22•25 years ago
|
||
This is a general bug which is exhibited whenever the status bar text is changed. Changing the status bar text causes an incremental reflow which box layout converts to a resize reflow for the content area if the calculated width is not = to the current width of the content area.
Comment 23•25 years ago
|
||
*** Bug 16364 has been marked as a duplicate of this bug. ***
Assignee | ||
Updated•25 years ago
|
Status: NEW → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 24•25 years ago
|
||
This is now fixed. It happened because the box layout was using floating point arithmetic and because of roundoff things were sometimes off by 1 twip causing weirdness. Now all calculations are done in integers.
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 25•25 years ago
|
||
verified
You need to log in
before you can comment on or make changes to this bug.
Description
•