Changeset 260475 in webkit
- Timestamp:
- Apr 21, 2020 5:14:03 PM (4 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r260474 r260475 1 2020-04-21 Chris Dumez <cdumez@apple.com> 2 3 REGRESSION(r260410) Frequent Network process crashes 4 https://bugs.webkit.org/show_bug.cgi?id=210825 5 6 Reviewed by Alex Christensen. 7 8 The webPageProxyID in the NetworkProcessProxy::DidNegotiateModernTLS() IPC was invalid because 9 NetworkProcessProxy::preconnectTo() was failing to initialize NetworkLoadParameters::webPageProxyID. 10 This patch addresses the issue. 11 12 No new tests, added new assertion that would be tripped by existing tests. 13 14 * NetworkProcess/NetworkLoad.cpp: 15 (WebKit::NetworkLoad::NetworkLoad): 16 * NetworkProcess/NetworkProcess.cpp: 17 (WebKit::NetworkProcess::preconnectTo): 18 * NetworkProcess/NetworkProcess.h: 19 * NetworkProcess/NetworkProcess.messages.in: 20 * UIProcess/Network/NetworkProcessProxy.cpp: 21 (WebKit::NetworkProcessProxy::preconnectTo): 22 * UIProcess/Network/NetworkProcessProxy.h: 23 * UIProcess/WebPageProxy.cpp: 24 (WebKit::WebPageProxy::preconnectTo): 25 1 26 2020-04-21 Jer Noble <jer.noble@apple.com> 2 27 -
trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp
r260410 r260475 64 64 , m_currentRequest(m_parameters.request) 65 65 { 66 ASSERT(m_parameters.webPageProxyID); 66 67 initialize(networkSession, blobRegistry); 67 68 } -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
r260303 r260475 1327 1327 #endif // ENABLE(RESOURCE_LOAD_STATISTICS) 1328 1328 1329 void NetworkProcess::preconnectTo( PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)1329 void NetworkProcess::preconnectTo(WebPageProxyIdentifier webPageProxyID, PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain) 1330 1330 { 1331 1331 #if ENABLE(SERVER_PRECONNECT) … … 1336 1336 1337 1337 NetworkLoadParameters parameters; 1338 parameters.webPageProxyID = webPageProxyID; 1338 1339 parameters.request = ResourceRequest { url }; 1339 1340 parameters.isNavigatingToAppBoundDomain = isNavigatingToAppBoundDomain; -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
r260303 r260475 275 275 void cacheStorageRootPath(PAL::SessionID, CacheStorageRootPathCallback&&); 276 276 277 void preconnectTo( PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);277 void preconnectTo(WebPageProxyIdentifier, PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>); 278 278 279 279 void setSessionIsControlledByAutomation(PAL::SessionID, bool); -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
r260372 r260475 80 80 ProcessDidResume() 81 81 82 PreconnectTo( PAL::SessionID sessionID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain);82 PreconnectTo(WebKit::WebPageProxyIdentifier webPageProxyID, PAL::SessionID sessionID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain); 83 83 84 84 #if ENABLE(RESOURCE_LOAD_STATISTICS) -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r260410 r260475 1421 1421 } 1422 1422 1423 void NetworkProcessProxy::preconnectTo( PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)1423 void NetworkProcessProxy::preconnectTo(WebPageProxyIdentifier webPageProxyID, PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain) 1424 1424 { 1425 1425 if (!url.isValid() || !url.protocolIsInHTTPFamily() || SecurityOrigin::isLocalHostOrLoopbackIPAddress(url.host())) 1426 1426 return; 1427 send(Messages::NetworkProcess::PreconnectTo( sessionID, url, userAgent, storedCredentialsPolicy, isNavigatingToAppBoundDomain), 0);1427 send(Messages::NetworkProcess::PreconnectTo(webPageProxyID, sessionID, url, userAgent, storedCredentialsPolicy, isNavigatingToAppBoundDomain), 0); 1428 1428 } 1429 1429 -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
r260453 r260475 112 112 void getLocalStorageDetails(PAL::SessionID, CompletionHandler<void(Vector<LocalStorageDatabaseTracker::OriginDetails>&&)>&&); 113 113 114 void preconnectTo( PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);114 void preconnectTo(WebPageProxyIdentifier, PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>); 115 115 116 116 #if ENABLE(RESOURCE_LOAD_STATISTICS) -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r260446 r260475 4377 4377 4378 4378 if (auto* networkProcess = m_process->processPool().networkProcess()) 4379 networkProcess->preconnectTo( sessionID(), url, userAgent(), WebCore::StoredCredentialsPolicy::Use, m_isNavigatingToAppBoundDomain);4379 networkProcess->preconnectTo(identifier(), sessionID(), url, userAgent(), WebCore::StoredCredentialsPolicy::Use, m_isNavigatingToAppBoundDomain); 4380 4380 } 4381 4381
Note: See TracChangeset
for help on using the changeset viewer.