Closed
Bug 1013054
Opened 10 years ago
Closed 9 years ago
Incorrect invalidation with CSS transform and iframe
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: billm, Assigned: roc)
References
()
Details
Attachments
(1 file)
4.37 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
If you visit the URL given here, then an iframe with some text will appear. If you click in the iframe, the text should scroll by a fixed amount. More clicking should cause more scrolling. The scrolling is done through CSS "transform: translateY(100px)", and the style is modified by a JS event handler. What happens to me with basic layers, as well as the basic compositor, is that the scrolling sometimes is delayed. Often, I'll click and nothing will happen. But then if I move the cursor out of the content area, the scrolling will happen. I suspect this may be an invalidation bug. Interestingly, if I have the web console open, the scrolling always happens right away. Maybe because we invalidate the whole screen when updating the console? I hope this isn't just a bug in my HTML. However, it works fine in Chrome, and Firefox's behavior is really strange, so I figure I should file.
Assignee | ||
Comment 1•9 years ago
|
||
Here's what happens: 1) Transform change triggers a style change with nsChangeHint_UpdateTransformLayer for the <body> element 2) ApplyRenderingChangeToTree maps the change hint to the nsCanvasFrame because "If the frame's background is propagated to an ancestor, walk up to that ancestor." 3) In DoApplyRenderingChangeToTree the change hint is ignored because the nsCanvasFrame is not transformed. Step 2 is incorrect here, at least for transform hints.
Assignee | ||
Comment 2•9 years ago
|
||
Assignee: nobody → roc
Attachment #8454406 -
Flags: review?(matt.woodrow)
Reporter | ||
Comment 3•9 years ago
|
||
Thanks Rob!
Updated•9 years ago
|
Attachment #8454406 -
Flags: review?(matt.woodrow) → review+
Comment 4•9 years ago
|
||
Backed out for failures in the test landed here, on Windows: https://tbpl.mozilla.org/php/getParsedLog.php?id=44281159&tree=Mozilla-Inbound https://tbpl.mozilla.org/php/getParsedLog.php?id=44281078&tree=Mozilla-Inbound remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/847187402f4e
Assignee | ||
Comment 5•9 years ago
|
||
Relanded with some padding to avoid antialiasing froth: https://hg.mozilla.org/integration/mozilla-inbound/rev/a0ffaeafbe7e
Comment 6•9 years ago
|
||
sorry had to backout this change for reftest failures on windows like https://tbpl.mozilla.org/php/getParsedLog.php?id=44332091&tree=Mozilla-Inbound
Assignee | ||
Comment 7•9 years ago
|
||
Sorry!
Assignee | ||
Comment 8•9 years ago
|
||
Latest try push shows a one-pixel error on Windows XP only. I cannot reproduce this locally (with Direct2D/D3D disabled on Windows 7). I'll fuzz it.
Assignee | ||
Comment 9•9 years ago
|
||
http://hg.mozilla.org/integration/mozilla-inbound/rev/aab324210e8d
Comment 10•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/aab324210e8d
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in
before you can comment on or make changes to this bug.
Description
•