Title: [226389] trunk
Revision
226389
Author
[email protected]
Date
2018-01-03 20:21:58 -0800 (Wed, 03 Jan 2018)

Log Message

Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
https://bugs.webkit.org/show_bug.cgi?id=181270
<rdar://problem/36289544>

Reviewed by Alex Christensen.

Source/WebCore:

No new tests. Existing test re-enabled.

This change refactors how the web process tells the network process
to remove storage access. Previously, this was done over the UI process
just like requests for storage access. But since no further reasoning
is needed, the message should go straight from the web process to the
network process for performance reasons and to minimize the risk of a
race.

As a consequence, the XPC code for storage access removal in the UI
process is deleted.

* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::cookieStoragePartition const):
    Removes the storageAccessAPIEnabled check since the flag
    doesn't get propagated when the network process is created.
    Figuring this out will take some work which is unnecessary
    when we already gate access to the feature in Document.idl.

Source/WebKit:

This change refactors how the web process tells the network process
to remove storage access. Previously, this was done over the UI process
just like requests for storage access. But since no further reasoning
is needed, the message should go straight from the web process to the
network process for performance reasons and to minimize the risk of a
race.

As a consequence, the XPC code for storage access removal in the UI
process is deleted.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::removeStorageAccess):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::removeStorageAccess): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::removeStorageAccess): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestStorageAccess):
(WebKit::WebPageProxy::removeStorageAccess): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::requestStorageAccess):
(WebKit::WebsiteDataStore::removeStorageAccess): Deleted.
* UIProcess/WebsiteData/WebsiteDataStore.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::detachedFromParent2):
(WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):

LayoutTests:

This change refactors how the web process tells the network process
to remove storage access. Previously, this was done over the UI process
just like requests for storage access. But since no further reasoning
is needed, the message should go straight from the web process to the
network process for performance reasons and to minimize the risk of a
race.

As a consequence, the XPC code for storage access removal in the UI
process is deleted.

* platform/mac-wk2/TestExpectations:
    Re-enables the test for this code path.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (226388 => 226389)


--- trunk/LayoutTests/ChangeLog	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/LayoutTests/ChangeLog	2018-01-04 04:21:58 UTC (rev 226389)
@@ -1,3 +1,24 @@
+2018-01-03  John Wilander  <[email protected]>
+
+        Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
+        https://bugs.webkit.org/show_bug.cgi?id=181270
+        <rdar://problem/36289544>
+
+        Reviewed by Alex Christensen.
+
+        This change refactors how the web process tells the network process
+        to remove storage access. Previously, this was done over the UI process
+        just like requests for storage access. But since no further reasoning
+        is needed, the message should go straight from the web process to the
+        network process for performance reasons and to minimize the risk of a
+        race.
+
+        As a consequence, the XPC code for storage access removal in the UI
+        process is deleted.
+
+        * platform/mac-wk2/TestExpectations:
+            Re-enables the test for this code path.
+
 2018-01-03  Michael Saboff  <[email protected]>
 
         Disable SharedArrayBuffers from Web API

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (226388 => 226389)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2018-01-04 04:21:58 UTC (rev 226389)
@@ -761,6 +761,7 @@
 [ HighSierra+ ] http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html [ Pass ]
 [ HighSierra+ ] http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html [ Pass ]
 [ HighSierra+ ] http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html [ Pass ]
+[ HighSierra+ ] http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html [ Pass ]
 [ HighSierra+ ] http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html [ Pass ]
 [ HighSierra+ ] http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html [ Pass ]
 [ HighSierra+ ] http/tests/storageAccess/request-storage-access-top-frame.html [ Pass ]

Modified: trunk/Source/WebCore/ChangeLog (226388 => 226389)


