Title: [244130] branches/safari-607-branch/Source/WebKit
- Revision
- 244130
- Author
- [email protected]
- Date
- 2019-04-10 10:11:23 -0700 (Wed, 10 Apr 2019)
Log Message
Cherry-pick r243562. rdar://problem/49725686
[ iOS Sim ] REGRESSION (r242277) Layout Test http/tests/cookies/same-site/lax-samesite-cookie-after-cross-site-history-load.php is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=195425
<rdar://problem/48682403>
Reviewed by Alex Christensen.
When process-swapping on history navigation, we lookup the WebProcessProxy we'd like to use from the
process identifier that is saved on the WebBackForwardListItem, to try and load the item in the process
in which it was previously loaded. However, we were failing to check if the WebProcess in question was
still running so we could potentially try to use a process that's already exited.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (244129 => 244130)
--- branches/safari-607-branch/Source/WebKit/ChangeLog 2019-04-10 17:11:21 UTC (rev 244129)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog 2019-04-10 17:11:23 UTC (rev 244130)
@@ -1,5 +1,41 @@
2019-04-09 Alan Coon <[email protected]>
+ Cherry-pick r243562. rdar://problem/49725686
+
+ [ iOS Sim ] REGRESSION (r242277) Layout Test http/tests/cookies/same-site/lax-samesite-cookie-after-cross-site-history-load.php is a flaky timeout
+ https://bugs.webkit.org/show_bug.cgi?id=195425
+ <rdar://problem/48682403>
+
+ Reviewed by Alex Christensen.
+
+ When process-swapping on history navigation, we lookup the WebProcessProxy we'd like to use from the
+ process identifier that is saved on the WebBackForwardListItem, to try and load the item in the process
+ in which it was previously loaded. However, we were failing to check if the WebProcess in question was
+ still running so we could potentially try to use a process that's already exited.
+
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::processForNavigationInternal):
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-03-27 Chris Dumez <[email protected]>
+
+ [ iOS Sim ] REGRESSION (r242277) Layout Test http/tests/cookies/same-site/lax-samesite-cookie-after-cross-site-history-load.php is a flaky timeout
+ https://bugs.webkit.org/show_bug.cgi?id=195425
+ <rdar://problem/48682403>
+
+ Reviewed by Alex Christensen.
+
+ When process-swapping on history navigation, we lookup the WebProcessProxy we'd like to use from the
+ process identifier that is saved on the WebBackForwardListItem, to try and load the item in the process
+ in which it was previously loaded. However, we were failing to check if the WebProcess in question was
+ still running so we could potentially try to use a process that's already exited.
+
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::processForNavigationInternal):
+
+2019-04-09 Alan Coon <[email protected]>
+
Cherry-pick r243848. rdar://problem/49725697
The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash
Modified: branches/safari-607-branch/Source/WebKit/UIProcess/WebProcessPool.cpp (244129 => 244130)
--- branches/safari-607-branch/Source/WebKit/UIProcess/WebProcessPool.cpp 2019-04-10 17:11:21 UTC (rev 244129)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/WebProcessPool.cpp 2019-04-10 17:11:23 UTC (rev 244130)
@@ -2226,18 +2226,20 @@
}
if (RefPtr<WebProcessProxy> process = WebProcessProxy::processForIdentifier(targetItem->lastProcessIdentifier())) {
- // FIXME: Architecturally we do not currently support multiple WebPage's with the same ID in a given WebProcess.
- // In the case where this WebProcess has a SuspendedPageProxy for this WebPage, we can throw it away to support
- // WebProcess re-use.
- removeAllSuspendedPagesForPage(page, process.get());
+ if (process->state() != WebProcessProxy::State::Terminated) {
+ // FIXME: Architecturally we do not currently support multiple WebPage's with the same ID in a given WebProcess.
+ // In the case where this WebProcess has a SuspendedPageProxy for this WebPage, we can throw it away to support
+ // WebProcess re-use.
+ removeAllSuspendedPagesForPage(page, process.get());
- // Make sure we remove the process from the cache if it is in there since we're about to use it.
- if (process->isInProcessCache()) {
- auto removedProcess = webProcessCache().takeProcess(process->registrableDomain(), process->websiteDataStore());
- ASSERT_UNUSED(removedProcess, removedProcess.get() == process.get());
+ // Make sure we remove the process from the cache if it is in there since we're about to use it.
+ if (process->isInProcessCache()) {
+ auto removedProcess = webProcessCache().takeProcess(process->registrableDomain(), process->websiteDataStore());
+ ASSERT_UNUSED(removedProcess, removedProcess.get() == process.get());
+ }
+
+ return completionHandler(process.releaseNonNull(), nullptr, "Using target back/forward item's process"_s);
}
-
- return completionHandler(process.releaseNonNull(), nullptr, "Using target back/forward item's process"_s);
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes