Title: [131345] tags/Safari-537.15/Source/WebCore
Revision
131345
Author
lforsch...@apple.com
Date
2012-10-15 13:21:20 -0700 (Mon, 15 Oct 2012)

Log Message

Merged r131336.

Modified Paths

Diff

Modified: tags/Safari-537.15/Source/WebCore/ChangeLog (131344 => 131345)


--- tags/Safari-537.15/Source/WebCore/ChangeLog	2012-10-15 20:11:41 UTC (rev 131344)
+++ tags/Safari-537.15/Source/WebCore/ChangeLog	2012-10-15 20:21:20 UTC (rev 131345)
@@ -1,3 +1,23 @@
+2012-10-15  Lucas Forschler  <lforsch...@apple.com>
+
+    Merge r131336.
+
+    2012-10-15  Beth Dakin  <bda...@apple.com>
+
+            https://bugs.webkit.org/show_bug.cgi?id=99350
+            REGRESSION (r131238): Repro crash in 
+           WebCore::ScrollingStateTree::removeNode(WebCore::ScrollingStateNode*) 
+            opening pdf page
+            -and corresponding-
+            <rdar://problem/12499839>
+
+            Reviewed by Simon Fraser.
+
+            We have to null-check node here. It won't be found if  
+            clearStateTree() was recently called.
+            * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+            (WebCore::ScrollingCoordinatorMac::detachFromStateTree):
+
 2012-10-14  Sam Weinig  <s...@webkit.org>
 
         Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly

Modified: tags/Safari-537.15/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm (131344 => 131345)


--- tags/Safari-537.15/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2012-10-15 20:11:41 UTC (rev 131344)
+++ tags/Safari-537.15/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2012-10-15 20:21:20 UTC (rev 131345)
@@ -257,12 +257,16 @@
     if (!scrollLayerID)
         return;
 
+    // The node may not be found if clearStateTree() was recently called.
     ScrollingStateNode* node = m_stateNodeMap.take(scrollLayerID);
+    if (!node)
+        return;
+
     m_scrollingStateTree->removeNode(node);
 
     // ScrollingStateTree::removeNode() will destroy children, so we have to make sure we remove those children
     // from the HashMap.
-   const Vector<ScrollingNodeID>& removedNodes = m_scrollingStateTree->removedNodes();
+    const Vector<ScrollingNodeID>& removedNodes = m_scrollingStateTree->removedNodes();
     size_t size = removedNodes.size();
     for (size_t i = 0; i < size; ++i)
         m_stateNodeMap.remove(removedNodes[i]);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to