--- trunk/Source/WebCore/ChangeLog	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebCore/ChangeLog	2018-01-04 04:21:58 UTC (rev 226389)
@@ -1,3 +1,30 @@
+2018-01-03  John Wilander  <[email protected]>
+
+        Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
+        https://bugs.webkit.org/show_bug.cgi?id=181270
+        <rdar://problem/36289544>
+
+        Reviewed by Alex Christensen.
+
+        No new tests. Existing test re-enabled.
+
+        This change refactors how the web process tells the network process
+        to remove storage access. Previously, this was done over the UI process
+        just like requests for storage access. But since no further reasoning
+        is needed, the message should go straight from the web process to the
+        network process for performance reasons and to minimize the risk of a
+        race.
+
+        As a consequence, the XPC code for storage access removal in the UI
+        process is deleted.
+
+        * platform/network/cf/NetworkStorageSessionCFNet.cpp:
+        (WebCore::NetworkStorageSession::cookieStoragePartition const):
+            Removes the storageAccessAPIEnabled check since the flag
+            doesn't get propagated when the network process is created.
+            Figuring this out will take some work which is unnecessary
+            when we already gate access to the feature in Document.idl.
+
 2018-01-03  James Craig  <[email protected]>
 
         AX: when invert colors is on, double-invert certain media elements in UserAgentStyleSheet

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


--- trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -196,7 +196,7 @@
     if (firstPartyDomain == resourceDomain)
         return emptyString();
 
-    if (storageAccessAPIEnabled && frameID && pageID && isStorageAccessGranted(resourceDomain, firstPartyDomain, frameID.value(), pageID.value()))
+    if (frameID && pageID && isStorageAccessGranted(resourceDomain, firstPartyDomain, frameID.value(), pageID.value()))
         return emptyString();
 
     return firstPartyDomain;

Modified: trunk/Source/WebKit/ChangeLog (226388 => 226389)


--- trunk/Source/WebKit/ChangeLog	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/ChangeLog	2018-01-04 04:21:58 UTC (rev 226389)
@@ -1,3 +1,45 @@
+2018-01-03  John Wilander  <[email protected]>
+
+        Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
+        https://bugs.webkit.org/show_bug.cgi?id=181270
+        <rdar://problem/36289544>
+
+        Reviewed by Alex Christensen.
+
+        This change refactors how the web process tells the network process
+        to remove storage access. Previously, this was done over the UI process
+        just like requests for storage access. But since no further reasoning
+        is needed, the message should go straight from the web process to the
+        network process for performance reasons and to minimize the risk of a
+        race.
+
+        As a consequence, the XPC code for storage access removal in the UI
+        process is deleted.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::removeStorageAccess):
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::removeStorageAccess): Deleted.
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::removeStorageAccess): Deleted.
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::requestStorageAccess):
+        (WebKit::WebPageProxy::removeStorageAccess): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::requestStorageAccess):
+        (WebKit::WebsiteDataStore::removeStorageAccess): Deleted.
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::detachedFromParent2):
+        (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
+
 2018-01-03  David Kilzer  <[email protected]>
 
         com.apple.WebKit.Networking crash in com.apple.Foundation: -[__NSOperationInternal _start:]

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -471,4 +471,15 @@
     NetworkProcess::singleton().addWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters());
 }
 
+void NetworkConnectionToWebProcess::removeStorageAccess(PAL::SessionID sessionID, uint64_t frameID, uint64_t pageID)
+{
+#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
+    storageSession(sessionID).removeStorageAccess(frameID, pageID);
+#else
+    UNUSED_PARAM(sessionID);
+    UNUSED_PARAM(frameID);
+    UNUSED_PARAM(pageID);
+#endif
+}
+
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h	2018-01-04 04:21:58 UTC (rev 226389)
@@ -133,6 +133,8 @@
 
     CacheStorageEngineConnection& cacheStorageConnection();
 
