Skip to content

Commit

Permalink
Remove ENABLE_TRACKING_PREVENTION directive
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=265239

Reviewed by Michael Catanzaro.

All ports have it enabled by default.

(WinCairo had it as experimental, but they are okay with this change.)

* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebCore/Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Source/WebCore/dom/Document+StorageAccess.idl:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::referrer):
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/DocumentStorageAccess.cpp:
* Source/WebCore/dom/DocumentStorageAccess.h:
* Source/WebCore/history/CachedPage.cpp:
(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):
* Source/WebCore/history/CachedPage.h:
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::microsoftTeamsRedirectURL):
(WebCore::DocumentLoader::responseReceived):
* Source/WebCore/loader/EmptyClients.cpp:
* Source/WebCore/loader/EmptyFrameLoaderClient.h:
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::hasPageLevelStorageAccess const):
* Source/WebCore/page/CrossSiteNavigationDataTransfer.h:
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::requestStorageAccessAndHandleClick const):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
* Source/WebCore/page/Quirks.h:
* Source/WebCore/platform/network/NetworkStorageSession.cpp:
* Source/WebCore/platform/network/NetworkStorageSession.h:
* Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::cookiesForURL const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookieFromDOM const):
* Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
* Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::setCookieAcceptPolicy):
(WebCore::NetworkStorageSession::setTrackingPreventionEnabled):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyData.cpp:
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyData.h:
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyData.serialization.in:
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyDataForSpecificFirstParty.cpp:
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyDataForSpecificFirstParty.h:
* Source/WebKit/NetworkProcess/Classifier/ITPThirdPartyDataForSpecificFirstParty.serialization.in:
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOMAsync):
(WebKit::NetworkConnectionToWebProcess::setCookieFromDOMAsync):
(WebKit::NetworkConnectionToWebProcess::clearPageSpecificData):
(WebKit::NetworkConnectionToWebProcess::requestStorageAccessUnderOpener):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::restrictRequestReferrerToOriginIfNeeded):
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::registrableDomainsWithLastAccessedTime):
(WebKit::NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion):
(WebKit::NetworkProcess::setThirdPartyCNAMEDomainForTesting):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::processDidResume):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntryInternal):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::validateCacheEntryForMaxAgeCapValidation):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::destroyResourceLoadStatistics):
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::firstPartyHostIPAddress):
* Source/WebKit/NetworkProcess/NetworkSession.h:
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::fireNotificationEvent):
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::storeRedirect):
* Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::capMaxAge):
* Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(schemeWasUpgradedDueToDynamicHSTS):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
* Source/WebKit/NetworkProcess/cocoa/NetworkTaskCocoa.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkTaskCocoa.mm:
(WebKit::NetworkTaskCocoa::needsFirstPartyCookieBlockingLatchModeQuirk const):
(WebKit::NetworkTaskCocoa::willPerformHTTPRedirection):
* Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::WebSocketTask):
* Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::NetworkDataTaskCurl):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::blockCookies):
(WebKit::NetworkDataTaskCurl::unblockCookies):
(WebKit::NetworkDataTaskCurl::shouldBlockCookies):
* Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp:
(WebKit::NetworkSessionCurl::NetworkSessionCurl):
* Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::createRequest):
* Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::createWebSocketTask):
* Source/WebKit/Shared/ResourceLoadStatisticsParameters.h:
* Source/WebKit/Shared/ResourceLoadStatisticsParameters.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebProcessCreationParameters.h:
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
* Source/WebKit/Shared/WebProcessDataStoreParameters.h:
* Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in:
* Source/WebKit/Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::isolatedCopy const):
(WebKit::WebsiteData::isolatedCopy):
* Source/WebKit/Shared/WebsiteData/WebsiteData.h:
* Source/WebKit/Shared/WebsiteData/WebsiteData.serialization.in:
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageLoadedSubresourceDomains):
(WKPageClearLoadedSubresourceDomains):
* Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreRemoveITPDataForDomain):
(WKWebsiteDataStoreDoesStatisticsDomainIDExistInDatabase):
(WKWebsiteDataStoreSetResourceLoadStatisticsEnabled):
(WKWebsiteDataStoreIsStatisticsEphemeral):
(WKWebsiteDataStoreSetResourceLoadStatisticsDebugModeWithCompletionHandler):
(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsMergeStatistic):
(WKWebsiteDataStoreSetStatisticsExpiredStatistic):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreDumpResourceLoadStatistics):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsOnlyInDatabaseOnce):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsCrossSiteLoadWithLinkDecoration):
(WKWebsiteDataStoreSetStatisticsTimeToLiveUserInteraction):
(WKWebsiteDataStoreStatisticsProcessStatisticsAndDataRecords):
(WKWebsiteDataStoreStatisticsUpdateCookieBlocking):
(WKWebsiteDataStoreSetStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WKWebsiteDataStoreSetResourceLoadStatisticsTimeAdvanceForTesting):
(WKWebsiteDataStoreSetStatisticsIsRunningTest):
(WKWebsiteDataStoreSetStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsGrandfatheringTime):
(WKWebsiteDataStoreSetStatisticsMaxStatisticsEntries):
(WKWebsiteDataStoreSetStatisticsPruneEntriesDownTo):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
(WKWebsiteDataStoreStatisticsHasLocalStorage):
(WKWebsiteDataStoreSetStatisticsCacheMaxAgeCap):
(WKWebsiteDataStoreStatisticsHasIsolatedSession):
(WKWebsiteDataStoreSetResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreGetAllStorageAccessEntries):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _seedResourceLoadStatisticsForTestingWithFirstParty:thirdParty:shouldScheduleNotification:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsDebugMode]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsDebugMode:]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsTestingCallback:]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsTimeAdvanceForTesting:completionHandler:]):
(-[WKWebsiteDataStore _loadedSubresourceDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _clearLoadedSubresourceDomainsFor:]):
(-[WKWebsiteDataStore _getAllStorageAccessEntriesFor:completionHandler:]):
(-[WKWebsiteDataStore _scheduleCookieBlockingUpdate:]):
(-[WKWebsiteDataStore _logUserInteraction:completionHandler:]):
(-[WKWebsiteDataStore _setPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _getIsPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _clearPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _clearResourceLoadStatistics:]):
(-[WKWebsiteDataStore _getResourceLoadStatisticsDataSummary:]):
(-[WKWebsiteDataStore _isRelationshipOnlyInDatabaseOnce:thirdParty:completionHandler:]):
(-[WKWebsiteDataStore _isRegisteredAsSubresourceUnderFirstParty:thirdParty:completionHandler:]):
(-[WKWebsiteDataStore _statisticsDatabaseHasAllTables:]):
(-[WKWebsiteDataStore _processStatisticsAndDataRecords:]):
(-[WKWebsiteDataStore _setThirdPartyCookieBlockingMode:onlyOnSitesWithoutUserInteraction:completionHandler:]):
* Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp:
(webkit_network_session_get_itp_summary):
(webkit_network_session_get_itp_summary_finish):
* Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(_WebKitITPFirstParty::_WebKitITPFirstParty):
(webkitITPFirstPartyCreate):
(_WebKitITPThirdParty::_WebKitITPThirdParty):
(webkitITPThirdPartyCreate):
(webkit_website_data_manager_get_itp_summary):
(webkit_website_data_manager_get_itp_summary_finish):
* Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::checkIfNavigationContainsDataTransfer):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::logFrameNavigation):
(WebKit::WebPageProxy::didCommitCrossSiteLoadWithDataTransferFromPrevalentResource):
(WebKit::WebPageProxy::clearLoadedSubresourceDomains):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::webProcessDataStoreParameters):
(WebKit::WebProcessPool::sendResourceLoadStatisticsDataImmediately):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setThirdPartyCookieBlockingMode):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::thirdPartyCookieBlockingMode const):
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::addResourceLoadStatisticsRegistrableDomain):
(WebKit::WebsiteDataRecord::isolatedCopy const):
(WebKit::WebsiteDataRecord::isolatedCopy):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataRecord.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::fetchDataForRegistrableDomains):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::trackingPreventionEnabled const):
(WebKit::WebsiteDataStore::resourceLoadStatisticsDebugMode const):
(WebKit::WebsiteDataStore::setTrackingPreventionEnabled):
(WebKit::WebsiteDataStore::setStatisticsTestingCallback):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::closeDatabases):
(WebKit::WebsiteDataStore::clearResourceLoadStatisticsInWebProcesses):
(WebKit::WebsiteDataStore::parameters):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::useExplicitTrackingPreventionState):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::hasPageLevelStorageAccess const):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::detachedFromParent2):
(WebKit::WebLocalFrameLoaderClient::dispatchWillChangeDocument):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
* Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::shouldBlockCookies):
(WebKit::WebCookieJar::cookies const):
(WebKit::WebCookieJar::setCookies):
(WebKit::WebCookieJar::cookiesEnabled const):
(WebKit::WebCookieJar::cookieRequestHeaderFieldValue const):
(WebKit::WebCookieJar::getRawCookies const):
(WebKit::WebCookieJar::getCookiesAsync const):
(WebKit::WebCookieJar::setCookieAsync const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::loadedSubresourceDomains const):
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setWebsiteDataStoreParameters):
(WebKit::WebProcess::setTrackingPreventionEnabled):
(WebKit::WebProcess::clearResourceLoadStatistics):
(WebKit::WebProcess::flushResourceLoadStatistics):
(WebKit::WebProcess::seedResourceLoadStatisticsForTesting):
(WebKit::WebProcess::sendResourceLoadStatisticsDataImmediately):
* Source/WebKit/WebProcess/WebProcess.h:
(WebKit::WebProcess::thirdPartyCookieBlockingMode const):
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Tools/Scripts/webkitperl/FeatureList.pm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

Canonical link: https://commits.webkit.org/271062@main
  • Loading branch information
annevk committed Nov 22, 2023
1 parent e6ad074 commit 0898987
Show file tree
Hide file tree
Showing 116 changed files with 23 additions and 856 deletions.
4 changes: 0 additions & 4 deletions Source/WTF/wtf/PlatformEnableCocoa.h
Original file line number Diff line number Diff line change
Expand Up @@ -898,10 +898,6 @@
#define ENABLE_TRACKER_DISPOSITION 1
#endif

#if !defined(ENABLE_TRACKING_PREVENTION)
#define ENABLE_TRACKING_PREVENTION 1
#endif

// FIXME (rdar://49961589): Enable on macCatalyst.
#if !defined(ENABLE_TRANSCODE_UIIMAGEPICKERCONTROLLER_VIDEO) && (PLATFORM(IOS) || PLATFORM(VISION))
#define ENABLE_TRANSCODE_UIIMAGEPICKERCONTROLLER_VIDEO 1
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/Modules/websockets/WebSocket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,6 @@ ExceptionOr<void> WebSocket::connect(const String& url, const Vector<String>& pr
return { };
}

#if ENABLE(TRACKING_PREVENTION)
auto reportRegistrableDomain = [domain = RegistrableDomain(m_url).isolatedCopy()](auto& context) mutable {
if (RefPtr frame = downcast<Document>(context).frame())
frame->loader().client().didLoadFromRegistrableDomain(WTFMove(domain));
Expand All @@ -338,7 +337,6 @@ ExceptionOr<void> WebSocket::connect(const String& url, const Vector<String>& pr
reportRegistrableDomain(context);
else
downcast<WorkerGlobalScope>(context).thread().workerLoaderProxy().postTaskToLoader(WTFMove(reportRegistrableDomain));
#endif

m_pendingActivity = makePendingActivity(*this);

Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/dom/Document+StorageAccess.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

// https://privacycg.github.io/storage-access/#the-document-object
[
Conditional=TRACKING_PREVENTION,
ImplementedBy=DocumentStorageAccess
] partial interface Document {
Promise<boolean> hasStorageAccess();
Expand Down
6 changes: 0 additions & 6 deletions Source/WebCore/dom/Document.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5798,7 +5798,6 @@ ExceptionOr<void> Document::setCookie(const String& value)

String Document::referrer()
{
#if ENABLE(TRACKING_PREVENTION)
if (!m_referrerOverride.isEmpty())
return m_referrerOverride;
if (DeprecatedGlobalSettings::trackingPreventionEnabled() && frame()) {
Expand All @@ -5812,7 +5811,6 @@ String Document::referrer()
}
}
}
#endif
if (frame())
return frame()->loader().referrer();
return String();
Expand Down Expand Up @@ -8874,8 +8872,6 @@ void Document::updateMainArticleElementAfterLayout()
m_mainArticleElement = tallestArticle.get();
}

#if ENABLE(TRACKING_PREVENTION)

bool Document::hasRequestedPageSpecificStorageAccessWithUserInteraction(const RegistrableDomain& domain)
{
return m_registrableDomainRequestedPageSpecificStorageAccessWithUserInteraction == domain;
Expand Down Expand Up @@ -8907,8 +8903,6 @@ void Document::downgradeReferrerToRegistrableDomain()
m_referrerOverride = makeString(referrerURL.protocol(), "://", domainString, '/');
}

#endif

void Document::setConsoleMessageListener(RefPtr<StringCallback>&& listener)
{
m_consoleMessageListener = listener;
Expand Down
4 changes: 0 additions & 4 deletions Source/WebCore/dom/Document.h
Original file line number Diff line number Diff line change
Expand Up @@ -1716,12 +1716,10 @@ class Document
bool handlingTouchEvent() const { return m_handlingTouchEvent; }
#endif

#if ENABLE(TRACKING_PREVENTION)
WEBCORE_EXPORT bool hasRequestedPageSpecificStorageAccessWithUserInteraction(const RegistrableDomain&);
WEBCORE_EXPORT void setHasRequestedPageSpecificStorageAccessWithUserInteraction(const RegistrableDomain&);
WEBCORE_EXPORT void wasLoadedWithDataTransferFromPrevalentResource();
void downgradeReferrerToRegistrableDomain();
#endif

void registerArticleElement(Element&);
void unregisterArticleElement(Element&);
Expand Down Expand Up @@ -2256,10 +2254,8 @@ class Document
RefPtr<SWClientConnection> m_serviceWorkerConnection;
#endif

#if ENABLE(TRACKING_PREVENTION)
RegistrableDomain m_registrableDomainRequestedPageSpecificStorageAccessWithUserInteraction { };
String m_referrerOverride;
#endif

std::optional<FixedVector<CSSPropertyID>> m_exposedComputedCSSPropertyIDs;

Expand Down
4 changes: 0 additions & 4 deletions Source/WebCore/dom/DocumentStorageAccess.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
#include "config.h"
#include "DocumentStorageAccess.h"

#if ENABLE(TRACKING_PREVENTION)

#include "Chrome.h"
#include "ChromeClient.h"
#include "Document.h"
Expand Down Expand Up @@ -319,5 +317,3 @@ bool DocumentStorageAccess::hasFrameSpecificStorageAccess() const
}

} // namespace WebCore

