Title: [266268] trunk/Source
Revision
266268
Author
wilan...@apple.com
Date
2020-08-27 19:32:55 -0700 (Thu, 27 Aug 2020)

Log Message

Remove the feature flag for capped cookies set in 3rd-party CNAME cloaked HTTP responses and add ITP debug logging
https://bugs.webkit.org/show_bug.cgi?id=215902
<rdar://problem/66699731>

Reviewed by Brent Fulgham.

This change removes the feature flag, effectively turning the feature on.
It also adds log output of cookie names that have been capped when ITP
Debug Mode is enabled.

Source/WebCore:

WebCore::NetworkStorageSession now has a member flag for ITP debug logging.

No new tests. This feature already has tests.

* page/Settings.yaml:
* platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::setResourceLoadStatisticsDebugLoggingEnabled):
(WebCore::NetworkStorageSession::resourceLoadStatisticsDebugLoggingEnabled const):
    New function to be able to conditionalize log output in the new feature.
* platform/network/NetworkStorageSession.h:

Source/WebKit:

* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode):
    Now sets the flag in WebCore::NetworkStorageSession through the new function
    WebCore::NetworkStorageSession::setResourceLoadStatisticsDebugLoggingEnabled().
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::resetParametersToDefaultValues):
(WebKit::NetworkProcess::setIsRunningResourceLoadStatisticsTest):
* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::setFirstPartyHostCNAMEDomain):
(WebKit::NetworkSession::firstPartyHostCNAMEDomain):
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::setCNAMECloakingMitigationEnabled): Deleted.
(WebKit::NetworkSession::cnameCloakingMitigationEnabled const): Deleted.
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::updateFirstPartyInfoForSession):
(WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):
* Shared/ResourceLoadStatisticsParameters.h:
(WebKit::ResourceLoadStatisticsParameters::encode const):
(WebKit::ResourceLoadStatisticsParameters::decode):
* Shared/WebPreferences.yaml:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (266267 => 266268)


--- trunk/Source/WebCore/ChangeLog	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebCore/ChangeLog	2020-08-28 02:32:55 UTC (rev 266268)
@@ -1,3 +1,26 @@
+2020-08-27  John Wilander  <wilan...@apple.com>
+
+        Remove the feature flag for capped cookies set in 3rd-party CNAME cloaked HTTP responses and add ITP debug logging
+        https://bugs.webkit.org/show_bug.cgi?id=215902
+        <rdar://problem/66699731>
+
+        Reviewed by Brent Fulgham.
+
+        This change removes the feature flag, effectively turning the feature on.
+        It also adds log output of cookie names that have been capped when ITP
+        Debug Mode is enabled.
+
+        WebCore::NetworkStorageSession now has a member flag for ITP debug logging.
+
+        No new tests. This feature already has tests.
+
+        * page/Settings.yaml:
+        * platform/network/NetworkStorageSession.cpp:
+        (WebCore::NetworkStorageSession::setResourceLoadStatisticsDebugLoggingEnabled):
+        (WebCore::NetworkStorageSession::resourceLoadStatisticsDebugLoggingEnabled const):
+            New function to be able to conditionalize log output in the new feature.
+        * platform/network/NetworkStorageSession.h:
+
 2020-08-27  Frank Yang  <guowei_y...@apple.com>
 
         CSS Filter invert() and opacity() Implementation Should Use Linear Transfer Function for Clarity and Simplicity

Modified: trunk/Source/WebCore/page/Settings.yaml (266267 => 266268)


--- trunk/Source/WebCore/page/Settings.yaml	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebCore/page/Settings.yaml	2020-08-28 02:32:55 UTC (rev 266268)
@@ -933,9 +933,6 @@
 isSameSiteStrictEnforcementEnabled:
   initial: false
 
-isCNAMECloakingMitigationEnabled:
-  initial: false
-
 isLoggedInAPIEnabled:
   initial: false
 

Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.cpp (266267 => 266268)


