Title: [127865] trunk
- Revision
- 127865
- Author
- [email protected]
- Date
- 2012-09-07 06:37:32 -0700 (Fri, 07 Sep 2012)
Log Message
[chromium] Dynamically removing preserve-3d from a layer has no effect
https://bugs.webkit.org/show_bug.cgi?id=95732
Patch by Sami Kyostila <[email protected]> on 2012-09-07
Reviewed by James Robinson.
Source/WebCore:
Fix removal of preserve-3d CSS attribute from a GraphicsLayerChromium.
It was broken by a refactor in http://trac.webkit.org/changeset/126378.
Test: platform/chromium/compositing/preserve-3d-toggle.html
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
LayoutTests:
Add test to verify dynamic removal of preserve-3d CSS attribute.
* platform/chromium/compositing/preserve-3d-toggle-expected.png: Added.
* platform/chromium/compositing/preserve-3d-toggle-expected.txt: Added.
* platform/chromium/compositing/preserve-3d-toggle.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (127864 => 127865)
--- trunk/LayoutTests/ChangeLog 2012-09-07 13:24:43 UTC (rev 127864)
+++ trunk/LayoutTests/ChangeLog 2012-09-07 13:37:32 UTC (rev 127865)
@@ -1,3 +1,16 @@
+2012-09-07 Sami Kyostila <[email protected]>
+
+ [chromium] Dynamically removing preserve-3d from a layer has no effect
+ https://bugs.webkit.org/show_bug.cgi?id=95732
+
+ Reviewed by James Robinson.
+
+ Add test to verify dynamic removal of preserve-3d CSS attribute.
+
+ * platform/chromium/compositing/preserve-3d-toggle-expected.png: Added.
+ * platform/chromium/compositing/preserve-3d-toggle-expected.txt: Added.
+ * platform/chromium/compositing/preserve-3d-toggle.html: Added.
+
2012-09-03 Alexander Pavlov <[email protected]>
Web Inspector: Implement SCSS source highlighter
Added: trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.png (0 => 127865)
--- trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.png (rev 0)
+++ trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.png 2012-09-07 13:37:32 UTC (rev 127865)
@@ -0,0 +1,8 @@
+\x89PNG
+
+
+IHDR X ' )tEXtchecksum 6b0ecc73552409651fdf34f695a73063\xFDh\xB1E
+\xC2IDATx\x9C\xED\xDC1\x83@A\x9F\xE5#^\xBE\x84D\xCEZ PUzɄ\xAD
+n\xCD\xCC \x80\xCE\xF7\xEE o#\xB0 b &\xB0 b &\xB0 b \xF6\xFB\xF7\xB0\xF6u\xE5\x8EG\x9B\xCD_b \xC0\xC9 &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b \xB6f\xE6\xEE
+ \xAF\xE2\x82 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 ; 7\x83
+\xABۡ\xA1\xE6 IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.txt (0 => 127865)
--- trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle-expected.txt 2012-09-07 13:37:32 UTC (rev 127865)
@@ -0,0 +1 @@
+
Added: trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle.html (0 => 127865)
--- trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle.html (rev 0)
+++ trunk/LayoutTests/platform/chromium/compositing/preserve-3d-toggle.html 2012-09-07 13:37:32 UTC (rev 127865)
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+
+<!--
+Check that removing the preserve-3d attribute from a layer has the intended
+effect. See https://bugs.webkit.org/show_bug.cgi?id=95732.
+
+Passing criteria: green box shown without any visible red.
+-->
+
+<html>
+<head>
+ <style type="text/css" media="screen">
+ body {
+ -webkit-perspective: 400px;
+ }
+
+ .transformed-container {
+ -webkit-transform-style: preserve-3d;
+ -webkit-transform: rotateX(90deg);
+ }
+
+ .reverse-transformed-child {
+ -webkit-transform: rotateX(-90deg);
+ }
+
+ .box {
+ width: 100px;
+ height: 100px;
+ }
+
+ .indicator {
+ background: red;
+ }
+
+ .test {
+ position: absolute;
+ -webkit-transform: translateZ(0);
+ background: green;
+ }
+ </style>
+
+ <script type="text/_javascript_">
+ function doTest() {
+ if (window.testRunner) {
+ window.testRunner.dumpAsText(true);
+ window.testRunner.waitUntilDone();
+ }
+ window.setTimeout(function() {
+ document.getElementById('container').style.webkitTransformStyle = 'flat';
+ if (window.testRunner)
+ window.testRunner.notifyDone();
+ }, 0);
+ }
+ window.addEventListener('load', doTest);
+ </script>
+</head>
+
+<body>
+ <div class="test box"></div>
+ <div id="container" class="transformed-container box">
+ <div class="reverse-transformed-child indicator box"></div>
+ </div>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (127864 => 127865)
--- trunk/Source/WebCore/ChangeLog 2012-09-07 13:24:43 UTC (rev 127864)
+++ trunk/Source/WebCore/ChangeLog 2012-09-07 13:37:32 UTC (rev 127865)
@@ -1,3 +1,18 @@
+2012-09-07 Sami Kyostila <[email protected]>
+
+ [chromium] Dynamically removing preserve-3d from a layer has no effect
+ https://bugs.webkit.org/show_bug.cgi?id=95732
+
+ Reviewed by James Robinson.
+
+ Fix removal of preserve-3d CSS attribute from a GraphicsLayerChromium.
+ It was broken by a refactor in http://trac.webkit.org/changeset/126378.
+
+ Test: platform/chromium/compositing/preserve-3d-toggle.html
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
2012-09-06 Alexander Pavlov <[email protected]>
Web Inspector: Implement SCSS source highlighter
Modified: trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp (127864 => 127865)
--- trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp 2012-09-07 13:24:43 UTC (rev 127864)
+++ trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp 2012-09-07 13:37:32 UTC (rev 127865)
@@ -752,8 +752,8 @@
m_transformLayer->addChild(m_layer->layer());
updateChildList();
- } else if (m_preserves3D && !m_transformLayer) {
- // Relace the transformLayer in the parent with this layer.
+ } else if (!m_preserves3D && m_transformLayer) {
+ // Replace the transformLayer in the parent with this layer.
m_layer->layer()->removeFromParent();
if (parent())
parent()->platformLayer()->replaceChild(m_transformLayer.get(), m_layer->layer());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes