Title: [107024] trunk/Source/WebCore
Revision
107024
Author
e...@google.com
Date
2012-02-07 18:47:50 -0800 (Tue, 07 Feb 2012)

Log Message

Properly detect top level frames when propogating compositing
https://bugs.webkit.org/show_bug.cgi?id=78033

Reviewed by James Robinson.

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.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (107023 => 107024)


--- trunk/Source/WebCore/ChangeLog	2012-02-08 02:21:04 UTC (rev 107023)
+++ trunk/Source/WebCore/ChangeLog	2012-02-08 02:47:50 UTC (rev 107024)
@@ -1,3 +1,19 @@
+2012-02-07  Adrienne Walker  <e...@google.com>
+
+        Properly detect top level frames when propogating compositing
+        https://bugs.webkit.org/show_bug.cgi?id=78033
+
+        Reviewed by James Robinson.
+
+        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.
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
+        * rendering/RenderLayerCompositor.h:
+        (RenderLayerCompositor):
+
 2012-02-07  Chris Palmer  <pal...@google.com>
 
         Resolve crash in FrameLoader::checkTimerFired.

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (107023 => 107024)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2012-02-08 02:21:04 UTC (rev 107023)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2012-02-08 02:47:50 UTC (rev 107024)
@@ -1261,7 +1261,7 @@
     // Parent document content needs to be able to render on top of a composited frame, so correct behavior
     // is to have the parent document become composited too. However, this can cause problems on platforms that
     // use native views for frames (like Mac), so disable that behavior on those platforms for now.
-    HTMLFrameOwnerElement* ownerElement = enclosingFrameElement();
+    HTMLFrameOwnerElement* ownerElement = m_renderView->document()->ownerElement();
     RenderObject* renderer = ownerElement ? ownerElement->renderer() : 0;
 
     // If we are the top-level frame, don't propagate.
@@ -1292,14 +1292,6 @@
     return false;
 }
 
-HTMLFrameOwnerElement* RenderLayerCompositor::enclosingFrameElement() const
-{
-    if (HTMLFrameOwnerElement* ownerElement = m_renderView->document()->ownerElement())
-        return (ownerElement->hasTagName(iframeTag) || ownerElement->hasTagName(frameTag) || ownerElement->hasTagName(objectTag)) ? ownerElement : 0;
-
-    return 0;
-}
-
 bool RenderLayerCompositor::needsToBeComposited(const RenderLayer* layer) const
 {
     if (!canBeComposited(layer))

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.h (107023 => 107024)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.h	2012-02-08 02:21:04 UTC (rev 107023)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.h	2012-02-08 02:47:50 UTC (rev 107024)
@@ -178,8 +178,6 @@
     static bool allowsIndependentlyCompositedFrames(const FrameView*);
     bool shouldPropagateCompositingToEnclosingFrame() const;
 
-    HTMLFrameOwnerElement* enclosingFrameElement() const;
-
     static RenderLayerCompositor* frameContentsCompositor(RenderPart*);
     // Return true if the layers changed.
     static bool parentFrameContentLayers(RenderPart*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to