#endif // ENABLE(TRACKING_PREVENTION)
4 changes: 0 additions & 4 deletions Source/WebCore/dom/DocumentStorageAccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@

#pragma once

#if ENABLE(TRACKING_PREVENTION)

#include "RegistrableDomain.h"
#include "Supplementable.h"
#include <wtf/CheckedRef.h>
Expand Down Expand Up @@ -106,5 +104,3 @@ class DocumentStorageAccess final : public Supplement<Document>, public CanMakeW
};

} // namespace WebCore

#endif // ENABLE(TRACKING_PREVENTION)
6 changes: 0 additions & 6 deletions Source/WebCore/history/CachedPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,7 @@ CachedPage::CachedPage(Page& page)
: m_page(page)
, m_expirationTime(MonotonicTime::now() + page.settings().backForwardCacheExpirationInterval())
, m_cachedMainFrame(is<LocalFrame>(page.mainFrame()) ? makeUnique<CachedFrame>(downcast<LocalFrame>(page.mainFrame())) : nullptr)
#if ENABLE(TRACKING_PREVENTION)
, m_loadedSubresourceDomains(is<LocalFrame>(page.mainFrame()) ? downcast<LocalFrame>(page.mainFrame()).loader().client().loadedSubresourceDomains() : Vector<RegistrableDomain>())
#endif
{
#ifndef NDEBUG
cachedPageCounter.increment();
Expand Down Expand Up @@ -180,10 +178,8 @@ void CachedPage::restore(Page& page)

firePageShowEvent(page);

#if ENABLE(TRACKING_PREVENTION)
for (auto& domain : m_loadedSubresourceDomains)
localMainFrame->loader().client().didLoadFromRegistrableDomain(WTFMove(domain));
#endif

clear();
}
Expand All @@ -198,9 +194,7 @@ void CachedPage::clear()
#endif
m_needsDeviceOrPageScaleChanged = false;
m_needsUpdateContentsSize = false;
#if ENABLE(TRACKING_PREVENTION)
m_loadedSubresourceDomains.clear();
#endif
}

bool CachedPage::hasExpired() const
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/history/CachedPage.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,7 @@ class CachedPage : public CanMakeCheckedPtr {
#endif
bool m_needsDeviceOrPageScaleChanged { false };
bool m_needsUpdateContentsSize { false };
#if ENABLE(TRACKING_PREVENTION)
Vector<RegistrableDomain> m_loadedSubresourceDomains;
#endif
};

} // namespace WebCore
8 changes: 0 additions & 8 deletions Source/WebCore/loader/DocumentLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,6 @@
#include "QuickLook.h"
#endif

#if ENABLE(TRACKING_PREVENTION)
#include "NetworkStorageSession.h"
#endif

#if PLATFORM(COCOA)
#include <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
#endif
Expand Down Expand Up @@ -899,12 +895,10 @@ void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(
cancelMainResourceLoad(frameLoader->cancelledError(m_request));
}

#if ENABLE(TRACKING_PREVENTION)
static URL microsoftTeamsRedirectURL()
{
return URL { "https://www.microsoft.com/en-us/microsoft-365/microsoft-teams/"_str };
}
#endif

void DocumentLoader::responseReceived(CachedResource& resource, const ResourceResponse& response, CompletionHandler<void()>&& completionHandler)
{
Expand All @@ -925,7 +919,6 @@ void DocumentLoader::responseReceived(CachedResource& resource, const ResourceRe
if (m_frame->settings().clearSiteDataHTTPHeaderEnabled())
m_responseClearSiteDataValues = parseClearSiteDataHeader(response);

#if ENABLE(TRACKING_PREVENTION)
// FIXME(218779): Remove this quirk once microsoft.com completes their login flow redesign.
if (m_frame && m_frame->document()) {
auto& document = *m_frame->document();
Expand All @@ -939,7 +932,6 @@ void DocumentLoader::responseReceived(CachedResource& resource, const ResourceRe
}
}
}
#endif

#if ENABLE(SERVICE_WORKER)
if (m_canUseServiceWorkers && response.source() == ResourceResponse::Source::MemoryCache) {
Expand Down
4 changes: 0 additions & 4 deletions Source/WebCore/loader/EmptyClients.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1108,15 +1108,11 @@ RefPtr<LegacyPreviewLoaderClient> EmptyFrameLoaderClient::createPreviewLoaderCli

#endif

#if ENABLE(TRACKING_PREVENTION)

bool EmptyFrameLoaderClient::hasFrameSpecificStorageAccess()
{
return false;
}

#endif

void EmptyFrameLoaderClient::dispatchLoadEventToOwnerElementInAnotherProcess()
{
}
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/loader/EmptyFrameLoaderClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,9 +198,7 @@ class WEBCORE_EXPORT EmptyFrameLoaderClient : public LocalFrameLoaderClient {
RefPtr<LegacyPreviewLoaderClient> createPreviewLoaderClient(const String&, const String&) final;
#endif

#if ENABLE(TRACKING_PREVENTION)
bool hasFrameSpecificStorageAccess() final;
#endif

void dispatchLoadEventToOwnerElementInAnotherProcess() final;
};
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/loader/LocalFrameLoaderClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -348,11 +348,9 @@ class WEBCORE_EXPORT LocalFrameLoaderClient : public FrameLoaderClient {
virtual void finishedLoadingApplicationManifest(uint64_t, const std::optional<ApplicationManifest>&) { }
#endif

#if ENABLE(TRACKING_PREVENTION)
virtual bool hasFrameSpecificStorageAccess() { return false; }
virtual void didLoadFromRegistrableDomain(RegistrableDomain&&) { }
virtual Vector<RegistrableDomain> loadedSubresourceDomains() const { return { }; }
#endif

virtual AllowsContentJavaScript allowsContentJavaScriptFromMostRecentNavigation() const { return AllowsContentJavaScript::Yes; }

Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/loader/ResourceLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -461,9 +461,7 @@ void ResourceLoader::willSendRequestInternal(ResourceRequest&& request, const Re
if (isRedirect) {
RESOURCELOADER_RELEASE_LOG("willSendRequestInternal: Processing cross-origin redirect");
platformStrategies()->loaderStrategy()->crossOriginRedirectReceived(this, request.url());
#if ENABLE(TRACKING_PREVENTION)
frameLoader()->client().didLoadFromRegistrableDomain(RegistrableDomain(request.url()));
#endif
}
m_request = request;

Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/loader/cache/CachedResourceLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1209,9 +1209,7 @@ ResourceErrorOr<CachedResourceHandle<CachedResource>> CachedResourceLoader::requ

ASSERT(resource->url() == url.string());
m_documentResources.set(resource->url().string(), resource);
#if ENABLE(TRACKING_PREVENTION)
frame.loader().client().didLoadFromRegistrableDomain(RegistrableDomain(resource->resourceRequest().url()));
#endif
return resource;
}

Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/page/ChromeClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -584,11 +584,9 @@ class ChromeClient {
virtual void reportProcessCPUTime(Seconds, ActivityStateForCPUSampling) { }
virtual RefPtr<Icon> createIconForFiles(const Vector<String>& /* filenames */) = 0;

#if ENABLE(TRACKING_PREVENTION)
virtual void hasStorageAccess(RegistrableDomain&& /*subFrameDomain*/, RegistrableDomain&& /*topFrameDomain*/, LocalFrame&, CompletionHandler<void(bool)>&& completionHandler) { completionHandler(false); }
virtual void requestStorageAccess(RegistrableDomain&& subFrameDomain, RegistrableDomain&& topFrameDomain, LocalFrame&, StorageAccessScope scope, CompletionHandler<void(RequestStorageAccessResult)>&& completionHandler) { completionHandler({ StorageAccessWasGranted::No, StorageAccessPromptWasShown::No, scope, WTFMove(topFrameDomain), WTFMove(subFrameDomain) }); }
virtual bool hasPageLevelStorageAccess(const RegistrableDomain& /*topLevelDomain*/, const RegistrableDomain& /*resourceDomain*/) const { return false; }
#endif

#if ENABLE(DEVICE_ORIENTATION)
virtual void shouldAllowDeviceOrientationAndMotionAccess(LocalFrame&, bool /* mayPrompt */, CompletionHandler<void(DeviceOrientationOrMotionPermissionState)>&& callback) { callback(DeviceOrientationOrMotionPermissionState::Denied); }
Expand Down
3 changes: 0 additions & 3 deletions Source/WebCore/page/CrossSiteNavigationDataTransfer.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

#pragma once

#if ENABLE(TRACKING_PREVENTION)
#include <wtf/OptionSet.h>

namespace WebCore {
Expand All @@ -40,5 +39,3 @@ struct CrossSiteNavigationDataTransfer {
};

} // namespace WebCore

#endif // ENABLE(TRACKING_PREVENTION)
11 changes: 0 additions & 11 deletions Source/WebCore/page/Quirks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1027,7 +1027,6 @@ bool Quirks::shouldAvoidPastingImagesAsWebContent() const
#endif
}

#if ENABLE(TRACKING_PREVENTION)
// kinja.com and related sites rdar://60601895
static bool isKinjaLoginAvatarElement(const Element& element)
{
Expand Down Expand Up @@ -1129,15 +1128,13 @@ Quirks::StorageAccessResult Quirks::requestStorageAccessAndHandleClick(Completio
});
return Quirks::StorageAccessResult::ShouldCancelEvent;
}
#endif

// rdar://64549429
Quirks::StorageAccessResult Quirks::triggerOptionalStorageAccessQuirk(Element& element, const PlatformMouseEvent& platformEvent, const AtomString& eventType, int detail, Element* relatedTarget, bool isParentProcessAFullWebBrowser, IsSyntheticClick isSyntheticClick) const
{
if (!DeprecatedGlobalSettings::trackingPreventionEnabled() || !isParentProcessAFullWebBrowser)
return Quirks::StorageAccessResult::ShouldNotCancelEvent;

#if ENABLE(TRACKING_PREVENTION)
if (!needsQuirks())
return Quirks::StorageAccessResult::ShouldNotCancelEvent;

Expand Down Expand Up @@ -1220,14 +1217,6 @@ Quirks::StorageAccessResult Quirks::triggerOptionalStorageAccessQuirk(Element& e
});
}
}
#else
UNUSED_PARAM(element);
UNUSED_PARAM(platformEvent);
UNUSED_PARAM(eventType);
UNUSED_PARAM(detail);
UNUSED_PARAM(relatedTarget);
UNUSED_PARAM(isSyntheticClick);
#endif
return Quirks::StorageAccessResult::ShouldNotCancelEvent;
}

