Title: [164492] trunk
Revision
164492
Author
[email protected]
Date
2014-02-21 12:37:01 -0800 (Fri, 21 Feb 2014)

Log Message

Crash reloading page with position: fixed content
https://bugs.webkit.org/show_bug.cgi?id=129119
<rdar://problem/16127090>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::removeDestroyedNodes):
Check the node's ID against the latched node's ID before the node is
removed from the tree.

LayoutTests:

* platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (164491 => 164492)


--- trunk/LayoutTests/ChangeLog	2014-02-21 20:18:59 UTC (rev 164491)
+++ trunk/LayoutTests/ChangeLog	2014-02-21 20:37:01 UTC (rev 164492)
@@ -1,3 +1,14 @@
+2014-02-21  Jon Honeycutt  <[email protected]>
+
+        Crash reloading page with position: fixed content
+        https://bugs.webkit.org/show_bug.cgi?id=129119
+        <rdar://problem/16127090>
+
+        Reviewed by Brent Fulgham.
+
+        * platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
+        * platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.
+
 2014-02-21  Andrei Bucur  <[email protected]>
 
         [CSS Regions] Regions don't paint correctly in new-multicol elements

Added: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt (0 => 164492)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt	2014-02-21 20:37:01 UTC (rev 164492)
@@ -0,0 +1,2 @@
+WebKit bug #129119
+This test passes if it does not crash after reloading. To run manually, reload the page.

Added: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html (0 => 164492)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html	                        (rev 0)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html	2014-02-21 20:37:01 UTC (rev 164492)
@@ -0,0 +1,42 @@
+<head>
+    <style>
+        :first-of-type {
+            position: fixed;
+        }
+    </style>
+</head>
+
+<body>
+    <p>
+        WebKit bug #<a href=""
+    </p>
+    <p>
+        This test passes if it does not crash after reloading. To run manually, reload the page.
+    </p>
+</body>
+
+<script>
+function runTest()
+{
+    document.body.offetTop;
+
+    if (!window.sessionStorage)
+        return;
+
+    if (sessionStorage.testCompleted) {
+        delete sessionStorage.testCompleted;
+        if (window.testRunner)
+            testRunner.notifyDone();
+    } else {
+        sessionStorage.testCompleted = true;
+        window.location.reload(true);
+    }
+}
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+window.addEventListener('DOMContentLoaded', function() { window.setTimeout(runTest, 100) }, false);
+</script>

Modified: trunk/Source/WebCore/ChangeLog (164491 => 164492)


--- trunk/Source/WebCore/ChangeLog	2014-02-21 20:18:59 UTC (rev 164491)
+++ trunk/Source/WebCore/ChangeLog	2014-02-21 20:37:01 UTC (rev 164492)
@@ -1,3 +1,18 @@
+2014-02-21  Jon Honeycutt  <[email protected]>
+
+        Crash reloading page with position: fixed content
+        https://bugs.webkit.org/show_bug.cgi?id=129119
+        <rdar://problem/16127090>
+
+        Reviewed by Brent Fulgham.
+
+        Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html
+
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::removeDestroyedNodes):
+        Check the node's ID against the latched node's ID before the node is
+        removed from the tree.
+
 2014-02-21  Joseph Pecoraro  <[email protected]>
 
         Revert r164486, causing a number of test failures.

Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (164491 => 164492)


--- trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp	2014-02-21 20:18:59 UTC (rev 164491)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp	2014-02-21 20:37:01 UTC (rev 164492)
@@ -197,13 +197,13 @@
         if (!node)
             continue;
 
+        if (node->scrollingNodeID() == m_latchedNode)
+            clearLatchedNode();
+
         // Never destroy the root node. There will be a new root node in the state tree, and we will
         // associate it with our existing root node in updateTreeFromStateNode().
         if (node->parent())
             m_rootNode->removeChild(node);
-
-        if (node->scrollingNodeID() == m_latchedNode)
-            clearLatchedNode();
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to