Title: [262487] trunk/Source/WebKit
Revision
262487
Author
[email protected]
Date
2020-06-03 08:37:49 -0700 (Wed, 03 Jun 2020)

Log Message

Pass WebPageProxyIdentifier to PreconnectTask
https://bugs.webkit.org/show_bug.cgi?id=212648

Patch by Alex Christensen <[email protected]> on 2020-06-03
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):

Modified Paths

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)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to