Summary: | Redraw problem on elements above a playing video element | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Andrew Smith <andrew> | ||||
Component: | Layout and Rendering | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | ASSIGNED --- | ||||||
Severity: | Normal | CC: | eric.carlson, jer.noble, simon.fraser, stead.mike | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Mac (Intel) | ||||||
OS: | OS X 10.6 | ||||||
URL: | http://gist.github.com/629104 | ||||||
Attachments: |
|
Description
Andrew Smith
2010-10-15 16:10:27 PDT
Thanks for the report, and the nice testcase. An easy workaround is to add z-index:0 to #controls. The bug is that RenderLayerBacking::updateAfterLayout() doesn't actually update layer geometry for the layer itself; it relies on updateCompositingDescendantGeometry() being called on some z-order ancestor; this was a fix for bug 26430. However, the isUpdateRoot flag is sent in from RenderLayer::updateLayerPositions(), which uses parentage, rather than z-order hierarchy to determine if it's the root. Created attachment 108253 [details]
Example rendering issue when updating css of element with overflow:hidden while sitting over video
I've been debugging this issue recently and have another supporting test file which may be helpful when testing the fix.
Simply click the track to move the thumb to the point clicked. Inspecting the dom shows the thumb is in the new position but visually is still rendered in its old position. Clicking the track again will render the thumb in the previous position but move its dom position to the new one i.e. it's aways one step behind.
Can't test the attachment because it uses theora video. (In reply to comment #6) > Can't test the attachment because it uses theora video. Sorry, that was the only free video I could find at the time. It will run fine under Chrome, just not Safari. You'll need to provide your own video under safari but the bug manifests the the same under both. |