+    void removeStorageAccess(PAL::SessionID, uint64_t frameID, uint64_t pageID);
+
     Ref<IPC::Connection> m_connection;
 
     HashMap<uint64_t, RefPtr<NetworkSocketStream>> m_networkSocketStreams;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2018-01-04 04:21:58 UTC (rev 226389)
@@ -57,4 +57,6 @@
     CreateSocketStream(WebCore::URL url, PAL::SessionID sessionID, String cachePartition, uint64_t identifier)
 
     EnsureLegacyPrivateBrowsingSession()
+
+    RemoveStorageAccess(PAL::SessionID sessionID, uint64_t frameID, uint64_t pageID);
 }

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -360,14 +360,6 @@
     parentProcessConnection()->send(Messages::NetworkProcessProxy::StorageAccessRequestResult(isStorageGranted, contextId), 0);
 }
 
-void NetworkProcess::removeStorageAccess(PAL::SessionID sessionID, uint64_t frameID, uint64_t pageID)
-{
-    if (auto* networkStorageSession = NetworkStorageSession::storageSession(sessionID))
-        networkStorageSession->removeStorageAccess(frameID, pageID);
-    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 (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-01-04 04:21:58 UTC (rev 226389)
@@ -140,7 +140,6 @@
     void updatePrevalentDomainsToPartitionOrBlockCookies(PAL::SessionID, const Vector<String>& domainsToPartition, const Vector<String>& domainsToBlock, const Vector<String>& domainsToNeitherPartitionNorBlock, bool shouldClearFirst);
     void hasStorageAccessForPrevalentDomains(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, uint64_t contextId);
     void updateStorageAccessForPrevalentDomains(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, bool value, uint64_t contextId);
-    void removeStorageAccess(PAL::SessionID, uint64_t frameID, uint64_t pageID);
     void removePrevalentDomains(PAL::SessionID, const Vector<String>& domains);
 #endif
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (226388 => 226389)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2018-01-04 04:21:58 UTC (rev 226389)
@@ -85,7 +85,6 @@
     UpdatePrevalentDomainsToPartitionOrBlockCookies(PAL::SessionID sessionID, Vector<String> domainsToPartition, Vector<String> domainsToBlock, Vector<String> domainsToNeitherPartitionNorBlock, bool shouldClearFirst)
     HasStorageAccessForPrevalentDomains(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, uint64_t frameID, uint64_t pageID, uint64_t contextId)
     UpdateStorageAccessForPrevalentDomains(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, uint64_t frameID, uint64_t pageID, bool shouldGrantAccess, uint64_t contextId)
-    RemoveStorageAccess(PAL::SessionID sessionID, uint64_t frameID, uint64_t pageID);
     RemovePrevalentDomains(PAL::SessionID sessionID, Vector<String> domainsWithInteraction);
 #endif
 }

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -424,11 +424,6 @@
     send(Messages::NetworkProcess::UpdateStorageAccessForPrevalentDomains(sessionID, resourceDomain, firstPartyDomain, frameID, pageID, value, contextId), 0);
 }
 
-void NetworkProcessProxy::removeStorageAccess(PAL::SessionID sessionID, uint64_t frameID, uint64_t pageID)
-{
-    send(Messages::NetworkProcess::RemoveStorageAccess(sessionID, frameID, pageID), 0);
-}
-
 void NetworkProcessProxy::storageAccessRequestResult(bool wasGranted, uint64_t contextId)
 {
     auto callback = m_storageAccessResponseCallbackMap.take(contextId);

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-01-04 04:21:58 UTC (rev 226389)
@@ -80,7 +80,6 @@
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     void hasStorageAccessForPrevalentDomains(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, CompletionHandler<void(bool)>&& callback);
     void updateStorageAccessForPrevalentDomains(PAL::SessionID, const String& resourceDomain, const String& firstPartyDomain, uint64_t frameID, uint64_t pageID, bool value, CompletionHandler<void(bool)>&& callback);
-    void removeStorageAccess(PAL::SessionID, uint64_t frameID, uint64_t pageID);
 #endif
 
     void processReadyToSuspend();

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -7197,12 +7197,6 @@
         m_process->send(Messages::WebPage::StorageAccessResponse(wasGranted, webProcessContextId), m_pageID);
     });
 }
