Closed Bug 11290 Opened 25 years ago Closed 25 years ago

Underlining on :hover/:active triggers a reflow

Categories

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

All
Other
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: allen.sam, Assigned: peterl-retired)

References

()

Details

(Whiteboard: [testcase])

Attachments

(3 files)

Changing (either with :hover or :active) the text-decoration of a link that is within a heavily nested table is very slow. (This makes me think that changing an element's text-decoration could be triggering an unnecessary reflow -- which would explain why performance only suffers in complex table layouts.) I think this is a table bug because I can't reproduce it with heavily nested divs. Mouse over the headers in the URL to see a real-life example.
Whiteboard: [testcase]
Attached file Testcase -- mouse over the link (deleted) —
Assignee: karnaze → troy
It seems ok to me. Troy, if your latest changes to incremental table reflow didn't fixed this and you don't want it, please reassign to me.
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → REMIND
Marking it REMIND and will re-evaluate it when incremental reflow is fully optimized
Status: RESOLVED → VERIFIED
Verified remind
Summary: Underlines within heavily nested tables are slow → Underlining on :hover/:active triggers a reflow
Updated URL, summary
Status: VERIFIED → REOPENED
Status: REOPENED → ASSIGNED
Assignee: troy → peterl
Status: ASSIGNED → NEW
Peter, assigning to you so you can resolve the issue of whether a:hover{text-decoration: underline} should cause a reflow. It would be nice if we just repainted Please assign it back to me after commenting on the issue of whether we should reflow, so I can deal with the performance issue of table incremental reflow
Resolution: REMIND → ---
Assignee: peterl → troy
I have a fix for the fact that reflow is being called, now we just repaint. Will check it in as soon as the tree opens (I can mail you diffs if you need them). I'm also concerned by the fact that the incremental reflow actually resized the table cell. I think that's a seperate bug, the incremental reflow should have computed the same width as the initial reflow (or vice-versa) since noew of the text metrics changed.
Status: NEW → ASSIGNED
Thanks. Yes, it's bad that we do too much reflow. That's a complicated issue that I'm working on optimizing.
Peter, incremental reflow does compute the same width. The problem is that because we don't know whether the preferred width (pass1 size) has changed we need to reflow the cell a second time to determine that. Then we reflow the cell a third time in order to reflow it back to the width of the column That's all getting improved fortunately
Peter, is your change checked in yet? I'm still seeing the problem in the attachment where the mouse over is causing a reflow
Assignee: troy → peterl
Status: ASSIGNED → NEW
Component: HTMLTables → Style System
Peter, this is still a problem. Look at the minimized testcase (08/04/99 19:37), and you'll see that changing the 'text-decoration' to 'underline' causes a reflow I tried an even simpler test case that doesn't involve tables and the problem still happens, so it doesn't appear to be table specific Changing component to style sytem and reassigning, because there's not much I can do with the bug
I think bug #12265 might be a good test case of this, since the reflow has a visible effect.
Hardware: Other → All
No, I don't think this is a dup of bug 3289. This is a cross platform bug that is highly specific, while bug 3289 is linux-only. From what I can tell bug 12265 has nothing to do with this issue
I'm not sure it is a Linux-specific bug as the platform field is often not updated. Notice that a bug was spun off it with a platform of "Solaris". This may even trace back as far as bug #1482. Anyway, there were comments in that bug about toolbar button mouseovers, so I've commented there now too just in case, we'll see what people say.
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Verified fixed; the testcases no longer cause reflows, and instead only cause repaints. The links on the URLs ("http://www.geeknews.net/" and "http://www.fgnonline.com/") now respond to :hover much faster
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: