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