Title: [229619] trunk/Source
Revision
229619
Author
[email protected]
Date
2018-03-14 22:05:36 -0700 (Wed, 14 Mar 2018)

Log Message

Resource Load Statistics: Add clearing of storage access to WebResourceLoadStatisticsStore::clearInMemory()
https://bugs.webkit.org/show_bug.cgi?id=183641
<rdar://problem/38469497>

Reviewed by Brent Fulgham and Chris Dumez.

Source/WebCore:

No new tests. This change is to stabilize existing layout tests.
See Ryan Haddad's comment in https://bugs.webkit.org/show_bug.cgi?id=183620.

* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::removeAllStorageAccess):
    New function to clear out all storage access entries.

Source/WebKit:

This change is to stabilize existing layout tests by removing
all storage access entries on a call to
WebResourceLoadStatisticsStore::clearInMemory().
See Ryan Haddad's comment in https://bugs.webkit.org/show_bug.cgi?id=183620.

Almost all of the code changes are piping to get this
call from the WebResourceLoadStatisticsStore to
WebCore::NetworkStorageSession where entries reside.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::removeAllStorageAccess):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::removeAllStorageAccess):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::removeAllStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::clearInMemory):
    Now also clears all storage access entries in the network process.
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::removeAllStorageAccessHandler):
(WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
* UIProcess/WebsiteData/WebsiteDataStore.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229618 => 229619)


--- trunk/Source/WebCore/ChangeLog	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebCore/ChangeLog	2018-03-15 05:05:36 UTC (rev 229619)
@@ -1,3 +1,19 @@
+2018-03-14  John Wilander  <[email protected]>
+
+        Resource Load Statistics: Add clearing of storage access to WebResourceLoadStatisticsStore::clearInMemory()
+        https://bugs.webkit.org/show_bug.cgi?id=183641
+        <rdar://problem/38469497>
+
+        Reviewed by Brent Fulgham and Chris Dumez.
+
+        No new tests. This change is to stabilize existing layout tests.
+        See Ryan Haddad's comment in https://bugs.webkit.org/show_bug.cgi?id=183620.
+
+        * platform/network/NetworkStorageSession.h:
+        * platform/network/cf/NetworkStorageSessionCFNet.cpp:
+        (WebCore::NetworkStorageSession::removeAllStorageAccess):
+            New function to clear out all storage access entries.
+
 2018-03-14  Youenn Fablet  <[email protected]>
 
         imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html is crashing

Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (229618 => 229619)


--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2018-03-15 05:05:36 UTC (rev 229619)
@@ -109,6 +109,7 @@
     WEBCORE_EXPORT void grantStorageAccess(const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID);
     WEBCORE_EXPORT void removeStorageAccessForFrame(uint64_t frameID, uint64_t pageID);
     WEBCORE_EXPORT void removeStorageAccessForAllFramesOnPage(uint64_t pageID);
+    WEBCORE_EXPORT void removeAllStorageAccess();
 #endif
 #elif USE(SOUP)
     NetworkStorageSession(PAL::SessionID, std::unique_ptr<SoupNetworkSession>&&);

Modified: trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp (229618 => 229619)


--- trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp	2018-03-15 05:05:36 UTC (rev 229619)
@@ -360,6 +360,12 @@
     m_framesGrantedStorageAccess.remove(pageID);
 }
 
+void NetworkStorageSession::removeAllStorageAccess()
+{
+    m_pagesGrantedStorageAccess.clear();
+    m_framesGrantedStorageAccess.clear();
+}
+
 #endif // HAVE(CFNETWORK_STORAGE_PARTITIONING)
 
 #if !PLATFORM(COCOA)

Modified: trunk/Source/WebKit/ChangeLog (229618 => 229619)


--- trunk/Source/WebKit/ChangeLog	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/ChangeLog	2018-03-15 05:05:36 UTC (rev 229619)
@@ -1,3 +1,38 @@
+2018-03-14  John Wilander  <[email protected]>
+
+        Resource Load Statistics: Add clearing of storage access to WebResourceLoadStatisticsStore::clearInMemory()
+        https://bugs.webkit.org/show_bug.cgi?id=183641
+        <rdar://problem/38469497>
+
+        Reviewed by Brent Fulgham and Chris Dumez.
+
+        This change is to stabilize existing layout tests by removing
+        all storage access entries on a call to 
+        WebResourceLoadStatisticsStore::clearInMemory().
+        See Ryan Haddad's comment in https://bugs.webkit.org/show_bug.cgi?id=183620.
+
+        Almost all of the code changes are piping to get this
+        call from the WebResourceLoadStatisticsStore to
+        WebCore::NetworkStorageSession where entries reside.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::removeAllStorageAccess):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::removeAllStorageAccess):
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/WebResourceLoadStatisticsStore.cpp:
+        (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
+        (WebKit::WebResourceLoadStatisticsStore::removeAllStorageAccess):
+        (WebKit::WebResourceLoadStatisticsStore::clearInMemory):
+            Now also clears all storage access entries in the network process.
+        * UIProcess/WebResourceLoadStatisticsStore.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::removeAllStorageAccessHandler):
+        (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+
 2018-03-14  Ryan Haddad  <[email protected]>
 
         Unreviewed, rolling out r229613.

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (229618 => 229619)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-03-15 05:05:36 UTC (rev 229619)
@@ -394,6 +394,14 @@
     parentProcessConnection()->send(Messages::NetworkProcessProxy::StorageAccessRequestResult(isStorageGranted, contextId), 0);
 }
 
