Properly detect top level frames when propogating compositing
Created attachment 125934 [details] Patch
This patch is intended to fix http://code.google.com/p/chromium/issues/detail?id=111643. A frame gets created from an <embed> video, but because enclosingFrameElement() returns 0, RenderLayerCompositor thinks it's the top-level frame, which is why only that frame ends up getting drawn in Chromium. This bug could also be fixed by adding yet another conditional to check for the embedTag to the enclosingFrameElement function, but I figured I'd just solve this more generally, rather than explicitly enumerating all tags that could create a frame.
Comment on attachment 125934 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=125934&action=review > Source/WebCore/ChangeLog:10 > + There's no need to enumerate all tag names when searching for a > + top-level frame. If a render view's document has a frame, then that > + frame is not the top-level one. This statement is not immediately obvious to me. Can you clarify?
(In reply to comment #3) > (From update of attachment 125934 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=125934&action=review > > > Source/WebCore/ChangeLog:10 > > + There's no need to enumerate all tag names when searching for a > > + top-level frame. If a render view's document has a frame, then that > > + frame is not the top-level one. > > This statement is not immediately obvious to me. Can you clarify? In this specific bug instance, there's a top-level Document and a child PluginDocument. I'm trying to say that the tag of the owning element for that child document is not relevant to whether or not that child document is that top-level document. Perhaps it would have been clearer to say "If a render view's document has an _owning element_, ...".
Comment on attachment 125934 [details] Patch R=me. Document.h says: // Returns the owning element in the parent document. // Returns 0 if this is the top level document. HTMLFrameOwnerElement* ownerElement() const; and no other code does this tag-matching.
Comment on attachment 125934 [details] Patch Clearing flags on attachment: 125934 Committed r107024: <http://trac.webkit.org/changeset/107024>
All reviewed patches have been landed. Closing bug.