Title: [171211] trunk/Source/WebKit2
Revision
171211
Author
[email protected]
Date
2014-07-17 19:16:00 -0700 (Thu, 17 Jul 2014)

Log Message

REGRESSION (r171167): LoaderClient processDidCrash call is made after load state changes
https://bugs.webkit.org/show_bug.cgi?id=135032
<rdar://problem/17716602>

Reviewed by Dan Bernstein.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidCrash): Create a transaction, so that the nested
transaction in resetStateAfterProcessExited() wouldn't be committed.
(WebKit::WebPageProxy::resetStateAfterProcessExited): Don't use auto - it was hiding
the most important fact that this is a stack object that can't be simply moved to
a different function.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (171210 => 171211)


--- trunk/Source/WebKit2/ChangeLog	2014-07-18 01:56:12 UTC (rev 171210)
+++ trunk/Source/WebKit2/ChangeLog	2014-07-18 02:16:00 UTC (rev 171211)
@@ -1,3 +1,18 @@
+2014-07-17  Alexey Proskuryakov  <[email protected]>
+
+        REGRESSION (r171167): LoaderClient processDidCrash call is made after load state changes
+        https://bugs.webkit.org/show_bug.cgi?id=135032
+        <rdar://problem/17716602>
+
+        Reviewed by Dan Bernstein.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::processDidCrash): Create a transaction, so that the nested
+        transaction in resetStateAfterProcessExited() wouldn't be committed.
+        (WebKit::WebPageProxy::resetStateAfterProcessExited): Don't use auto - it was hiding
+        the most important fact that this is a stack object that can't be simply moved to
+        a different function.
+
 2014-07-17  Benjamin Poulain  <[email protected]>
 
         [iOS][WK2] Fix the updateVisibleContentRects synchronization for load after r171154

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (171210 => 171211)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-07-18 01:56:12 UTC (rev 171210)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-07-18 02:16:00 UTC (rev 171211)
@@ -4274,6 +4274,9 @@
 {
     ASSERT(m_isValid);
 
+    // There is a nested transaction in resetStateAfterProcessExited() that we don't want to commit before the client call.
+    PageLoadState::Transaction transaction = m_pageLoadState.transaction();
+
     resetStateAfterProcessExited();
 
     m_loaderClient->processDidCrash(this);
@@ -4431,7 +4434,7 @@
     m_pageClient.dismissDictionaryLookupPanel();
 #endif
 
-    auto transaction = m_pageLoadState.transaction();
+    PageLoadState::Transaction transaction = m_pageLoadState.transaction();
     m_pageLoadState.reset(transaction);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to