Closed Bug 5400 Opened 26 years ago Closed 26 years ago

The computed Style impact on an AttributeChanged is sometimes too severe

Categories

(Core :: CSS Parsing and Computation, defect, P3)

Sun
Solaris
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: mcafee, Assigned: peterl-retired)

References

Details

Style impact on an AttributeChanged is sometimes too severe. (e.g., the style impact assessment is sometimes reflow when it should only be render). This bug has come from http://bugzilla.mozilla.org/show_bug.cgi?id=3289.
I don't believe this to be the case in general. Can the reporter provide a specific example?
Adding Pink and Eric Vaughan to cc list. Guys, are the buttons still reflowing rather than simply re-rendering?
Assignee: rickg → peterl
Peter: please track this until we find the cause and can reassign.
eric can probably provide a better example (he knows the box code better than I), but if you turn off double buffering you can really see the impact of a rollover on the toolbars. Note that I haven't done this recently. I would now but my build is still building.
Due to the nature of the style rules applied to the buttons on rollover, a reflow is simply necessary. (The rules change border and padding widths, which require reflow to adjust the frames.) You can make the reflow go away by tweaking your CSS to avoid it. ie: don't change border width or padding for hover state. You can have the border present, just make it 'transparent', then turn the color on when hover is on. Reflow won't happen for color changes.
Can't argue with that. I guess the point is that even though the box may have to reflow, something should realized that (in this case) the box doesn't actually change size even though its children might. As a result, the reflow doesn't need to propagate out of the box and to the rest of the window. Maybe a notion of a more localized reflow is needed. If that is already there, maybe the box code isn't correctly picking up on it.
The reflow issue is already covered by bug 5399. The style change code is already targeting the "style change" reflow commands to the narrowest possible frame(s). (ie: if a parent needs to paint, but children need a reflow, only the children get the reflow). My understanding of the reflow code is that it already works the way you describe. I found a bug in the pres shell which is causing the full window repaint on each reflow, that sould be fixed soon, Kipp and Troy are on it (but again, that's bug 5399).
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → WORKSFORME
Whiteboard: Pending verification by reporter
I am unable to verify this bug as it is code related. Could the reporter please verify it WORKSFORME?
Status: RESOLVED → VERIFIED
ok, marking verified.
Whiteboard: Pending verification by reporter
Blocks: 3289
You need to log in before you can comment on or make changes to this bug.