[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

simon.fraser at apple.com simon.fraser at apple.com
Wed Dec 22 11:28:34 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit de50325b4e4e54b36ed1823e61410525fa2f630f
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jul 26 21:41:41 2010 +0000

    2010-07-26  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Anders Carlsson.
    
            Gmail compose is upside-down after r64054
            https://bugs.webkit.org/show_bug.cgi?id=43000
    
            We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
            not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
            correctly.
    
            Test: compositing/iframes/iframe-content-flipping.html
    
            * rendering/RenderLayerCompositor.cpp:
            (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9532068..405afa7 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-07-26  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Gmail compose is upside-down after r64054
+        https://bugs.webkit.org/show_bug.cgi?id=43000
+        
+        Testcase that hooks up compositing layers across the iframe boundary, and tests
+        whether the iframe contents are right way up.
+
+        * compositing/iframes/iframe-content-flipping-expected.checksum: Added.
+        * compositing/iframes/iframe-content-flipping-expected.png: Added.
+        * compositing/iframes/iframe-content-flipping-expected.txt: Added.
+        * compositing/iframes/iframe-content-flipping.html: Added.
+        * compositing/iframes/resources/red-green-subframe.html: Added.
+
 2010-07-26  Justin Schuh  <jschuh at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/LayoutTests/compositing/iframes/iframe-content-flipping-expected.checksum b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.checksum
new file mode 100644
index 0000000..5abf14d
--- /dev/null
+++ b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.checksum
@@ -0,0 +1 @@
+da70a9654f40a26fef426263abc69778
\ No newline at end of file
diff --git a/LayoutTests/compositing/iframes/iframe-content-flipping-expected.png b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.png
new file mode 100644
index 0000000..6c06c19
Binary files /dev/null and b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.png differ
diff --git a/LayoutTests/compositing/iframes/iframe-content-flipping-expected.txt b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.txt
new file mode 100644
index 0000000..b7a2380
--- /dev/null
+++ b/LayoutTests/compositing/iframes/iframe-content-flipping-expected.txt
@@ -0,0 +1,17 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x262
+  RenderBlock {HTML} at (0,0) size 800x262
+    RenderBody {BODY} at (8,8) size 784x246
+      RenderText {#text} at (0,0) size 0x0
+layer at (28,28) size 202x202
+  RenderPartObject {IFRAME} at (20,20) size 202x202 [border: (1px solid #000000)]
+    layer at (0,0) size 200x400
+      RenderView at (0,0) size 200x200
+    layer at (0,0) size 200x400
+      RenderBlock {HTML} at (0,0) size 200x400
+        RenderBody {BODY} at (0,0) size 200x400
+    layer at (0,0) size 200x200
+      RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#008000]
+    layer at (0,200) size 200x200
+      RenderBlock {DIV} at (0,200) size 200x200 [bgcolor=#FF0000]
diff --git a/LayoutTests/compositing/iframes/iframe-content-flipping.html b/LayoutTests/compositing/iframes/iframe-content-flipping.html
new file mode 100644
index 0000000..07f1b4a
--- /dev/null
+++ b/LayoutTests/compositing/iframes/iframe-content-flipping.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+  <style type="text/css" media="screen">
+    iframe {
+        margin: 20px;
+        height: 200px;
+        width: 200px;
+        border: 1px solid black;
+    }
+    
+    .composited {
+      -webkit-transform: translateZ(0);
+    }
+    
+  </style>
+  <script type="text/javascript" charset="utf-8">
+    function doTest()
+    {
+      if (window.layoutTestController)
+        layoutTestController.display();
+
+      document.getElementById('iframe').className = 'composited';
+    }
+    
+    window.addEventListener('load', doTest, false);
+  </script>
+</head>
+<body>
+
+    <!-- Test with already-composited iframe contents, and iframe itself composited. -->
+    <!-- You should see a green square, no red. -->
+    <iframe id="iframe" scrolling="no" src="resources/red-green-subframe.html"></iframe>
+    
+</body>
+</html>
diff --git a/LayoutTests/compositing/iframes/resources/red-green-subframe.html b/LayoutTests/compositing/iframes/resources/red-green-subframe.html
new file mode 100644
index 0000000..715386f
--- /dev/null
+++ b/LayoutTests/compositing/iframes/resources/red-green-subframe.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+  <style type="text/css" media="screen">
+    body {
+      margin: 0;
+    }
+    
+    .box {
+        height: 200px;
+        width: 200px;
+        -webkit-transform: translateZ(0);
+    }
+    .box:hover {
+        -webkit-transform: none;
+    }
+  </style>
+</head>
+<body>
+
+    <div class="box" style="background-color: green;"></div>
+    <div class="box" style="background-color: red;"></div>
+
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 61f50c8..10f6210 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-07-26  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Gmail compose is upside-down after r64054
+        https://bugs.webkit.org/show_bug.cgi?id=43000
+        
+        We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
+        not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
+        correctly.
+
+        Test: compositing/iframes/iframe-content-flipping.html
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+
 2010-07-26  Justin Schuh  <jschuh at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp
index f536a66..51f70bb 100644
--- a/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/WebCore/rendering/RenderLayerCompositor.cpp
@@ -1325,12 +1325,12 @@ void RenderLayerCompositor::ensureRootPlatformLayer()
             m_scrollLayer->removeAllChildren();
             m_scrollLayer = 0;
         }
-
-        // The root layer does geometry flipping if we need it.
-        m_rootPlatformLayer->setGeometryOrientation(expectedAttachment == RootLayerAttachedViaEnclosingIframe
-            ? GraphicsLayer::CompositingCoordinatesTopDown : GraphicsLayer::compositingCoordinatesOrientation());
     }
 
+    // The root layer does geometry flipping if we need it.
+    m_rootPlatformLayer->setGeometryOrientation(expectedAttachment == RootLayerAttachedViaEnclosingIframe
+        ? GraphicsLayer::CompositingCoordinatesTopDown : GraphicsLayer::compositingCoordinatesOrientation());
+
     // Check to see if we have to change the attachment
     if (m_rootLayerAttachment != RootLayerUnattached)
         detachRootPlatformLayer();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list