Diff
Modified: trunk/Source/WebKit/ChangeLog (262486 => 262487)
--- trunk/Source/WebKit/ChangeLog 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/ChangeLog 2020-06-03 15:37:49 UTC (rev 262487)
@@ -1,3 +1,23 @@
+2020-06-03 Alex Christensen <[email protected]>
+
+ Pass WebPageProxyIdentifier to PreconnectTask
+ https://bugs.webkit.org/show_bug.cgi?id=212648
+
+ Reviewed by Chris Dumez.
+
+ Otherwise, AuthenticationManager::didReceiveAuthenticationChallenge sometimes returned early because there was no pageID.
+ Observed connecting to real websites from my home wifi. Unable to test using local servers because connecting happens too fast.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::preconnectTo):
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkProcess.messages.in:
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::preconnectTo):
+ * UIProcess/Network/NetworkProcessProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::preconnectTo):
+
2020-06-03 Rob Buis <[email protected]>
Make generated C++ code use modern C++
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (262486 => 262487)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2020-06-03 15:37:49 UTC (rev 262487)
@@ -1397,7 +1397,7 @@
}
}
-void NetworkProcess::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
+void NetworkProcess::preconnectTo(PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
#if ENABLE(SERVER_PRECONNECT)
#if ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER)
@@ -1407,6 +1407,8 @@
NetworkLoadParameters parameters;
parameters.request = ResourceRequest { url };
+ parameters.webPageProxyID = webPageProxyID;
+ parameters.webPageID = webPageID;
parameters.isNavigatingToAppBoundDomain = isNavigatingToAppBoundDomain;
if (!userAgent.isEmpty()) {
// FIXME: we add user-agent to the preconnect request because otherwise the preconnect
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (262486 => 262487)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2020-06-03 15:37:49 UTC (rev 262487)
@@ -276,7 +276,7 @@
using CacheStorageRootPathCallback = CompletionHandler<void(String&&)>;
void cacheStorageRootPath(PAL::SessionID, CacheStorageRootPathCallback&&);
- void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
+ void preconnectTo(PAL::SessionID, WebPageProxyIdentifier, WebCore::PageIdentifier, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
void setSessionIsControlledByAutomation(PAL::SessionID, bool);
bool sessionIsControlledByAutomation(PAL::SessionID) const;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (262486 => 262487)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2020-06-03 15:37:49 UTC (rev 262487)
@@ -80,7 +80,7 @@
PrepareToSuspend(bool isSuspensionImminent) -> () Async
ProcessDidResume()
- PreconnectTo(PAL::SessionID sessionID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain);
+ PreconnectTo(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain);
#if ENABLE(RESOURCE_LOAD_STATISTICS)
ClearPrevalentResource(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () Async
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (262486 => 262487)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2020-06-03 15:37:49 UTC (rev 262487)
@@ -1470,11 +1470,11 @@
sendWithAsyncReply(Messages::NetworkProcess::GetLocalStorageOriginDetails(sessionID), WTFMove(completionHandler));
}
-void NetworkProcessProxy::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
+void NetworkProcessProxy::preconnectTo(PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
if (!url.isValid() || !url.protocolIsInHTTPFamily() || SecurityOrigin::isLocalHostOrLoopbackIPAddress(url.host()))
return;
- send(Messages::NetworkProcess::PreconnectTo(sessionID, url, userAgent, storedCredentialsPolicy, isNavigatingToAppBoundDomain), 0);
+ send(Messages::NetworkProcess::PreconnectTo(sessionID, webPageProxyID, webPageID, url, userAgent, storedCredentialsPolicy, isNavigatingToAppBoundDomain), 0);
}
void NetworkProcessProxy::updateProcessAssertion()
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (262486 => 262487)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2020-06-03 15:37:49 UTC (rev 262487)
@@ -112,7 +112,7 @@
void getLocalStorageDetails(PAL::SessionID, CompletionHandler<void(Vector<LocalStorageDatabaseTracker::OriginDetails>&&)>&&);
- void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
+ void preconnectTo(PAL::SessionID, WebPageProxyIdentifier, WebCore::PageIdentifier, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
#if ENABLE(RESOURCE_LOAD_STATISTICS)
void clearPrevalentResource(PAL::SessionID, const RegistrableDomain&, CompletionHandler<void()>&&);
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (262486 => 262487)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-06-03 14:29:10 UTC (rev 262486)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-06-03 15:37:49 UTC (rev 262487)
@@ -4411,7 +4411,7 @@
return;
if (auto* networkProcess = m_process->processPool().networkProcess())
- networkProcess->preconnectTo(sessionID(), url, userAgent(), WebCore::StoredCredentialsPolicy::Use, m_isNavigatingToAppBoundDomain);
+ networkProcess->preconnectTo(sessionID(), identifier(), webPageID(), url, userAgent(), WebCore::StoredCredentialsPolicy::Use, m_isNavigatingToAppBoundDomain);
}
void WebPageProxy::didDestroyNavigation(uint64_t navigationID)