Title: [117892] releases/WebKitGTK/webkit-1.8
- Revision
- 117892
- Author
- [email protected]
- Date
- 2012-05-21 20:36:56 -0700 (Mon, 21 May 2012)
Log Message
Merge 113284 - Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=82994
Reviewed by James Robinson.
Fix an issue when removing elements with reflections from the document.
Test: compositing/reflections/remove-reflection.html
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::willBeDestroyed):
LayoutTests: REGRESSION(112939): compositing/reflections/backface-hidden-reflection.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=82994
Reviewed by James Robinson.
Test that removes reflected elements.
* compositing/reflections/remove-reflection-expected.txt: Added.
* compositing/reflections/remove-reflection.html: Added.
Conflicts:
Source/WebCore/platform/graphics/GraphicsLayer.cpp
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog (117891 => 117892)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog 2012-05-22 03:36:25 UTC (rev 117891)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog 2012-05-22 03:36:56 UTC (rev 117892)
@@ -1,3 +1,15 @@
+2012-04-04 Simon Fraser <[email protected]>
+
+ REGRESSION(112939): compositing/reflections/backface-hidden-reflection.html is crashing
+ https://bugs.webkit.org/show_bug.cgi?id=82994
+
+ Reviewed by James Robinson.
+
+ Test that removes reflected elements.
+
+ * compositing/reflections/remove-reflection-expected.txt: Added.
+ * compositing/reflections/remove-reflection.html: Added.
+
2012-04-02 Simon Fraser <[email protected]>
Fix issue with reflections and composited layers
Added: releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection-expected.txt (0 => 117892)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection-expected.txt 2012-05-22 03:36:56 UTC (rev 117892)
@@ -0,0 +1 @@
+Test passes if it did not crash
Added: releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection.html (0 => 117892)
--- releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection.html (rev 0)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/compositing/reflections/remove-reflection.html 2012-05-22 03:36:56 UTC (rev 117892)
@@ -0,0 +1,26 @@
+<style>
+* {
+ -webkit-box-reflect: below 2px;
+}
+
+.composited {
+ -webkit-transform-style: preserve-3d;
+}
+</style>
+
+<div>Test</div>
+<div class="composited">Test</div>
+<div>Test</div>
+<div>Test</div>
+
+<script>
+
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+window._onload_ = function() {
+ document.execCommand("SelectAll", false, false)
+ window.getSelection().getRangeAt(0).deleteContents();
+ document.body.innerHTML = 'Test passes if it did not crash';
+};
+</script>
Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog (117891 => 117892)
--- releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog 2012-05-22 03:36:25 UTC (rev 117891)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog 2012-05-22 03:36:56 UTC (rev 117892)
@@ -1,3 +1,16 @@
+2012-04-04 Simon Fraser <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=82994
+
+ Reviewed by James Robinson.
+
+ Fix an issue when removing elements with reflections from the document.
+
+ Test: compositing/reflections/remove-reflection.html
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::willBeDestroyed):
+
2012-04-02 Simon Fraser <[email protected]>
Fix issue with reflections and composited layers
Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp (117891 => 117892)
--- releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp 2012-05-22 03:36:25 UTC (rev 117891)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp 2012-05-22 03:36:56 UTC (rev 117892)
@@ -97,6 +97,14 @@
GraphicsLayer::~GraphicsLayer()
{
ASSERT(!s_inPaintContents);
+ ASSERT(!m_parent); // willBeDestroyed should have been called already.
+}
+
+void GraphicsLayer::willBeDestroyed()
+{
+ if (m_replicaLayer)
+ m_replicaLayer->setReplicatedLayer(0);
+
if (m_replicatedLayer)
m_replicatedLayer->setReplicatedByLayer(0);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes