[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