Changeset 239735 in webkit
- Timestamp:
- Jan 8, 2019, 12:12:38 PM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r239727 r239735 1 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 3 Unreviewed, rolling out r239727. 4 5 Broke API tests 6 7 Reverted changeset: 8 9 "Stop using NetworkStorageSession in WebProcess" 10 https://bugs.webkit.org/show_bug.cgi?id=193236 11 https://trac.webkit.org/changeset/239727 12 1 13 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 14 -
trunk/Source/WebCore/loader/CookieJar.cpp
r239727 r239735 55 55 { 56 56 NetworkingContext* context = networkingContext(document); 57 return context ? *context->storageSession() : NetworkStorageSession::defaultStorageSession();57 return context ? context->storageSession() : NetworkStorageSession::defaultStorageSession(); 58 58 } 59 59 -
trunk/Source/WebCore/loader/EmptyClients.cpp
r239727 r239735 288 288 289 289 bool shouldClearReferrerOnHTTPSToHTTPRedirect() const { return true; } 290 NetworkStorageSession * storageSession() const final { return &NetworkStorageSession::defaultStorageSession(); }290 NetworkStorageSession& storageSession() const final { return NetworkStorageSession::defaultStorageSession(); } 291 291 292 292 #if PLATFORM(COCOA) -
trunk/Source/WebCore/platform/network/NetworkingContext.h
r239727 r239735 59 59 virtual String sourceApplicationIdentifier() const { return emptyString(); } 60 60 61 virtual NetworkStorageSession *storageSession() const = 0;61 virtual NetworkStorageSession& storageSession() const = 0; 62 62 63 63 #if PLATFORM(WIN) -
trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp
r239727 r239735 150 150 // <rdar://problem/7174050> - For URLs that match the paths of those previously challenged for HTTP Basic authentication, 151 151 // try and reuse the credential preemptively, as allowed by RFC 2617. 152 d->m_initialCredential = d->m_context->storageSession() ->credentialStorage().get(partition, firstRequest().url());152 d->m_initialCredential = d->m_context->storageSession().credentialStorage().get(partition, firstRequest().url()); 153 153 } else { 154 154 // If there is already a protection space known for the URL, update stored credentials before sending a request. 155 155 // This makes it possible to implement logout by sending an XMLHttpRequest with known incorrect credentials, and aborting it immediately 156 156 // (so that an authentication dialog doesn't pop up). 157 d->m_context->storageSession() ->credentialStorage().set(partition, Credential(d->m_user, d->m_pass, CredentialPersistenceNone), firstRequest().url());157 d->m_context->storageSession().credentialStorage().set(partition, Credential(d->m_user, d->m_pass, CredentialPersistenceNone), firstRequest().url()); 158 158 } 159 159 } … … 262 262 return false; 263 263 264 d->m_storageSession = d->m_context->storageSession() ->platformSession();264 d->m_storageSession = d->m_context->storageSession().platformSession(); 265 265 266 266 bool shouldUseCredentialStorage = !client() || client()->shouldUseCredentialStorage(this); … … 308 308 // URL didn't include credentials of its own. 309 309 if (d->m_user.isEmpty() && d->m_pass.isEmpty() && !redirectResponse.isNull()) { 310 Credential credential = d->m_context->storageSession() ->credentialStorage().get(partition, request.url());310 Credential credential = d->m_context->storageSession().credentialStorage().get(partition, request.url()); 311 311 if (!credential.isEmpty()) { 312 312 d->m_initialCredential = credential; … … 383 383 if (challenge.failureResponse().httpStatusCode() == 401) 384 384 urlToStore = challenge.failureResponse().url(); 385 d->m_context->storageSession() ->credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore);385 d->m_context->storageSession().credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore); 386 386 387 387 CFURLConnectionUseCredential(d->m_connection.get(), cfCredential.get(), challenge.cfURLAuthChallengeRef()); … … 397 397 // There is a race condition here, since a different credential might have already been stored by another ResourceHandle, 398 398 // but the observable effect should be very minor, if any. 399 d->m_context->storageSession() ->credentialStorage().remove(partition, challenge.protectionSpace());399 d->m_context->storageSession().credentialStorage().remove(partition, challenge.protectionSpace()); 400 400 } 401 401 402 402 if (!challenge.previousFailureCount()) { 403 Credential credential = d->m_context->storageSession() ->credentialStorage().get(partition, challenge.protectionSpace());403 Credential credential = d->m_context->storageSession().credentialStorage().get(partition, challenge.protectionSpace()); 404 404 if (!credential.isEmpty() && credential != d->m_initialCredential) { 405 405 ASSERT(credential.persistence() == CredentialPersistenceNone); 406 406 if (challenge.failureResponse().httpStatusCode() == 401) { 407 407 // Store the credential back, possibly adding it as a default for this directory. 408 d->m_context->storageSession() ->credentialStorage().set(partition, credential, challenge.protectionSpace(), challenge.failureResponse().url());408 d->m_context->storageSession().credentialStorage().set(partition, credential, challenge.protectionSpace(), challenge.failureResponse().url()); 409 409 } 410 410 #if PLATFORM(COCOA) … … 456 456 urlToStore = challenge.failureResponse().url(); 457 457 458 d->m_context->storageSession() ->credentialStorage().set(firstRequest().cachePartition(), webCredential, challenge.protectionSpace(), urlToStore);458 d->m_context->storageSession().credentialStorage().set(firstRequest().cachePartition(), webCredential, challenge.protectionSpace(), urlToStore); 459 459 460 460 if (d->m_connection) { … … 572 572 RefPtr<ResourceHandle> handle = adoptRef(new ResourceHandle(context, request, &client, defersLoading, shouldContentSniff, shouldContentEncodingSniff)); 573 573 574 handle->d->m_storageSession = context->storageSession() ->platformSession();574 handle->d->m_storageSession = context->storageSession().platformSession(); 575 575 576 576 if (handle->d->m_scheduledFailureType != NoFailure) { -
trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm
r239727 r239735 158 158 // <rdar://problem/7174050> - For URLs that match the paths of those previously challenged for HTTP Basic authentication, 159 159 // try and reuse the credential preemptively, as allowed by RFC 2617. 160 d->m_initialCredential = d->m_context->storageSession() ->credentialStorage().get(firstRequest().cachePartition(), firstRequest().url());160 d->m_initialCredential = d->m_context->storageSession().credentialStorage().get(firstRequest().cachePartition(), firstRequest().url()); 161 161 } else { 162 162 // If there is already a protection space known for the URL, update stored credentials before sending a request. 163 163 // This makes it possible to implement logout by sending an XMLHttpRequest with known incorrect credentials, and aborting it immediately 164 164 // (so that an authentication dialog doesn't pop up). 165 d->m_context->storageSession() ->credentialStorage().set(firstRequest().cachePartition(), Credential(d->m_user, d->m_pass, CredentialPersistenceNone), firstRequest().url());165 d->m_context->storageSession().credentialStorage().set(firstRequest().cachePartition(), Credential(d->m_user, d->m_pass, CredentialPersistenceNone), firstRequest().url()); 166 166 } 167 167 } … … 241 241 return false; 242 242 243 d->m_storageSession = d->m_context->storageSession() ->platformSession();243 d->m_storageSession = d->m_context->storageSession().platformSession(); 244 244 245 245 // FIXME: Do not use the sync version of shouldUseCredentialStorage when the client returns true from usesAsyncCallbacks. … … 368 368 RefPtr<ResourceHandle> handle = adoptRef(new ResourceHandle(context, request, &client, defersLoading, shouldContentSniff, shouldContentEncodingSniff)); 369 369 370 handle->d->m_storageSession = context->storageSession() ->platformSession();370 handle->d->m_storageSession = context->storageSession().platformSession(); 371 371 372 372 if (context && handle->d->m_scheduledFailureType != NoFailure) { … … 450 450 // URL didn't include credentials of its own. 451 451 if (d->m_user.isEmpty() && d->m_pass.isEmpty() && !redirectResponse.isNull()) { 452 Credential credential = d->m_context->storageSession() ->credentialStorage().get(request.cachePartition(), request.url());452 Credential credential = d->m_context->storageSession().credentialStorage().get(request.cachePartition(), request.url()); 453 453 if (!credential.isEmpty()) { 454 454 d->m_initialCredential = credential; … … 541 541 // There is a race condition here, since a different credential might have already been stored by another ResourceHandle, 542 542 // but the observable effect should be very minor, if any. 543 d->m_context->storageSession() ->credentialStorage().remove(d->m_partition, challenge.protectionSpace());543 d->m_context->storageSession().credentialStorage().remove(d->m_partition, challenge.protectionSpace()); 544 544 } 545 545 546 546 if (!challenge.previousFailureCount()) { 547 Credential credential = d->m_context->storageSession() ->credentialStorage().get(d->m_partition, challenge.protectionSpace());547 Credential credential = d->m_context->storageSession().credentialStorage().get(d->m_partition, challenge.protectionSpace()); 548 548 if (!credential.isEmpty() && credential != d->m_initialCredential) { 549 549 ASSERT(credential.persistence() == CredentialPersistenceNone); 550 550 if (challenge.failureResponse().httpStatusCode() == 401) { 551 551 // Store the credential back, possibly adding it as a default for this directory. 552 d->m_context->storageSession() ->credentialStorage().set(d->m_partition, credential, challenge.protectionSpace(), challenge.failureResponse().url());552 d->m_context->storageSession().credentialStorage().set(d->m_partition, credential, challenge.protectionSpace(), challenge.failureResponse().url()); 553 553 } 554 554 [challenge.sender() useCredential:credential.nsCredential() forAuthenticationChallenge:mac(challenge)]; … … 592 592 if (challenge.failureResponse().httpStatusCode() == 401) 593 593 urlToStore = challenge.failureResponse().url(); 594 d->m_context->storageSession() ->credentialStorage().set(d->m_partition, webCredential, ProtectionSpace([d->m_currentMacChallenge protectionSpace]), urlToStore);594 d->m_context->storageSession().credentialStorage().set(d->m_partition, webCredential, ProtectionSpace([d->m_currentMacChallenge protectionSpace]), urlToStore); 595 595 [[d->m_currentMacChallenge sender] useCredential:webCredential.nsCredential() forAuthenticationChallenge:d->m_currentMacChallenge]; 596 596 } else -
trunk/Source/WebKit/ChangeLog
r239733 r239735 1 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 3 Unreviewed, rolling out r239727. 4 5 Broke API tests 6 7 Reverted changeset: 8 9 "Stop using NetworkStorageSession in WebProcess" 10 https://bugs.webkit.org/show_bug.cgi?id=193236 11 https://trac.webkit.org/changeset/239727 12 1 13 2019-01-08 Brian Burg <bburg@apple.com> 2 14 -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
r239727 r239735 73 73 encoder << shouldCaptureDisplayInUIProcess; 74 74 #endif 75 encoder << shouldUseTestingNetworkSession; 75 76 encoder << urlSchemesRegisteredAsEmptyDocument; 76 77 encoder << urlSchemesRegisteredAsSecure; … … 267 268 return false; 268 269 #endif 270 if (!decoder.decode(parameters.shouldUseTestingNetworkSession)) 271 return false; 269 272 if (!decoder.decode(parameters.urlSchemesRegisteredAsEmptyDocument)) 270 273 return false; -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.h
r239727 r239735 125 125 double defaultRequestTimeoutInterval { INT_MAX }; 126 126 127 bool shouldUseTestingNetworkSession { false }; 127 128 bool shouldAlwaysUseComplexTextCodePath { false }; 128 129 bool shouldEnableMemoryPressureReliefLogging { false }; -
trunk/Source/WebKit/Shared/WebsitePoliciesData.cpp
r239727 r239735 162 162 if (websitePolicies.websiteDataStoreParameters) { 163 163 if (auto* frame = documentLoader.frame()) { 164 if (auto* page = frame->page()) 165 page->setSessionID(websitePolicies.websiteDataStoreParameters->networkSessionParameters.sessionID); 164 if (auto* page = frame->page()) { 165 auto sessionID = websitePolicies.websiteDataStoreParameters->networkSessionParameters.sessionID; 166 WebProcess::singleton().addWebsiteDataStore(WTFMove(*websitePolicies.websiteDataStoreParameters)); 167 page->setSessionID(sessionID); 168 } 166 169 } 167 170 } -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r239727 r239735 690 690 if (privateBrowsingEnabled) { 691 691 sendToNetworkingProcess(Messages::NetworkProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters())); 692 sendToAllProcesses(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters())); 692 693 } else { 693 694 networkProcess()->removeSession(PAL::SessionID::legacyPrivateSessionID()); 695 sendToAllProcesses(Messages::WebProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID())); 694 696 } 695 697 } … … 764 766 ASSERT(m_prewarmedProcess->isPrewarmed()); 765 767 m_prewarmedProcess->markIsNoLongerInPrewarmedPool(); 768 if (&m_prewarmedProcess->websiteDataStore() != &websiteDataStore) 769 m_prewarmedProcess->send(Messages::WebProcess::AddWebsiteDataStore(websiteDataStore.parameters()), 0); 766 770 767 771 return std::exchange(m_prewarmedProcess, nullptr); … … 850 854 SandboxExtension::createHandleWithoutResolvingPath(parameters.javaScriptConfigurationDirectory, SandboxExtension::Type::ReadWrite, parameters.javaScriptConfigurationDirectoryExtensionHandle); 851 855 } 856 857 parameters.shouldUseTestingNetworkSession = m_shouldUseTestingNetworkSession; 852 858 853 859 parameters.cacheModel = cacheModel(); … … 937 943 #endif 938 944 945 if (WebPreferences::anyPagesAreUsingPrivateBrowsing()) 946 process.send(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters()), 0); 947 939 948 if (m_automationSession) 940 949 process.send(Messages::WebProcess::EnsureAutomationSessionProxy(m_automationSession->sessionIdentifier()), 0); … … 1180 1189 if (m_networkProcess) 1181 1190 m_networkProcess->addSession(makeRef(page.websiteDataStore())); 1191 page.process().send(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::privateSessionParameters(sessionID)), 0); 1182 1192 page.websiteDataStore().clearPendingCookies(); 1183 1193 } else if (sessionID != PAL::SessionID::defaultSessionID()) { 1184 1194 if (m_networkProcess) 1185 1195 m_networkProcess->addSession(makeRef(page.websiteDataStore())); 1196 page.process().send(Messages::WebProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()), 0); 1186 1197 page.websiteDataStore().clearPendingCookies(); 1187 1198 } … … 1214 1225 if (networkProcess()) 1215 1226 networkProcess()->removeSession(sessionID); 1227 page.process().send(Messages::WebProcess::DestroySession(sessionID), 0); 1216 1228 } 1217 1229 } … … 2227 2239 m_suspendedPages.remove(it); 2228 2240 2241 if (&process->websiteDataStore() != &page.websiteDataStore()) 2242 process->send(Messages::WebProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()), 0); 2243 2229 2244 return completionHandler(WTFMove(process), nullptr, reason); 2230 2245 } -
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
r239727 r239735 358 358 if (enabled) { 359 359 WebProcess::singleton().ensureLegacyPrivateBrowsingSessionInNetworkProcess(); 360 WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters::legacyPrivateSessionParameters()); 360 361 } else 361 362 SessionTracker::destroySession(PAL::SessionID::legacyPrivateSessionID()); -
trunk/Source/WebKit/WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp
r239727 r239735 57 57 } 58 58 59 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 60 { 61 if (frame()) { 62 if (auto* storageSession = NetworkStorageSession::storageSession(frame()->page()->sessionID())) 63 return *storageSession; 64 } 65 return NetworkStorageSession::defaultStorageSession(); 66 } 67 59 68 WebFrameLoaderClient* WebFrameNetworkingContext::webFrameLoaderClient() const 60 69 { -
trunk/Source/WebKit/WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.h
r239727 r239735 54 54 WebFrameNetworkingContext(WebFrame*); 55 55 56 WebCore::NetworkStorageSession * storageSession() const override { return nullptr; }56 WebCore::NetworkStorageSession& storageSession() const override; 57 57 }; 58 58 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h
r239727 r239735 57 57 String sourceApplicationIdentifier() const override; 58 58 WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const override; 59 WebCore::NetworkStorageSession * storageSession() const override { return nullptr; }59 WebCore::NetworkStorageSession& storageSession() const override; 60 60 }; 61 61 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
r239727 r239735 44 44 using namespace WebCore; 45 45 46 void WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters) 47 { 48 ASSERT(!hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); 49 auto sessionID = parameters.networkSessionParameters.sessionID; 50 if (NetworkStorageSession::storageSession(sessionID)) 51 return; 52 53 String base = WebProcess::singleton().uiProcessBundleIdentifier(); 54 if (base.isNull()) 55 base = [[NSBundle mainBundle] bundleIdentifier]; 56 57 NetworkStorageSession::ensureSession(sessionID, base + '.' + String::number(sessionID.sessionID())); 58 } 59 46 60 bool WebFrameNetworkingContext::localFileContentSniffingEnabled() const 47 61 { … … 71 85 } 72 86 87 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 88 { 89 ASSERT(RunLoop::isMain()); 90 ASSERT(!hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); 91 if (frame()) { 92 if (auto* storageSession = WebCore::NetworkStorageSession::storageSession(frame()->page()->sessionID())) 93 return *storageSession; 94 // Some requests may still be coming shortly after WebProcess was told to destroy its session. 95 LOG_ERROR("WEB Invalid session ID. Please file a bug unless you just disabled private browsing, in which case it's an expected race."); 96 } 97 return NetworkStorageSession::defaultStorageSession(); 98 } 99 73 100 WebFrameLoaderClient* WebFrameNetworkingContext::webFrameLoaderClient() const 74 101 { -
trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
r239727 r239735 59 59 } 60 60 61 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 62 { 63 if (frame()) { 64 if (auto* storageSession = NetworkStorageSession::storageSession(frame()->page()->sessionID())) 65 return *storageSession; 66 } 67 return NetworkStorageSession::defaultStorageSession(); 68 } 69 61 70 WebFrameLoaderClient* WebFrameNetworkingContext::webFrameLoaderClient() const 62 71 { -
trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h
r239727 r239735 52 52 WebFrameNetworkingContext(WebFrame*); 53 53 54 WebCore::NetworkStorageSession * storageSession() const override { return nullptr; }54 WebCore::NetworkStorageSession& storageSession() const override; 55 55 }; 56 56 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r239727 r239735 3044 3044 void WebPage::setSessionID(PAL::SessionID sessionID) 3045 3045 { 3046 if (sessionID.isEphemeral()) 3047 WebProcess::singleton().addWebsiteDataStore(WebsiteDataStoreParameters::privateSessionParameters(sessionID)); 3046 3048 m_page->setSessionID(sessionID); 3047 3049 } -
trunk/Source/WebKit/WebProcess/WebProcess.cpp
r239727 r239735 382 382 setShouldUseFontSmoothing(parameters.shouldUseFontSmoothing); 383 383 384 if (parameters.shouldUseTestingNetworkSession) 385 NetworkStorageSession::switchToNewTestingSession(); 386 384 387 ensureNetworkProcessConnection(); 385 388 … … 536 539 { 537 540 m_fullKeyboardAccessEnabled = fullKeyboardAccessEnabled; 541 } 542 543 void WebProcess::addWebsiteDataStore(WebsiteDataStoreParameters&& parameters) 544 { 545 WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WTFMove(parameters)); 546 } 547 548 void WebProcess::destroySession(PAL::SessionID sessionID) 549 { 550 SessionTracker::destroySession(sessionID); 538 551 } 539 552 … … 1282 1295 websiteData.entries.append(WebsiteData::Entry { origin->data(), WebsiteDataType::MemoryCache, 0 }); 1283 1296 } 1297 1298 if (websiteDataTypes.contains(WebsiteDataType::Credentials)) { 1299 if (NetworkStorageSession::storageSession(sessionID)) 1300 websiteData.originsWithCredentials = NetworkStorageSession::storageSession(sessionID)->credentialStorage().originsWithCredentials(); 1301 } 1284 1302 } 1285 1303 -
trunk/Source/WebKit/WebProcess/WebProcess.h
r239727 r239735 179 179 180 180 void ensureLegacyPrivateBrowsingSessionInNetworkProcess(); 181 void addWebsiteDataStore(WebsiteDataStoreParameters&&); 182 void destroySession(PAL::SessionID); 181 183 182 184 void pageDidEnterWindow(uint64_t pageID); -
trunk/Source/WebKit/WebProcess/WebProcess.messages.in
r239727 r239735 53 53 54 54 ClearCachedCredentials() 55 56 AddWebsiteDataStore(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters); 57 DestroySession(PAL::SessionID sessionID) 55 58 56 59 # Plug-ins. -
trunk/Source/WebKitLegacy/mac/ChangeLog
r239727 r239735 1 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 3 Unreviewed, rolling out r239727. 4 5 Broke API tests 6 7 Reverted changeset: 8 9 "Stop using NetworkStorageSession in WebProcess" 10 https://bugs.webkit.org/show_bug.cgi?id=193236 11 https://trac.webkit.org/changeset/239727 12 1 13 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 14 -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.h
r239727 r239735 50 50 String sourceApplicationIdentifier() const override; 51 51 WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const override; 52 WebCore::NetworkStorageSession *storageSession() const override;52 WebCore::NetworkStorageSession& storageSession() const override; 53 53 }; -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm
r239727 r239735 91 91 } 92 92 93 NetworkStorageSession *WebFrameNetworkingContext::storageSession() const93 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 94 94 { 95 95 ASSERT(isMainThread()); 96 96 if (frame() && frame()->page() && frame()->page()->sessionID().isEphemeral()) { 97 97 if (auto* session = NetworkStorageSession::storageSession(PAL::SessionID::legacyPrivateSessionID())) 98 return session;98 return *session; 99 99 // Some requests may still be coming shortly before WebCore updates the session ID and after WebKit destroys the private browsing session. 100 100 LOG_ERROR("Invalid session ID. Please file a bug unless you just disabled private browsing, in which case it's an expected race."); 101 101 } 102 return &NetworkStorageSession::defaultStorageSession();102 return NetworkStorageSession::defaultStorageSession(); 103 103 } -
trunk/Source/WebKitLegacy/mac/WebView/WebView.mm
r239727 r239735 3669 3669 return nil; 3670 3670 3671 if ( auto storageSession = _private->page->mainFrame().loader().networkingContext()->storageSession()->platformSession())3671 if (CFURLStorageSessionRef storageSession = _private->page->mainFrame().loader().networkingContext()->storageSession().platformSession()) 3672 3672 cachedResponse = cachedResponseForRequest(storageSession, request.get()); 3673 3673 else … … 9252 9252 return; 9253 9253 9254 networkingContext->storageSession() ->credentialStorage().clearCredentials();9254 networkingContext->storageSession().credentialStorage().clearCredentials(); 9255 9255 } 9256 9256 -
trunk/Source/WebKitLegacy/win/ChangeLog
r239549 r239735 1 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 3 Unreviewed, rolling out r239727. 4 5 Broke API tests 6 7 Reverted changeset: 8 9 "Stop using NetworkStorageSession in WebProcess" 10 https://bugs.webkit.org/show_bug.cgi?id=193236 11 https://trac.webkit.org/changeset/239727 12 1 13 2018-12-24 Fujii Hironori <Hironori.Fujii@sony.com> 2 14 -
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameNetworkingContext.cpp
r239727 r239735 100 100 } 101 101 102 NetworkStorageSession *WebFrameNetworkingContext::storageSession() const102 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 103 103 { 104 104 ASSERT(isMainThread()); 105 105 106 106 if (frame() && frame()->page()->usesEphemeralSession()) 107 return NetworkStorageSession::storageSession(PAL::SessionID::legacyPrivateSessionID());107 return *NetworkStorageSession::storageSession(PAL::SessionID::legacyPrivateSessionID()); 108 108 109 return &NetworkStorageSession::defaultStorageSession();109 return NetworkStorageSession::defaultStorageSession(); 110 110 } -
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameNetworkingContext.h
r239727 r239735 48 48 49 49 WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const override; 50 WebCore::NetworkStorageSession *storageSession() const override;50 WebCore::NetworkStorageSession& storageSession() const override; 51 51 };
Note:
See TracChangeset
for help on using the changeset viewer.