Changeset 267091 in webkit


Ignore:
Timestamp:
Sep 15, 2020 11:25:08 AM (4 years ago)
Author:
achristensen@apple.com
Message:

Move WKContextClearCachedCredentials SPI to WKWebsiteDataStoreClearCachedCredentials
https://bugs.webkit.org/show_bug.cgi?id=216513

Reviewed by Chris Dumez.

Source/WebKit:

The credentials are owned by session anyways.
This is needed for https://bugs.webkit.org/show_bug.cgi?id=216041

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::clearCachedCredentials):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/API/C/WKContext.cpp:

(WKContextClearCachedCredentials): Deleted.

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreClearCachedCredentials):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::clearCachedCredentials):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::clearCachedCredentials):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

Location:
trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r267090 r267091  
     12020-09-15  Alex Christensen  <achristensen@webkit.org>
     2
     3        Move WKContextClearCachedCredentials SPI to WKWebsiteDataStoreClearCachedCredentials
     4        https://bugs.webkit.org/show_bug.cgi?id=216513
     5
     6        Reviewed by Chris Dumez.
     7
     8        The credentials are owned by session anyways.
     9        This is needed for https://bugs.webkit.org/show_bug.cgi?id=216041
     10
     11        * NetworkProcess/NetworkProcess.cpp:
     12        (WebKit::NetworkProcess::clearCachedCredentials):
     13        * NetworkProcess/NetworkProcess.h:
     14        * NetworkProcess/NetworkProcess.messages.in:
     15        * UIProcess/API/C/WKContext.cpp:
     16        (WKContextClearCachedCredentials): Deleted.
     17        * UIProcess/API/C/WKContextPrivate.h:
     18        * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
     19        (WKWebsiteDataStoreClearCachedCredentials):
     20        * UIProcess/API/C/WKWebsiteDataStoreRef.h:
     21        * UIProcess/WebProcessPool.cpp:
     22        (WebKit::WebProcessPool::clearCachedCredentials):
     23        * UIProcess/WebProcessPool.h:
     24        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
     25        (WebKit::WebsiteDataStore::clearCachedCredentials):
     26        * UIProcess/WebsiteData/WebsiteDataStore.h:
     27
    1282020-09-15  Alex Christensen  <achristensen@webkit.org>
    229
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r267042 r267091  
    428428}
    429429
    430 void NetworkProcess::clearCachedCredentials()
    431 {
    432     defaultStorageSession().credentialStorage().clearCredentials();
    433     if (auto* networkSession = this->networkSession(PAL::SessionID::defaultSessionID()))
     430void NetworkProcess::clearCachedCredentials(PAL::SessionID sessionID)
     431{
     432    if (auto* networkSession = this->networkSession(sessionID)) {
     433        if (auto* storageSession = networkSession->networkStorageSession())
     434            storageSession->credentialStorage().clearCredentials();
    434435        networkSession->clearCredentials();
    435     else
    436         ASSERT_NOT_REACHED();
    437 
    438     forEachNetworkSession([] (auto& networkSession) {
    439         if (auto storageSession = networkSession.networkStorageSession())
    440             storageSession->credentialStorage().clearCredentials();
    441         networkSession.clearCredentials();
    442     });
     436    }
    443437}
    444438
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r267090 r267091  
    420420    void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>& origins, const Vector<String>& cookieHostNames, const Vector<String>& HSTSCacheHostnames, const Vector<RegistrableDomain>&, CallbackID);
    421421
    422     void clearCachedCredentials();
     422    void clearCachedCredentials(PAL::SessionID);
    423423
    424424    void setCacheStorageParameters(PAL::SessionID, String&& cacheStorageDirectory, SandboxExtension::Handle&&);
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in

    r267090 r267091  
    4040#endif
    4141
    42     ClearCachedCredentials()
     42    ClearCachedCredentials(PAL::SessionID sessionID)
    4343
    4444    AddWebsiteDataStore(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters);
  • trunk/Source/WebKit/UIProcess/API/C/WKContext.cpp

    r267090 r267091  
    546546}
    547547
    548 void WKContextClearCachedCredentials(WKContextRef context)
    549 {
    550     WebKit::toImpl(context)->clearCachedCredentials();
    551 }
    552 
    553548WKDictionaryRef WKContextCopyPlugInAutoStartOriginHashes(WKContextRef contextRef)
    554549{
  • trunk/Source/WebKit/UIProcess/API/C/WKContextPrivate.h

    r267088 r267091  
    8989WK_EXPORT void WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting(WKContextRef, bool);
    9090
    91 // Test only. Should be called before running a test.
    92 WK_EXPORT void WKContextClearCachedCredentials(WKContextRef context);
    93 
    9491typedef void (*WKContextInvalidMessageFunction)(WKStringRef messageName);
    9592WK_EXPORT void WKContextSetInvalidMessageFunction(WKContextInvalidMessageFunction invalidMessageFunction);
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp

    r267088 r267091  
    138138}
    139139
     140void WKWebsiteDataStoreClearCachedCredentials(WKWebsiteDataStoreRef dataStoreRef)
     141{
     142    WebKit::toImpl(dataStoreRef)->clearCachedCredentials();
     143}
     144
    140145void WKWebsiteDataStoreSetResourceLoadStatisticsDebugModeWithCompletionHandler(WKWebsiteDataStoreRef dataStoreRef, bool enable, void* context, WKWebsiteDataStoreStatisticsDebugModeFunction completionHandler)
    141146{
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h

    r267088 r267091  
    4545
    4646WK_EXPORT void WKWebsiteDataStoreSetAllowsAnySSLCertificateForWebSocketTesting(WKWebsiteDataStoreRef dataStore, bool allows);
     47
     48WK_EXPORT void WKWebsiteDataStoreClearCachedCredentials(WKWebsiteDataStoreRef dataStoreRef);
    4749
    4850WK_EXPORT bool WKWebsiteDataStoreGetResourceLoadStatisticsEnabled(WKWebsiteDataStoreRef dataStoreRef);
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r267090 r267091  
    17681768}
    17691769
    1770 void WebProcessPool::clearCachedCredentials()
     1770void WebProcessPool::clearCachedCredentials(const PAL::SessionID& sessionID)
    17711771{
    17721772    if (m_networkProcess)
    1773         m_networkProcess->send(Messages::NetworkProcess::ClearCachedCredentials(), 0);
     1773        m_networkProcess->send(Messages::NetworkProcess::ClearCachedCredentials(sessionID), 0);
    17741774}
    17751775
  • trunk/Source/WebKit/UIProcess/WebProcessPool.h

    r267090 r267091  
    319319    static Statistics& statistics();   
    320320
    321     void clearCachedCredentials();
     321    void clearCachedCredentials(const PAL::SessionID&);
    322322    void terminateNetworkProcess();
    323323    void terminateAllWebContentProcesses();
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r267088 r267091  
    22702270}
    22712271
     2272void WebsiteDataStore::clearCachedCredentials()
     2273{
     2274    for (auto processPool : WebProcessPool::allProcessPools())
     2275        processPool->clearCachedCredentials(sessionID());
     2276}
     2277
    22722278void WebsiteDataStore::dispatchOnQueue(Function<void()>&& function)
    22732279{
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h

    r267088 r267091  
    240240    void clearPendingCookies();
    241241    void flushCookies(CompletionHandler<void()>&&);
     242    void clearCachedCredentials();
    242243
    243244    void setAllowsAnySSLCertificateForWebSocket(bool);
  • trunk/Tools/ChangeLog

    r267090 r267091  
     12020-09-15  Alex Christensen  <achristensen@webkit.org>
     2
     3        Move WKContextClearCachedCredentials SPI to WKWebsiteDataStoreClearCachedCredentials
     4        https://bugs.webkit.org/show_bug.cgi?id=216513
     5
     6        Reviewed by Chris Dumez.
     7
     8        * WebKitTestRunner/TestController.cpp:
     9        (WTR::TestController::resetStateToConsistentValues):
     10
    1112020-09-15  Alex Christensen  <achristensen@webkit.org>
    212
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r267090 r267091  
    10501050    WKContextSetCacheModel(TestController::singleton().context(), kWKCacheModelDocumentBrowser);
    10511051
    1052     WKContextClearCachedCredentials(TestController::singleton().context());
     1052    WKWebsiteDataStoreClearCachedCredentials(websiteDataStore());
    10531053
    10541054    WKContextResetServiceWorkerFetchTimeoutForTesting(TestController::singleton().context());
Note: See TracChangeset for help on using the changeset viewer.