+void NetworkProcess::removeAllStorageAccess(PAL::SessionID sessionID)
+{
+    if (auto* networkStorageSession = NetworkStorageSession::storageSession(sessionID))
+        networkStorageSession->removeAllStorageAccess();
+    else
+        ASSERT_NOT_REACHED();
+}
+
 void NetworkProcess::removePrevalentDomains(PAL::SessionID sessionID, const Vector<String>& domains)
 {
     if (auto* networkStorageSession = NetworkStorageSession::storageSession(sessionID))

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (229618 => 229619)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-03-15 05:05:36 UTC (rev 229619)
@@ -140,6 +140,7 @@
     void hasStorageAccessForFrame(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, uint64_t contextId);
     void getAllStorageAccessEntries(PAL::SessionID, uint64_t contextId);
     void grantStorageAccess(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, uint64_t contextId);
+    void removeAllStorageAccess(PAL::SessionID);
     void removePrevalentDomains(PAL::SessionID, const Vector<String>& domains);
 #endif
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (229618 => 229619)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2018-03-15 05:05:36 UTC (rev 229619)
@@ -86,6 +86,7 @@
     HasStorageAccessForFrame(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, uint64_t frameID, uint64_t pageID, uint64_t contextId)
     GetAllStorageAccessEntries(PAL::SessionID sessionID, uint64_t contextId)
     GrantStorageAccess(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, uint64_t contextId)
+    RemoveAllStorageAccess(PAL::SessionID sessionID)
     RemovePrevalentDomains(PAL::SessionID sessionID, Vector<String> domainsWithInteraction);
 #endif
 

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-03-15 05:05:36 UTC (rev 229619)
@@ -428,6 +428,12 @@
     send(Messages::NetworkProcess::GrantStorageAccess(sessionID, resourceDomain, firstPartyDomain, frameID, pageID, contextId), 0);
 }
 
+void NetworkProcessProxy::removeAllStorageAccess(PAL::SessionID sessionID)
+{
+    if (canSendMessage())
+        send(Messages::NetworkProcess::RemoveAllStorageAccess(sessionID), 0);
+}
+
 void NetworkProcessProxy::storageAccessRequestResult(bool wasGranted, uint64_t contextId)
 {
     auto callback = m_storageAccessResponseCallbackMap.take(contextId);

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-03-15 05:05:36 UTC (rev 229619)
@@ -82,6 +82,7 @@
     void hasStorageAccessForFrame(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, CompletionHandler<void(bool)>&& callback);
     void getAllStorageAccessEntries(PAL::SessionID, CompletionHandler<void(Vector<String>&& domains)>&&);
     void grantStorageAccess(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, CompletionHandler<void(bool)>&& callback);
+    void removeAllStorageAccess(PAL::SessionID);
 #endif
 
     void writeBlobToFilePath(const WebCore::URL&, const String& path, CompletionHandler<void(bool)>&& callback);

Modified: trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.cpp	2018-03-15 05:05:36 UTC (rev 229619)
@@ -154,12 +154,13 @@
     return mergedDates;
 }
 
-WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore(const String& resourceLoadStatisticsDirectory, Function<void(const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&& updatePrevalentDomainsToPartitionOrBlockCookiesHandler, HasStorageAccessForFrameHandler&& hasStorageAccessForFrameHandler, GrantStorageAccessHandler&& grantStorageAccessHandler, RemovePrevalentDomainsHandler&& removeDomainsHandler)
+WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore(const String& resourceLoadStatisticsDirectory, Function<void(const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&& updatePrevalentDomainsToPartitionOrBlockCookiesHandler, HasStorageAccessForFrameHandler&& hasStorageAccessForFrameHandler, GrantStorageAccessHandler&& grantStorageAccessHandler, RemoveAllStorageAccessHandler&& removeAllStorageAccessHandler, RemovePrevalentDomainsHandler&& removeDomainsHandler)
     : m_statisticsQueue(WorkQueue::create("WebResourceLoadStatisticsStore Process Data Queue", WorkQueue::Type::Serial, WorkQueue::QOS::Utility))
     , m_persistentStorage(*this, resourceLoadStatisticsDirectory, isEphemeral ? ResourceLoadStatisticsPersistentStorage::IsReadOnly::Yes : ResourceLoadStatisticsPersistentStorage::IsReadOnly::No)
     , m_updatePrevalentDomainsToPartitionOrBlockCookiesHandler(WTFMove(updatePrevalentDomainsToPartitionOrBlockCookiesHandler))
     , m_hasStorageAccessForFrameHandler(WTFMove(hasStorageAccessForFrameHandler))
     , m_grantStorageAccessHandler(WTFMove(grantStorageAccessHandler))
+    , m_removeAllStorageAccessHandler(WTFMove(removeAllStorageAccessHandler))
     , m_removeDomainsHandler(WTFMove(removeDomainsHandler))
     , m_dailyTasksTimer(RunLoop::main(), this, &WebResourceLoadStatisticsStore::performDailyTasks)
     , m_statisticsTestingCallback(WTFMove(testingCallback))
@@ -410,6 +411,14 @@
 #endif
 }
 
+void WebResourceLoadStatisticsStore::removeAllStorageAccess()
+{
+    ASSERT(!RunLoop::isMain());
+    RunLoop::main().dispatch([this, protectedThis = makeRef(*this)] () {
+        m_removeAllStorageAccessHandler();
+    });
+}
+
 void WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData(CompletionHandler<void()>&& callback)
 {
     ASSERT(!RunLoop::isMain());
@@ -954,6 +963,7 @@
     m_resourceStatisticsMap.clear();
     m_operatingDates.clear();
 
+    removeAllStorageAccess();
     updateCookiePartitioningForDomains({ }, { }, { }, ShouldClearFirst::Yes, []() { });
 }
 

Modified: trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.h (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.h	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsStore.h	2018-03-15 05:05:36 UTC (rev 229619)
@@ -64,10 +64,11 @@
     using UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler = WTF::Function<void(const Vector<String>& domainsToPartition, const Vector<String>& domainsToBlock, const Vector<String>& domainsToNeitherPartitionNorBlock, ShouldClearFirst)>;
     using HasStorageAccessForFrameHandler = WTF::Function<void(const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, WTF::Function<void(bool hasAccess)>&& callback)>;
     using GrantStorageAccessHandler = WTF::Function<void(const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, WTF::Function<void(bool wasGranted)>&& callback)>;
+    using RemoveAllStorageAccessHandler = WTF::Function<void()>;
     using RemovePrevalentDomainsHandler = WTF::Function<void (const Vector<String>&)>;
-    static Ref<WebResourceLoadStatisticsStore> create(const String& resourceLoadStatisticsDirectory, Function<void (const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&& updatePrevalentDomainsToPartitionOrBlockCookiesHandler = [](const WTF::Vector<String>&, const WTF::Vector<String>&, const WTF::Vector<String>&, ShouldClearFirst) { }, HasStorageAccessForFrameHandler&& hasStorageAccessForFrameHandler = [](const String&, const String&, uint64_t, uint64_t, WTF::Function<void(bool)>&&) { }, GrantStorageAccessHandler&& grantStorageAccessHandler = [](const String&, const String&, std::optional<uint64_t>, uint64_t, WTF::Function<void(bool)>&&) { }, RemovePrevalentDomainsHandler&& removeDomainsHandler = [] (const WTF::Vector<String>&) { })
+    static Ref<WebResourceLoadStatisticsStore> create(const String& resourceLoadStatisticsDirectory, Function<void (const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&& updatePrevalentDomainsToPartitionOrBlockCookiesHandler = [](const WTF::Vector<String>&, const WTF::Vector<String>&, const WTF::Vector<String>&, ShouldClearFirst) { }, HasStorageAccessForFrameHandler&& hasStorageAccessForFrameHandler = [](const String&, const String&, uint64_t, uint64_t, WTF::Function<void(bool)>&&) { }, GrantStorageAccessHandler&& grantStorageAccessHandler = [](const String&, const String&, std::optional<uint64_t>, uint64_t, WTF::Function<void(bool)>&&) { }, RemoveAllStorageAccessHandler&& removeAllStorageAccessHandler = []() { }, RemovePrevalentDomainsHandler&& removeDomainsHandler = [] 
 (const WTF::Vector<String>&) { })
     {
-        return adoptRef(*new WebResourceLoadStatisticsStore(resourceLoadStatisticsDirectory, WTFMove(testingCallback), isEphemeral, WTFMove(updatePrevalentDomainsToPartitionOrBlockCookiesHandler), WTFMove(hasStorageAccessForFrameHandler), WTFMove(grantStorageAccessHandler), WTFMove(removeDomainsHandler)));
+        return adoptRef(*new WebResourceLoadStatisticsStore(resourceLoadStatisticsDirectory, WTFMove(testingCallback), isEphemeral, WTFMove(updatePrevalentDomainsToPartitionOrBlockCookiesHandler), WTFMove(hasStorageAccessForFrameHandler), WTFMove(grantStorageAccessHandler), WTFMove(removeAllStorageAccessHandler), WTFMove(removeDomainsHandler)));
     }
 
     ~WebResourceLoadStatisticsStore();
@@ -151,7 +152,7 @@
     void logTestingEvent(const String&);
 
 private:
-    WebResourceLoadStatisticsStore(const String&, Function<void(const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&&, HasStorageAccessForFrameHandler&&, GrantStorageAccessHandler&&, RemovePrevalentDomainsHandler&&);
+    WebResourceLoadStatisticsStore(const String&, Function<void(const String&)>&& testingCallback, bool isEphemeral, UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler&&, HasStorageAccessForFrameHandler&&, GrantStorageAccessHandler&&, RemoveAllStorageAccessHandler&&, RemovePrevalentDomainsHandler&&);
 
     void removeDataRecords(CompletionHandler<void()>&&);
 
@@ -178,6 +179,7 @@
     void processStatisticsAndDataRecords();
 
     void resetCookiePartitioningState();
+    void removeAllStorageAccess();
 
     void setDebugLogggingEnabled(bool enabled) { m_debugLoggingEnabled  = enabled; }
 
@@ -212,6 +214,7 @@
     UpdatePrevalentDomainsToPartitionOrBlockCookiesHandler m_updatePrevalentDomainsToPartitionOrBlockCookiesHandler;
     HasStorageAccessForFrameHandler m_hasStorageAccessForFrameHandler;
     GrantStorageAccessHandler m_grantStorageAccessHandler;
+    RemoveAllStorageAccessHandler m_removeAllStorageAccessHandler;
     RemovePrevalentDomainsHandler m_removeDomainsHandler;
 
     WallTime m_endOfGrandfatheringTimestamp;

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2018-03-15 05:05:36 UTC (rev 229619)
@@ -1214,6 +1214,14 @@
         processPool->networkProcess()->grantStorageAccess(m_sessionID, resourceDomain, firstPartyDomain, frameID, pageID, WTFMove(callback));
 }
 
+void WebsiteDataStore::removeAllStorageAccessHandler()
+{
+    for (auto& processPool : processPools()) {
+        if (auto networkProcess = processPool->networkProcess())
+            networkProcess->removeAllStorageAccess(m_sessionID);
+    }
+}
+
 void WebsiteDataStore::removePrevalentDomains(const Vector<String>& domains)
 {
     for (auto& processPool : processPools())
@@ -1444,6 +1452,8 @@
         hasStorageAccessForFrameHandler(resourceDomain, firstPartyDomain, frameID, pageID, WTFMove(callback));
     }, [this, protectedThis = makeRef(*this)] (const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, WTF::CompletionHandler<void(bool wasGranted)>&& callback) {
         grantStorageAccessHandler(resourceDomain, firstPartyDomain, frameID, pageID, WTFMove(callback));
+    }, [this, protectedThis = makeRef(*this)] () {
+        removeAllStorageAccessHandler();
     }, [this, protectedThis = makeRef(*this)] (const Vector<String>& domainsToRemove) {
         removePrevalentDomains(domainsToRemove);
     });

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (229618 => 229619)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2018-03-15 03:17:37 UTC (rev 229618)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2018-03-15 05:05:36 UTC (rev 229619)
@@ -127,6 +127,7 @@
     void hasStorageAccessForFrameHandler(const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, WTF::CompletionHandler<void(bool hasAccess)>&& callback);
     void getAllStorageAccessEntries(CompletionHandler<void(Vector<String>&& domains)>&&);
     void grantStorageAccessHandler(const String& resourceDomain, const String& firstPartyDomain, std::optional<uint64_t> frameID, uint64_t pageID, WTF::CompletionHandler<void(bool wasGranted)>&& callback);
+    void removeAllStorageAccessHandler();
     void removePrevalentDomains(const Vector<String>& domains);
     void hasStorageAccess(String&& subFrameHost, String&& topFrameHost, uint64_t frameID, uint64_t pageID, WTF::CompletionHandler<void (bool)>&& callback);
     void requestStorageAccess(String&& subFrameHost, String&& topFrameHost, uint64_t frameID, uint64_t pageID, WTF::CompletionHandler<void (bool)>&& callback);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to