-
-void WebPageProxy::removeStorageAccess(uint64_t frameID, uint64_t pageID)
-{
-    ASSERT(pageID == m_pageID);
-    m_websiteDataStore->removeStorageAccess(frameID, pageID);
-}
 #endif
 
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-01-04 04:21:58 UTC (rev 226389)
@@ -1247,7 +1247,6 @@
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     void hasStorageAccess(String&& subFrameHost, String&& topFrameHost, uint64_t frameID, uint64_t pageID, uint64_t webProcessContextId);
     void requestStorageAccess(String&& subFrameHost, String&& topFrameHost, uint64_t frameID, uint64_t pageID, uint64_t webProcessContextId);
-    void removeStorageAccess(uint64_t frameID, uint64_t pageID);
 #endif
 
 #if ENABLE(ATTACHMENT_ELEMENT)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2018-01-04 04:21:58 UTC (rev 226389)
@@ -505,7 +505,6 @@
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     HasStorageAccess(String subFrameHost, String topFrameHost, uint64_t frameID, uint64_t pageID, uint64_t contextID)
     RequestStorageAccess(String subFrameHost, String topFrameHost, uint64_t frameID, uint64_t pageID, uint64_t contextID)
-    RemoveStorageAccess(uint64_t frameID, uint64_t pageID)
 #endif
 
 #if ENABLE(ATTACHMENT_ELEMENT)

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -1213,12 +1213,6 @@
     
     m_resourceLoadStatistics->requestStorageAccess(WTFMove(subFrameHost), WTFMove(topFrameHost), frameID, pageID, WTFMove(callback));
 }
-
-void WebsiteDataStore::removeStorageAccess(uint64_t frameID, uint64_t pageID)
-{
-    for (auto& processPool : processPools())
-        processPool->networkProcess()->removeStorageAccess(m_sessionID, frameID, pageID);
-}
 #endif
 
 void WebsiteDataStore::networkProcessDidCrash()

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (226388 => 226389)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2018-01-04 04:21:58 UTC (rev 226389)
@@ -123,7 +123,6 @@
     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);
-    void removeStorageAccess(uint64_t frameID, uint64_t pageID);
 #endif
     void networkProcessDidCrash();
     void resolveDirectoriesIfNecessary();

Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (226388 => 226389)


--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2018-01-04 04:21:29 UTC (rev 226388)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2018-01-04 04:21:58 UTC (rev 226389)
@@ -36,6 +36,8 @@
 #include "InjectedBundleDOMWindowExtension.h"
 #include "InjectedBundleNavigationAction.h"
 #include "NavigationActionData.h"
+#include "NetworkConnectionToWebProcessMessages.h"
+#include "NetworkProcessConnection.h"
 #include "PluginView.h"
 #include "UserData.h"
 #include "WKBundleAPICast.h"
@@ -168,7 +170,7 @@
 
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     if (m_hasFrameSpecificStorageAccess) {
-        webPage->send(Messages::WebPageProxy::RemoveStorageAccess(frameID().value(), pageID().value()));
+        WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::RemoveStorageAccess(sessionID(), frameID().value(), pageID().value()), 0);
         m_hasFrameSpecificStorageAccess = false;
     }
 #endif
@@ -390,7 +392,7 @@
         return;
 
     if (m_hasFrameSpecificStorageAccess) {
-        webPage->send(Messages::WebPageProxy::RemoveStorageAccess(frameID().value(), pageID().value()));
+        WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::RemoveStorageAccess(sessionID(), frameID().value(), pageID().value()), 0);
         m_hasFrameSpecificStorageAccess = false;
     }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to