Expand Down
11 changes: 3 additions & 8 deletions Source/WebCore/page/Quirks.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,12 @@ class HTMLElement;
class HTMLVideoElement;
class LayoutUnit;
class PlatformMouseEvent;
class WeakPtrImplWithEventTargetData;
class SecurityOriginData;

#if ENABLE(TRACKING_PREVENTION)
class RegistrableDomain;
enum class StorageAccessWasGranted : bool;
#endif
class SecurityOriginData;
class WeakPtrImplWithEventTargetData;

enum class IsSyntheticClick : bool;
enum class StorageAccessWasGranted : bool;

class Quirks {
WTF_MAKE_NONCOPYABLE(Quirks); WTF_MAKE_FAST_ALLOCATED;
Expand Down Expand Up @@ -138,11 +135,9 @@ class Quirks {
bool shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFullscreenQuirk() const;
bool shouldDelayFullscreenEventWhenExitingPictureInPictureQuirk() const;

#if ENABLE(TRACKING_PREVENTION)
static bool isMicrosoftTeamsRedirectURL(const URL&);
static bool hasStorageAccessForAllLoginDomains(const HashSet<RegistrableDomain>&, const RegistrableDomain&);
StorageAccessResult requestStorageAccessAndHandleClick(CompletionHandler<void(ShouldDispatchClick)>&&) const;
#endif

static bool shouldOmitHTMLDocumentSupportedPropertyNames();

Expand Down
8 changes: 1 addition & 7 deletions Source/WebCore/platform/network/NetworkStorageSession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,14 @@
#include "CookieJar.h"
#include "HTTPCookieAcceptPolicy.h"
#include "NotImplemented.h"
#include "ResourceRequest.h"
#include "RuntimeApplicationChecks.h"
#include <wtf/NeverDestroyed.h>
#include <wtf/ProcessPrivilege.h>

#if ENABLE(TRACKING_PREVENTION)
#include "ResourceRequest.h"
#if ENABLE(PUBLIC_SUFFIX_LIST)
#include "PublicSuffix.h"
#endif
#endif

namespace WebCore {

Expand Down Expand Up @@ -68,8 +66,6 @@ Vector<Cookie> NetworkStorageSession::domCookiesForHost(const String&)
}
#endif // !PLATFORM(COCOA)

#if ENABLE(TRACKING_PREVENTION)

#if !USE(SOUP)
void NetworkStorageSession::setTrackingPreventionEnabled(bool enabled)
{
Expand Down Expand Up @@ -462,8 +458,6 @@ std::optional<RegistrableDomain> NetworkStorageSession::findAdditionalLoginDomai
return std::nullopt;
}

#endif // ENABLE(TRACKING_PREVENTION)

void NetworkStorageSession::deleteCookiesForHostnames(const Vector<String>& cookieHostNames, CompletionHandler<void()>&& completionHandler)
{
deleteCookiesForHostnames(cookieHostNames, IncludeHttpOnlyCookies::Yes, ScriptWrittenCookiesOnly::No, WTFMove(completionHandler));
Expand Down
Loading

0 comments on commit 0898987

Please sign in to comment.