--- trunk/Source/WebCore/platform/network/NetworkStorageSession.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -79,6 +79,16 @@
 }
 #endif
 
+void NetworkStorageSession::setResourceLoadStatisticsDebugLoggingEnabled(bool enabled)
+{
+    m_isResourceLoadStatisticsDebugLoggingEnabled = enabled;
+}
+
+bool NetworkStorageSession::resourceLoadStatisticsDebugLoggingEnabled() const
+{
+    return m_isResourceLoadStatisticsDebugLoggingEnabled;
+}
+
 bool NetworkStorageSession::shouldBlockThirdPartyCookies(const RegistrableDomain& registrableDomain) const
 {
     if (!m_isResourceLoadStatisticsEnabled || registrableDomain.isEmpty())

Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (266267 => 266268)


--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2020-08-28 02:32:55 UTC (rev 266268)
@@ -85,7 +85,6 @@
 enum class IncludeHttpOnlyCookies : bool;
 enum class ThirdPartyCookieBlockingMode : uint8_t { All, AllExceptBetweenAppBoundDomains, AllOnSitesWithoutUserInteraction, OnlyAccordingToPerDomainPolicy };
 enum class SameSiteStrictEnforcementEnabled : bool { Yes, No };
-enum class CNAMECloakingMitigationEnabled : bool { Yes, No };
 enum class FirstPartyWebsiteDataRemovalMode : uint8_t { AllButCookies, None, AllButCookiesLiveOnTestingTimeout, AllButCookiesReproTestingTimeout };
 enum class ShouldAskITP : bool { No, Yes };
 
@@ -186,6 +185,8 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
     WEBCORE_EXPORT void setResourceLoadStatisticsEnabled(bool);
     WEBCORE_EXPORT bool resourceLoadStatisticsEnabled() const;
+    WEBCORE_EXPORT void setResourceLoadStatisticsDebugLoggingEnabled(bool);
+    WEBCORE_EXPORT bool resourceLoadStatisticsDebugLoggingEnabled() const;
     WEBCORE_EXPORT bool shouldBlockCookies(const ResourceRequest&, Optional<FrameIdentifier>, Optional<PageIdentifier>, ShouldRelaxThirdPartyCookieBlocking) const;
     WEBCORE_EXPORT bool shouldBlockCookies(const URL& firstPartyForCookies, const URL& resource, Optional<FrameIdentifier>, Optional<PageIdentifier>, ShouldRelaxThirdPartyCookieBlocking) const;
     WEBCORE_EXPORT bool shouldBlockThirdPartyCookies(const RegistrableDomain&) const;
@@ -259,6 +260,7 @@
 
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
     bool m_isResourceLoadStatisticsEnabled = false;
+    bool m_isResourceLoadStatisticsDebugLoggingEnabled = false;
     Optional<Seconds> clientSideCookieCap(const TopFrameDomain&, Optional<PageIdentifier>) const;
     bool shouldExemptDomainPairFromThirdPartyCookieBlocking(const TopFrameDomain&, const SubResourceDomain&) const;
     HashSet<RegistrableDomain> m_registrableDomainsToBlockAndDeleteCookiesFor;

Modified: trunk/Source/WebKit/ChangeLog (266267 => 266268)


--- trunk/Source/WebKit/ChangeLog	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/ChangeLog	2020-08-28 02:32:55 UTC (rev 266268)
@@ -1,3 +1,43 @@
+2020-08-27  John Wilander  <wilan...@apple.com>
+
+        Remove the feature flag for capped cookies set in 3rd-party CNAME cloaked HTTP responses and add ITP debug logging
+        https://bugs.webkit.org/show_bug.cgi?id=215902
+        <rdar://problem/66699731>
+
+        Reviewed by Brent Fulgham.
+
+        This change removes the feature flag, effectively turning the feature on.
+        It also adds log output of cookie names that have been capped when ITP
+        Debug Mode is enabled.
+
+        * NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
+        (WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode):
+            Now sets the flag in WebCore::NetworkStorageSession through the new function
+            WebCore::NetworkStorageSession::setResourceLoadStatisticsDebugLoggingEnabled().
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::resetParametersToDefaultValues):
+        (WebKit::NetworkProcess::setIsRunningResourceLoadStatisticsTest):
+        * NetworkProcess/NetworkSession.cpp:
+        (WebKit::NetworkSession::NetworkSession):
+        (WebKit::NetworkSession::setFirstPartyHostCNAMEDomain):
+        (WebKit::NetworkSession::firstPartyHostCNAMEDomain):
+        * NetworkProcess/NetworkSession.h:
+        (WebKit::NetworkSession::setCNAMECloakingMitigationEnabled): Deleted.
+        (WebKit::NetworkSession::cnameCloakingMitigationEnabled const): Deleted.
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTaskCocoa::updateFirstPartyInfoForSession):
+        (WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):
+        * Shared/ResourceLoadStatisticsParameters.h:
+        (WebKit::ResourceLoadStatisticsParameters::encode const):
+        (WebKit::ResourceLoadStatisticsParameters::decode):
+        * Shared/WebPreferences.yaml:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::ensureNetworkProcess):
+        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+        (WebKit::WebsiteDataStore::platformSetNetworkParameters):
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::parameters):
+
 2020-08-27  Devin Rousso  <drou...@apple.com>
 
         [iOS] provide a way to get previously inserted alternatives for the selected text

