Title: [110718] trunk/Source/WebCore
Revision
110718
Author
[email protected]
Date
2012-03-14 11:29:32 -0700 (Wed, 14 Mar 2012)

Log Message

Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
https://bugs.webkit.org/show_bug.cgi?id=80301

Patch by Zalan Bujtas <[email protected]> on 2012-03-14
Reviewed by Antti Koivisto.

Reorganize RenderIFrame flattenFrame() code, so that it returns
earlier for the normal use case, when frame flattening is disabled.
It also removes leftover null check.

No new tests, since there's no new functionality.

* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::flattenFrame):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (110717 => 110718)


--- trunk/Source/WebCore/ChangeLog	2012-03-14 18:16:49 UTC (rev 110717)
+++ trunk/Source/WebCore/ChangeLog	2012-03-14 18:29:32 UTC (rev 110718)
@@ -1,3 +1,19 @@
+2012-03-14  Zalan Bujtas  <[email protected]>
+
+        Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
+        https://bugs.webkit.org/show_bug.cgi?id=80301
+
+        Reviewed by Antti Koivisto.
+
+        Reorganize RenderIFrame flattenFrame() code, so that it returns
+        earlier for the normal use case, when frame flattening is disabled.
+        It also removes leftover null check.
+
+        No new tests, since there's no new functionality.
+
+        * rendering/RenderIFrame.cpp:
+        (WebCore::RenderIFrame::flattenFrame):
+
 2012-03-14  James Robinson  <[email protected]>
 
         [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas

Modified: trunk/Source/WebCore/rendering/RenderIFrame.cpp (110717 => 110718)


--- trunk/Source/WebCore/rendering/RenderIFrame.cpp	2012-03-14 18:16:49 UTC (rev 110717)
+++ trunk/Source/WebCore/rendering/RenderIFrame.cpp	2012-03-14 18:29:32 UTC (rev 110718)
@@ -85,25 +85,21 @@
         return false;
 
     HTMLIFrameElement* element = static_cast<HTMLIFrameElement*>(node());
-    bool isScrollable = element->scrollingMode() != ScrollbarAlwaysOff;
+    Frame* frame = element->document()->frame();
 
+    bool enabled = frame && frame->settings() && frame->settings()->frameFlatteningEnabled();
+
+    if (!enabled || !frame->page())
+        return false;
+
     if (style()->width().isFixed() && style()->height().isFixed()) {
-        if (!isScrollable)
+        // Do not flatten iframes with scrolling="no".
+        if (element->scrollingMode() == ScrollbarAlwaysOff)
             return false;
         if (style()->width().value() <= 0 || style()->height().value() <= 0)
             return false;
     }
 
-    Frame* frame = element->document()->frame();
-    bool enabled = frame && frame->settings() && frame->settings()->frameFlatteningEnabled();
-
-    if (!enabled || !frame->page())
-        return false;
-
-    FrameView* view = frame->page()->mainFrame()->view();
-    if (!view)
-        return false;
-
     // Do not flatten offscreen inner frames during frame flattening, as flattening might make them visible.
     IntRect boundingRect = absoluteBoundingBoxRectIgnoringTransforms();
     return boundingRect.maxX() > 0 && boundingRect.maxY() > 0;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to