The video control bar shows up in the wrong location when you dynamically add a reflection, say on hover.
Created attachment 29297 [details] Testcase: hover over the video
Same bug happens with opacity. Seems to be related to the video element getting a layer.
The problem here is that RenderMedia lies about the RenderObject hierarchy. It overrides RenderMedia::children() to return the children of the m_controlsShadowRoot renderer, thus skipping that renderer itself. This confuses RenderLayer::insertOnlyThisLayer(), which iterates through its child renderers, calling RenderObject::moveLayers() on each one. For RenderMedia, this finds the wrong renderers (which is important because the m_controlsShadowRoot has a layer!). If we actually add the m_controlsShadowRoot renderer as a child of the RenderMedia, and don't like about the render hierarchy, it works fine. Antti, was there a reason for faking the renderer hierarchy here?
Simon, I think you should ask Hyatt who did that change.
Probably just a mistake.
Those changes came from r28397: http://trac.webkit.org/changeset/28397#file11
No they are not. They are from http://trac.webkit.org/changeset/40461.
Ah, right. Dave, can you explain what you did here? http://trac.webkit.org/changeset/40461/trunk/WebCore/rendering/RenderMedia.cpp
Created attachment 29598 [details] Patch, testcase, changelog
Comment on attachment 29598 [details] Patch, testcase, changelog r=me
http://trac.webkit.org/changeset/42651