Modified: trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp (266267 => 266268)


--- trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -302,6 +302,11 @@
         return;
     }
 
+    if (m_networkSession) {
+        if (auto* storageSession = m_networkSession->networkStorageSession())
+            storageSession->setResourceLoadStatisticsDebugLoggingEnabled(value);
+    }
+
     postTask([this, value, completionHandler = WTFMove(completionHandler)]() mutable {
         if (m_statisticsStore)
             m_statisticsStore->setResourceLoadStatisticsDebugMode(value);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (266267 => 266268)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -815,7 +815,6 @@
 {
     if (auto* networkSession = this->networkSession(sessionID)) {
         networkSession->resetCNAMEDomainData();
-        networkSession->setCNAMECloakingMitigationEnabled(WebCore::CNAMECloakingMitigationEnabled::No);
         if (auto* resourceLoadStatistics = networkSession->resourceLoadStatistics())
             resourceLoadStatistics->resetParametersToDefaultValues(WTFMove(completionHandler));
         else
@@ -868,7 +867,6 @@
 void NetworkProcess::setIsRunningResourceLoadStatisticsTest(PAL::SessionID sessionID, bool value, CompletionHandler<void()>&& completionHandler)
 {
     if (auto* networkSession = this->networkSession(sessionID)) {
-        networkSession->setCNAMECloakingMitigationEnabled(WebCore::CNAMECloakingMitigationEnabled::Yes);
         if (auto* resourceLoadStatistics = networkSession->resourceLoadStatistics())
             resourceLoadStatistics->setIsRunningTest(value, WTFMove(completionHandler));
         else

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp (266267 => 266268)


--- trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -90,7 +90,6 @@
     , m_sameSiteStrictEnforcementEnabled(parameters.resourceLoadStatisticsParameters.sameSiteStrictEnforcementEnabled)
     , m_firstPartyWebsiteDataRemovalMode(parameters.resourceLoadStatisticsParameters.firstPartyWebsiteDataRemovalMode)
     , m_standaloneApplicationDomain(parameters.resourceLoadStatisticsParameters.standaloneApplicationDomain)
-    , m_cnameCloakingMitigationEnabled(parameters.resourceLoadStatisticsParameters.cnameCloakingMitigationEnabled)
 #endif
     , m_adClickAttribution(makeUniqueRef<AdClickAttributionManager>(networkProcess, parameters.sessionID))
     , m_testSpeedMultiplier(parameters.testSpeedMultiplier)
@@ -285,9 +284,6 @@
 void NetworkSession::setFirstPartyHostCNAMEDomain(String&& firstPartyHost, WebCore::RegistrableDomain&& cnameDomain)
 {
 #if HAVE(CFNETWORK_CNAME_AND_COOKIE_TRANSFORM_SPI)
-    if (!cnameCloakingMitigationEnabled())
-        return;
-
     ASSERT(!firstPartyHost.isEmpty() && !cnameDomain.isEmpty() && firstPartyHost != cnameDomain.string());
     if (firstPartyHost.isEmpty() || cnameDomain.isEmpty() || firstPartyHost == cnameDomain.string())
         return;
@@ -301,9 +297,6 @@
 Optional<WebCore::RegistrableDomain> NetworkSession::firstPartyHostCNAMEDomain(const String& firstPartyHost)
 {
 #if HAVE(CFNETWORK_CNAME_AND_COOKIE_TRANSFORM_SPI)
-    if (!cnameCloakingMitigationEnabled())
-        return WTF::nullopt;
-
     auto iterator = m_firstPartyHostCNAMEDomains.find(firstPartyHost);
     if (iterator == m_firstPartyHostCNAMEDomains.end())
         return WTF::nullopt;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.h (266267 => 266268)


--- trunk/Source/WebKit/NetworkProcess/NetworkSession.h	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.h	2020-08-28 02:32:55 UTC (rev 266268)
@@ -105,8 +105,6 @@
     bool shouldDowngradeReferrer() const;
     void setThirdPartyCookieBlockingMode(WebCore::ThirdPartyCookieBlockingMode);
     void setShouldEnbleSameSiteStrictEnforcement(WebCore::SameSiteStrictEnforcementEnabled);
-    void setCNAMECloakingMitigationEnabled(WebCore::CNAMECloakingMitigationEnabled value) { m_cnameCloakingMitigationEnabled = value; }
-    bool cnameCloakingMitigationEnabled() const { return m_cnameCloakingMitigationEnabled == WebCore::CNAMECloakingMitigationEnabled::Yes; }
     void setFirstPartyHostCNAMEDomain(String&& firstPartyHost, WebCore::RegistrableDomain&& cnameDomain);
     Optional<WebCore::RegistrableDomain> firstPartyHostCNAMEDomain(const String& firstPartyHost);
     void setThirdPartyCNAMEDomainForTesting(WebCore::RegistrableDomain&& domain) { m_thirdPartyCNAMEDomainForTesting = WTFMove(domain); };
@@ -173,7 +171,6 @@
     WebCore::SameSiteStrictEnforcementEnabled m_sameSiteStrictEnforcementEnabled { WebCore::SameSiteStrictEnforcementEnabled::No };
     WebCore::FirstPartyWebsiteDataRemovalMode m_firstPartyWebsiteDataRemovalMode { WebCore::FirstPartyWebsiteDataRemovalMode::AllButCookies };
     WebCore::RegistrableDomain m_standaloneApplicationDomain;
-    WebCore::CNAMECloakingMitigationEnabled m_cnameCloakingMitigationEnabled { WebCore::CNAMECloakingMitigationEnabled::No };
     HashMap<String, WebCore::RegistrableDomain> m_firstPartyHostCNAMEDomains;
     Optional<WebCore::RegistrableDomain> m_thirdPartyCNAMEDomainForTesting;
 #endif

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (266267 => 266268)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2020-08-28 02:32:55 UTC (rev 266268)
@@ -153,7 +153,7 @@
 
 void NetworkDataTaskCocoa::updateFirstPartyInfoForSession(const URL& requestURL)
 {
-    if (!hasCNAMEAndCookieTransformSPI(m_task.get()) || !networkSession() || !networkSession()->networkStorageSession() || !networkSession()->networkStorageSession()->resourceLoadStatisticsEnabled() || !networkSession()->cnameCloakingMitigationEnabled() || requestURL.host().isEmpty())
+    if (!hasCNAMEAndCookieTransformSPI(m_task.get()) || !networkSession() || !networkSession()->networkStorageSession() || !networkSession()->networkStorageSession()->resourceLoadStatisticsEnabled() || requestURL.host().isEmpty())
         return;
 
     auto cnameDomain = lastCNAMEDomain([m_task _resolvedCNAMEChain]);
@@ -163,7 +163,7 @@
 
 void NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking(const WebCore::ResourceRequest& request)
 {
-    if (!hasCNAMEAndCookieTransformSPI(m_task.get()) || isTopLevelNavigation() || !networkSession() || !networkSession()->networkStorageSession() || !networkSession()->networkStorageSession()->resourceLoadStatisticsEnabled() || !networkSession()->cnameCloakingMitigationEnabled())
+    if (!hasCNAMEAndCookieTransformSPI(m_task.get()) || isTopLevelNavigation() || !networkSession() || !networkSession()->networkStorageSession() || !networkSession()->networkStorageSession()->resourceLoadStatisticsEnabled())
         return;
 
     if (isThirdPartyRequest(request)) {
@@ -177,7 +177,7 @@
     auto firstPartyURL = request.firstPartyForCookies();
     auto firstPartyHostCNAME = networkSession()->firstPartyHostCNAMEDomain(firstPartyURL.host().toString());
 
-    m_task.get()._cookieTransformCallback = makeBlockPtr([requestURL = crossThreadCopy(request.url()), firstPartyURL = crossThreadCopy(firstPartyURL), firstPartyHostCNAME = crossThreadCopy(firstPartyHostCNAME), thirdPartyCNAMEDomainForTesting = crossThreadCopy(networkSession()->thirdPartyCNAMEDomainForTesting()), ageCapForCNAMECloakedCookies = crossThreadCopy(m_ageCapForCNAMECloakedCookies), task = m_task] (NSArray<NSHTTPCookie*> *cookiesSetInResponse) -> NSArray<NSHTTPCookie*> * {
+    m_task.get()._cookieTransformCallback = makeBlockPtr([requestURL = crossThreadCopy(request.url()), firstPartyURL = crossThreadCopy(firstPartyURL), firstPartyHostCNAME = crossThreadCopy(firstPartyHostCNAME), thirdPartyCNAMEDomainForTesting = crossThreadCopy(networkSession()->thirdPartyCNAMEDomainForTesting()), ageCapForCNAMECloakedCookies = crossThreadCopy(m_ageCapForCNAMECloakedCookies), task = m_task, debugLoggingEnabled = networkSession()->networkStorageSession()->resourceLoadStatisticsDebugLoggingEnabled()] (NSArray<NSHTTPCookie*> *cookiesSetInResponse) -> NSArray<NSHTTPCookie*> * {
         if (![cookiesSetInResponse count])
             return cookiesSetInResponse;
 
@@ -202,6 +202,8 @@
                 NSHTTPCookie *cookie = (NSHTTPCookie *)[cookiesSetInResponse objectAtIndex:i];
                 cookie = WebCore::NetworkStorageSession::capExpiryOfPersistentCookie(cookie, ageCapForCNAMECloakedCookies);
                 [cappedCookies addObject:cookie];
+                if (debugLoggingEnabled)
+                    RELEASE_LOG_INFO(ITPDebug, "Capped the expiry of third-party CNAME cloaked cookie named %s.", [[cookie name] UTF8String]);
             }
             return cappedCookies;
         }

Modified: trunk/Source/WebKit/Shared/ResourceLoadStatisticsParameters.h (266267 => 266268)


--- trunk/Source/WebKit/Shared/ResourceLoadStatisticsParameters.h	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/Shared/ResourceLoadStatisticsParameters.h	2020-08-28 02:32:55 UTC (rev 266268)
@@ -45,7 +45,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
     WebCore::ThirdPartyCookieBlockingMode thirdPartyCookieBlockingMode { WebCore::ThirdPartyCookieBlockingMode::All };
     WebCore::SameSiteStrictEnforcementEnabled sameSiteStrictEnforcementEnabled { WebCore::SameSiteStrictEnforcementEnabled::No };
-    WebCore::CNAMECloakingMitigationEnabled cnameCloakingMitigationEnabled { WebCore::CNAMECloakingMitigationEnabled::No };
 #endif
     WebCore::FirstPartyWebsiteDataRemovalMode firstPartyWebsiteDataRemovalMode { WebCore::FirstPartyWebsiteDataRemovalMode::AllButCookies };
     WebCore::RegistrableDomain standaloneApplicationDomain;
@@ -64,7 +63,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
         encoder << thirdPartyCookieBlockingMode;
         encoder << sameSiteStrictEnforcementEnabled;
-        encoder << cnameCloakingMitigationEnabled;
 #endif
         encoder << firstPartyWebsiteDataRemovalMode;
         encoder << standaloneApplicationDomain;
@@ -119,11 +117,6 @@
         decoder >> sameSiteStrictEnforcementEnabled;
         if (!sameSiteStrictEnforcementEnabled)
             return WTF::nullopt;
-
-        Optional<WebCore::CNAMECloakingMitigationEnabled> cnameCloakingMitigationEnabled;
-        decoder >> cnameCloakingMitigationEnabled;
-        if (!cnameCloakingMitigationEnabled)
-            return WTF::nullopt;
 #endif
 
         Optional<WebCore::FirstPartyWebsiteDataRemovalMode> firstPartyWebsiteDataRemovalMode;
@@ -157,7 +150,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
             WTFMove(*thirdPartyCookieBlockingMode),
             WTFMove(*sameSiteStrictEnforcementEnabled),
-            WTFMove(*cnameCloakingMitigationEnabled),
 #endif
             WTFMove(*firstPartyWebsiteDataRemovalMode),
             WTFMove(*standaloneApplicationDomain),

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (266267 => 266268)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2020-08-28 02:32:55 UTC (rev 266268)
@@ -2082,13 +2082,6 @@
   humanReadableDescription: "Enable SameSite strict enforcement to mitigate bounce tracking"
   category: experimental
 
-IsCNAMECloakingMitigationEnabled:
-  type: bool
-  defaultValue: false
-  humanReadableName: "Enable CNAME cloaking mitigation"
-  humanReadableDescription: "Enable third-party CNAME cloaking mitigation"
-  category: experimental
-
 IsLoggedInAPIEnabled:
     type: bool
     defaultValue: false

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (266267 => 266268)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -597,7 +597,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
     WebCore::ThirdPartyCookieBlockingMode thirdPartyCookieBlockingMode = WebCore::ThirdPartyCookieBlockingMode::All;
     WebCore::SameSiteStrictEnforcementEnabled sameSiteStrictEnforcementEnabled = WebCore::SameSiteStrictEnforcementEnabled::No;
-    WebCore::CNAMECloakingMitigationEnabled cnameCloakingMitigationEnabled = WebCore::CNAMECloakingMitigationEnabled::No;
 #endif
     WebCore::FirstPartyWebsiteDataRemovalMode firstPartyWebsiteDataRemovalMode = WebCore::FirstPartyWebsiteDataRemovalMode::AllButCookies;
     WebCore::RegistrableDomain standaloneApplicationDomain;
@@ -631,7 +630,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
             thirdPartyCookieBlockingMode = networkSessionParameters.resourceLoadStatisticsParameters.thirdPartyCookieBlockingMode;
             sameSiteStrictEnforcementEnabled = networkSessionParameters.resourceLoadStatisticsParameters.sameSiteStrictEnforcementEnabled;
-            cnameCloakingMitigationEnabled = networkSessionParameters.resourceLoadStatisticsParameters.cnameCloakingMitigationEnabled;
 #endif
             firstPartyWebsiteDataRemovalMode = networkSessionParameters.resourceLoadStatisticsParameters.firstPartyWebsiteDataRemovalMode;
             standaloneApplicationDomain = networkSessionParameters.resourceLoadStatisticsParameters.standaloneApplicationDomain;
@@ -665,7 +663,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
             thirdPartyCookieBlockingMode = networkSessionParameters.resourceLoadStatisticsParameters.thirdPartyCookieBlockingMode;
             sameSiteStrictEnforcementEnabled = networkSessionParameters.resourceLoadStatisticsParameters.sameSiteStrictEnforcementEnabled;
-            cnameCloakingMitigationEnabled = networkSessionParameters.resourceLoadStatisticsParameters.cnameCloakingMitigationEnabled;
 #endif
             firstPartyWebsiteDataRemovalMode = networkSessionParameters.resourceLoadStatisticsParameters.firstPartyWebsiteDataRemovalMode;
             standaloneApplicationDomain = networkSessionParameters.resourceLoadStatisticsParameters.standaloneApplicationDomain;
@@ -715,7 +712,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
         thirdPartyCookieBlockingMode,
         sameSiteStrictEnforcementEnabled,
-        cnameCloakingMitigationEnabled,
 #endif
         firstPartyWebsiteDataRemovalMode,
         standaloneApplicationDomain,

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (266267 => 266268)


--- trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm	2020-08-28 02:32:55 UTC (rev 266268)
@@ -94,7 +94,6 @@
     bool shouldLogCookieInformation = false;
     bool enableResourceLoadStatisticsDebugMode = false;
     auto sameSiteStrictEnforcementEnabled = WebCore::SameSiteStrictEnforcementEnabled::No;
-    auto cnameCloakingMitigationEnabled = WebCore::CNAMECloakingMitigationEnabled::No;
     auto firstPartyWebsiteDataRemovalMode = WebCore::FirstPartyWebsiteDataRemovalMode::AllButCookies;
     WebCore::RegistrableDomain resourceLoadStatisticsManualPrevalentResource { };
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
@@ -103,9 +102,6 @@
     if ([defaults boolForKey:[NSString stringWithFormat:@"Experimental%@", WebPreferencesKey::isSameSiteStrictEnforcementEnabledKey().createCFString().get()]])
         sameSiteStrictEnforcementEnabled = WebCore::SameSiteStrictEnforcementEnabled::Yes;
 
-    if ([defaults boolForKey:[NSString stringWithFormat:@"Experimental%@", WebPreferencesKey::isCNAMECloakingMitigationEnabledKey().createCFString().get()]])
-        cnameCloakingMitigationEnabled = WebCore::CNAMECloakingMitigationEnabled::Yes;
-
     if ([defaults boolForKey:[NSString stringWithFormat:@"Experimental%@", WebPreferencesKey::isFirstPartyWebsiteDataRemovalDisabledKey().createCFString().get()]])
         firstPartyWebsiteDataRemovalMode = WebCore::FirstPartyWebsiteDataRemovalMode::None;
     else {
@@ -182,7 +178,6 @@
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.shouldIncludeLocalhost = shouldIncludeLocalhostInResourceLoadStatistics;
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.enableDebugMode = enableResourceLoadStatisticsDebugMode;
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.sameSiteStrictEnforcementEnabled = sameSiteStrictEnforcementEnabled;
-    parameters.networkSessionParameters.resourceLoadStatisticsParameters.cnameCloakingMitigationEnabled = cnameCloakingMitigationEnabled;
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.firstPartyWebsiteDataRemovalMode = firstPartyWebsiteDataRemovalMode;
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.standaloneApplicationDomain = WebCore::RegistrableDomain { m_configuration->standaloneApplicationURL() };
     parameters.networkSessionParameters.resourceLoadStatisticsParameters.manualPrevalentResource = WTFMove(resourceLoadStatisticsManualPrevalentResource);

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (266267 => 266268)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2020-08-28 02:00:34 UTC (rev 266267)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2020-08-28 02:32:55 UTC (rev 266268)
@@ -2318,7 +2318,6 @@
 #if ENABLE(RESOURCE_LOAD_STATISTICS)
         thirdPartyCookieBlockingMode(),
         WebCore::SameSiteStrictEnforcementEnabled::No,
-        WebCore::CNAMECloakingMitigationEnabled::No,
 #endif
         firstPartyWebsiteDataRemovalMode,
         WTFMove(standaloneApplicationDomain),
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to