Skip to content

Commit

Permalink
REGRESSION (255929@main): Some Facebook links cannot be opened in Safari
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=247351
rdar://101818726

Reviewed by Tim Horton and John Wilander.

Guard the new call to `WebFrameProxy::swapToProcess()` (which is currently a no-op) behind the
experimental `SiteIsolationEnabled` feature flag.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):

Canonical link: https://commits.webkit.org/256213@main
  • Loading branch information
whsieh committed Nov 2, 2022
1 parent 2b20e33 commit 495019c
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions Source/WebKit/UIProcess/WebPageProxy.cpp
Expand Up @@ -3763,13 +3763,13 @@ void WebPageProxy::continueNavigationInNewProcess(API::Navigation& navigation, W
RefPtr websitePolicies = navigation.websitePolicies();
bool isServerSideRedirect = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::YesAfterNavigationPolicyDecision && navigation.currentRequestIsRedirect();
bool isProcessSwappingOnNavigationResponse = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::YesAfterProvisionalLoadStarted;
if (frame.isMainFrame())
m_provisionalPage = makeUnique<ProvisionalPageProxy>(*this, WTFMove(newProcess), WTFMove(suspendedPage), navigation.navigationID(), isServerSideRedirect, navigation.currentRequest(), processSwapRequestedByClient, isProcessSwappingOnNavigationResponse, websitePolicies.get());
else {
if (!frame.isMainFrame() && preferences().siteIsolationEnabled()) {
frame.swapToProcess(WTFMove(newProcess));
return;
}

m_provisionalPage = makeUnique<ProvisionalPageProxy>(*this, WTFMove(newProcess), WTFMove(suspendedPage), navigation.navigationID(), isServerSideRedirect, navigation.currentRequest(), processSwapRequestedByClient, isProcessSwappingOnNavigationResponse, websitePolicies.get());

auto continuation = [this, protectedThis = Ref { *this }, navigation = Ref { navigation }, shouldTreatAsContinuingLoad, websitePolicies = WTFMove(websitePolicies), existingNetworkResourceLoadIdentifierToResume]() mutable {
if (auto* item = navigation->targetItem()) {
LOG(Loading, "WebPageProxy %p continueNavigationInNewProcess to back item URL %s", this, item->url().utf8().data());
Expand Down

0 comments on commit 495019c

Please sign in to comment.