[webkit-changes] [WebKit/WebKit] 7584d3: Upstream advanced privacy protections for private ...

Wenson Hsieh noreply at github.com
Wed Jun 7 08:12:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7584d308c00916c50f2b670f78c283a04e06db8e
      https://github.com/WebKit/WebKit/commit/7584d308c00916c50f2b670f78c283a04e06db8e
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-06-07 (Wed, 07 Jun 2023)

  Changed paths:
    M LayoutTests/http/tests/resourceLoadStatistics/omit-document-referrer-nested-third-party-iframe-ephemeral.html
    M LayoutTests/http/tests/resourceLoadStatistics/omit-document-referrer-third-party-iframe-ephemeral.html
    M LayoutTests/http/tests/resourceLoadStatistics/omit-referrer-for-navigation-ephemeral.html
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WTF/wtf/PlatformHave.h
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/async-clipboard/Clipboard.cpp
    M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    M Source/WebCore/PAL/pal/PlatformMac.cmake
    R Source/WebCore/PAL/pal/cocoa/NetworkConnectionIntegritySoftLink.h
    R Source/WebCore/PAL/pal/cocoa/NetworkConnectionIntegritySoftLink.mm
    A Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.h
    A Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.mm
    M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
    R Source/WebCore/PAL/pal/spi/cocoa/NetworkConnectionIntegritySPI.h
    A Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/contentextensions/ContentExtensionsBackend.cpp
    M Source/WebCore/contentextensions/ContentExtensionsBackend.h
    M Source/WebCore/dom/DataTransfer.cpp
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
    M Source/WebCore/inspector/agents/WebConsoleAgent.cpp
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/loader/DocumentLoader.h
    M Source/WebCore/loader/FrameLoadRequest.h
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/page/ChromeClient.h
    A Source/WebCore/page/LinkDecorationFilteringData.h
    M Source/WebCore/page/LocalDOMWindow.cpp
    M Source/WebCore/page/LocalFrame.cpp
    R Source/WebCore/page/LookalikeCharactersSanitizationData.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/Screen.cpp
    M Source/WebCore/page/UserContentProvider.cpp
    A Source/WebCore/platform/network/AdvancedPrivacyProtections.h
    R Source/WebCore/platform/network/NetworkConnectionIntegrity.h
    M Source/WebCore/platform/network/ResourceRequestBase.cpp
    M Source/WebCore/platform/network/ResourceRequestBase.h
    M Source/WebCore/platform/network/cf/ResourceError.h
    M Source/WebCore/platform/network/cf/ResourceRequest.h
    M Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp
    M Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm
    M Source/WebCore/platform/network/mac/ResourceErrorMac.mm
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebKit/NetworkProcess/BackgroundFetchLoad.cpp
    M Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp
    M Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
    M Source/WebKit/NetworkProcess/NetworkLoadChecker.h
    M Source/WebKit/NetworkProcess/NetworkLoadParameters.h
    M Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.h
    M Source/WebKit/NetworkProcess/NetworkSocketChannel.cpp
    M Source/WebKit/NetworkProcess/NetworkSocketChannel.h
    M Source/WebKit/NetworkProcess/PingLoad.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp
    M Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp
    M Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h
    M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCache.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
    M Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp
    M Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.h
    M Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
    M Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp
    M Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.h
    R Source/WebKit/Platform/cocoa/NetworkConnectionIntegrityHelpers.h
    R Source/WebKit/Platform/cocoa/NetworkConnectionIntegrityHelpers.mm
    A Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h
    A Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm
    M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in
    M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in
    M Source/WebKit/Shared/LoadParameters.cpp
    M Source/WebKit/Shared/LoadParameters.h
    M Source/WebKit/Shared/NavigationActionData.h
    M Source/WebKit/Shared/NavigationActionData.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/Shared/WebPageCreationParameters.cpp
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebsitePoliciesData.cpp
    M Source/WebKit/Shared/WebsitePoliciesData.h
    M Source/WebKit/Shared/WebsitePoliciesData.serialization.in
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/API/APINavigation.h
    M Source/WebKit/UIProcess/API/APINavigationClient.h
    M Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp
    M Source/WebKit/UIProcess/API/APIWebsitePolicies.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h
    M Source/WebKit/UIProcess/Cocoa/NavigationState.h
    M Source/WebKit/UIProcess/Cocoa/NavigationState.mm
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in
    M Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp
    M Source/WebKit/UIProcess/WebFramePolicyListenerProxy.h
    M Source/WebKit/UIProcess/WebFrameProxy.cpp
    M Source/WebKit/UIProcess/WebFrameProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/Network/WebSocketChannel.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/WebKit/AdvancedPrivacyProtections.mm
    R Tools/TestWebKitAPI/Tests/WebKit/NetworkConnectionIntegrityTests.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/audio-fingerprinting.html
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/canvas-fingerprinting.html
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/fingerprint-audio-worklet.js
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/webgl-support.js
    M Tools/WebKitTestRunner/TestOptions.cpp
    M Tools/WebKitTestRunner/TestOptions.h
    M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm

  Log Message:
  -----------
  Upstream advanced privacy protections for private browsing in Safari
https://bugs.webkit.org/show_bug.cgi?id=257699
rdar://110238364

Reviewed by Aditya Keerthi, Charlie Wolfe and Matthew Finkel.

Upstream support for the suite of advanced privacy protections in Private Browsing in Safari 17.
Among other features, this includes:

    • Link decoration defenses (filtering and hiding on cross-origin navigation)
    • Tracker blocking in various forms
    • Improved fingerprinting protections (2D canvas, WebGL, web audio, screen/window geometry)
    • Opting into network-level system privacy enhancements

Covered by tests:

    • http/tests/resourceLoadStatistics/omit-document-referrer-nested-third-party-iframe-ephemeral.html
    • http/tests/resourceLoadStatistics/omit-document-referrer-third-party-iframe-ephemeral.html
    • http/tests/resourceLoadStatistics/omit-referrer-for-navigation-ephemeral.html
    • AdvancedPrivacyProtections.DoNotRemoveTrackingQueryParametersWhenPrivacyProtectionsAreDisabled
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersWhenNavigating
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersWhenNavigatingWithContentBlockersDisabled
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersWhenCopyingURL
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersFromDataTransferWhenPastingURL
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersWhenPastingURL
    • AdvancedPrivacyProtections.UpdateTrackingQueryParametersAfterInitialization
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersWhenDecidingNavigationPolicy
    • AdvancedPrivacyProtections.RemoveTrackingQueryParametersForMainResourcesOnly
    • AdvancedPrivacyProtections.HideQueryParametersAfterCrossSiteNavigation
    • AdvancedPrivacyProtections.DoNotHideQueryParametersForFirstPartyScript
    • AdvancedPrivacyProtections.DoNotHideQueryParametersAfterEffectiveSameSiteNavigation
    • AdvancedPrivacyProtections.LinkPreconnectUsesEnhancedPrivacy
    • AdvancedPrivacyProtections.DoNotHideReferrerAfterReducingPrivacyProtections
    • AdvancedPrivacyProtections.DoNotRemoveTrackingParametersAfterReducingPrivacyProtections
    • AdvancedPrivacyProtections.HideScreenMetricsFromBindings
    • AdvancedPrivacyProtections.HideScreenSizeWithScaledPage
    • AdvancedPrivacyProtections.ClampScreenSizeToFixedValues
    • AdvancedPrivacyProtections.AddNoiseToWebAudioAPIs
    • AdvancedPrivacyProtections.VerifyHashFromNoisyCanvas2DAPI
    • AdvancedPrivacyProtections.VerifyPixelsFromNoisyCanvas2DAPI
    • AdvancedPrivacyProtections.VerifyDataURLFromNoisyWebGLAPI
    • Preconnect.PrivacyProxyRequestFlags
    • WebpagePreferences.ToggleAdvancedPrivacyProtections
    • WebpagePreferences.ExtensionPageAdvancedPrivacyProtectionsReferrer

* LayoutTests/http/tests/resourceLoadStatistics/omit-document-referrer-nested-third-party-iframe-ephemeral.html:
* LayoutTests/http/tests/resourceLoadStatistics/omit-document-referrer-third-party-iframe-ephemeral.html:
* LayoutTests/http/tests/resourceLoadStatistics/omit-referrer-for-navigation-ephemeral.html:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::getType):
* Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/cocoa/NetworkConnectionIntegritySoftLink.h: Removed.
* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.h: Renamed from Source/WebCore/PAL/pal/spi/cocoa/NetworkConnectionIntegritySPI.h.
* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.mm: Renamed from Source/WebCore/PAL/pal/cocoa/NetworkConnectionIntegritySoftLink.mm.
* Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
* Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h: Added.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::customTrackerBlockingMessageForConsole):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::ContentExtensions::customLoadBlockingMessageForConsole): Deleted.
* Source/WebCore/contentextensions/ContentExtensionsBackend.h:
(WebCore::ContentExtensions::customTrackerBlockingMessageForConsole):
(WebCore::ContentExtensions::customLoadBlockingMessageForConsole): Deleted.
* Source/WebCore/dom/DataTransfer.cpp:
(WebCore::readURLsFromPasteboardAsString):
(WebCore::DataTransfer::readStringFromPasteboard const):
(WebCore::DataTransfer::setDataFromItemList):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::urlForBindings const):
(WebCore::Document::adjustedURL const):
(WebCore::Document::referrerForBindings):
(WebCore::Document::noiseInjectionPolicy const):
* Source/WebCore/dom/Document.h:
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainText):
(WebCore::Editor::copyURL):
* Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::WebContentReader::readPlainText):
(WebCore::WebContentReader::readURL):
* Source/WebCore/inspector/agents/WebConsoleAgent.cpp:
(WebCore::blockedTrackerErrorMessage):
(WebCore::WebConsoleAgent::didFailLoading):
(WebCore::networkConnectionIntegrityErrorMessage): Deleted.
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::fingerprintingProtectionsEnabled const):
(WebCore::DocumentLoader::isLoadingInHeadlessMode const): Deleted.
* Source/WebCore/loader/DocumentLoader.h:
(WebCore::DocumentLoader::setAdvancedPrivacyProtections):
(WebCore::DocumentLoader::advancedPrivacyProtections const):
(WebCore::DocumentLoader::setOriginatorAdvancedPrivacyProtections):
(WebCore::DocumentLoader::originatorAdvancedPrivacyProtections const):
(WebCore::DocumentLoader::setNetworkConnectionIntegrityPolicy): Deleted.
(WebCore::DocumentLoader::networkConnectionIntegrityPolicy const): Deleted.
(WebCore::DocumentLoader::setOriginatorNetworkConnectionIntegrityPolicy): Deleted.
(WebCore::DocumentLoader::originatorNetworkConnectionIntegrityPolicy const): Deleted.
* Source/WebCore/loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setAdvancedPrivacyProtections):
(WebCore::FrameLoadRequest::advancedPrivacyProtections const):
(WebCore::FrameLoadRequest::setNetworkConnectionIntegrityPolicy): Deleted.
(WebCore::FrameLoadRequest::networkConnectionIntegrityPolicy const): Deleted.
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::upgradeRequestforHTTPSOnlyIfNeeded const):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::updateRequestAndAddExtraFields):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::applyLinkDecorationFiltering const):
(WebCore::ChromeClient::allowedQueryParametersForAdvancedPrivacyProtections const):
(WebCore::ChromeClient::sanitizeLookalikeCharacters const): Deleted.
(WebCore::ChromeClient::allowedLookalikeCharacters const): Deleted.
* Source/WebCore/page/LinkDecorationFilteringData.h: Renamed from Source/WebCore/page/LookalikeCharactersSanitizationData.h.
(WebCore::LinkDecorationFilteringData::LinkDecorationFilteringData):
(WebCore::LinkDecorationFilteringData::linkDecoration):
(WebCore::LinkDecorationFilteringData::operator=):
(WebCore::LinkDecorationFilteringData::encode const):
(WebCore::LinkDecorationFilteringData::decode):
* Source/WebCore/page/LocalDOMWindow.cpp:
(WebCore::LocalDOMWindow::outerHeight const):
(WebCore::LocalDOMWindow::outerWidth const):
(WebCore::LocalDOMWindow::screenX const):
(WebCore::LocalDOMWindow::screenY const):
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::screenSize const):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::fingerprintingProtectionsEnabled const):
(WebCore::Page::applyLinkDecorationFiltering const):
(WebCore::Page::allowedQueryParametersForAdvancedPrivacyProtections const):
(WebCore::Page::isLoadingInHeadlessMode const): Deleted.
(WebCore::Page::sanitizeLookalikeCharacters const): Deleted.
(WebCore::Page::allowedLookalikeCharacters const): Deleted.
* Source/WebCore/page/Page.h:
* Source/WebCore/page/Screen.cpp:
(WebCore::isLoadingInHeadlessMode):
* Source/WebCore/page/UserContentProvider.cpp:
(WebCore::applyLinkDecorationFilteringIfNeeded):
(WebCore::UserContentProvider::processContentRuleListsForLoad):
(WebCore::sanitizeLookalikeCharactersIfNeeded): Deleted.
* Source/WebCore/platform/network/AdvancedPrivacyProtections.h: Renamed from Source/WebCore/platform/network/NetworkConnectionIntegrity.h.
* Source/WebCore/platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
(WebCore::ResourceRequestBase::setUseAdvancedPrivacyProtections):
(WebCore::ResourceRequestBase::setUseNetworkConnectionIntegrity): Deleted.
* Source/WebCore/platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::RequestData::RequestData):
(WebCore::ResourceRequestBase::useAdvancedPrivacyProtections const):
(WebCore::ResourceRequestBase::useNetworkConnectionIntegrity const): Deleted.
* Source/WebCore/platform/network/cf/ResourceError.h:
(WebCore::ResourceError::blockedKnownTracker const):
(WebCore::ResourceError::compromisedNetworkConnectionIntegrity const): Deleted.
* Source/WebCore/platform/network/cf/ResourceRequest.h:
* Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
* Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::getResourceRequestPlatformData const):
(WebCore::configureRequestWithData):
* Source/WebCore/platform/network/mac/ResourceErrorMac.mm:
(failureIsDueToTrackerBlocking):
(WebCore::ResourceError::platformLazyInit):
(dueToCompromisingNetworkConnectionIntegrity): Deleted.
* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteImageURL const):
(WebCore::HitTestResult::absoluteMediaURL const):
(WebCore::HitTestResult::absoluteLinkURL const):
* Source/WebKit/NetworkProcess/BackgroundFetchLoad.cpp:
(WebKit::BackgroundFetchLoad::BackgroundFetchLoad):
* Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::startPreflight):
* Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::createSocketChannel):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker):
(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):
* Source/WebKit/NetworkProcess/NetworkLoadChecker.h:
* Source/WebKit/NetworkProcess/NetworkLoadParameters.h:
(WebKit::NetworkLoadParameters::NetworkLoadParameters):
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didFailLoading):
* Source/WebKit/NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::createWebSocketTask):
* Source/WebKit/NetworkProcess/NetworkSession.h:
* Source/WebKit/NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::create):
(WebKit::NetworkSocketChannel::NetworkSocketChannel):
* Source/WebKit/NetworkProcess/NetworkSocketChannel.h:
* Source/WebKit/NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
(WebKit::ServiceWorkerNavigationPreloader::start):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::ServiceWorkerSoftUpdateLoader):
* Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:
(WebKit::NetworkCache::AsyncRevalidation::AsyncRevalidation):
* Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::startAsyncRevalidationIfNeeded):
(WebKit::NetworkCache::Cache::retrieve):
* Source/WebKit/NetworkProcess/cache/NetworkCache.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::shouldBlockTrackersForThirdPartyCloaking):
(WebKit::enableAdvancedPrivacyProtections):
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::enableNetworkConnectionIntegrity): Deleted.
* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::createWebSocketTask):
* Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* Source/WebKit/Platform/cocoa/NetworkConnectionIntegrityHelpers.mm: Removed.
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h: Renamed from Source/WebKit/Platform/cocoa/NetworkConnectionIntegrityHelpers.h.
(WebKit::LinkDecorationFilteringDataObserver::LinkDecorationFilteringDataObserver):
(WebKit::LinkDecorationFilteringDataObserver::create):
(WebKit::LinkDecorationFilteringDataObserver::invokeCallback):
(WebKit::LinkDecorationFilteringController::cachedStrings const):
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm: Added.
(-[WKWebPrivacyNotificationListener init]):
(-[WKWebPrivacyNotificationListener listenForLinkFilteringDataChanges:]):
(-[WKWebPrivacyNotificationListener dealloc]):
(-[WKWebPrivacyNotificationListener didUpdate:]):
(WebKit::LinkDecorationFilteringController::shared):
(WebKit::LinkDecorationFilteringController::observeUpdates):
(WebKit::LinkDecorationFilteringController::setCachedStrings):
(WebKit::LinkDecorationFilteringController::updateStrings):
(WebKit::requestLinkDecorationFilteringData):
(WebKit::ipAddress):
(WebKit::TrackerAddressLookupInfo::TrackerAddressLookupInfo):
(WebKit::TrackerAddressLookupInfo::owner const):
(WebKit::TrackerAddressLookupInfo::host const):
(WebKit::TrackerAddressLookupInfo::canBlock const):
(WebKit::TrackerAddressLookupInfo::populateIfNeeded):
(WebKit::TrackerAddressLookupInfo::find):
(WebKit::TrackerAddressLookupInfo::version4List):
(WebKit::TrackerAddressLookupInfo::version6List):
(WebKit::TrackerAddressLookupInfo::contains const):
(WebKit::TrackerDomainLookupInfo::TrackerDomainLookupInfo):
(WebKit::TrackerDomainLookupInfo::owner const):
(WebKit::TrackerDomainLookupInfo::canBlock const):
(WebKit::TrackerDomainLookupInfo::populateIfNeeded):
(WebKit::TrackerDomainLookupInfo::find):
(WebKit::TrackerDomainLookupInfo::list):
(WebKit::configureForAdvancedPrivacyProtections):
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in:
* Source/WebKit/Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Source/WebKit/Shared/LoadParameters.h:
* Source/WebKit/Shared/NavigationActionData.h:
* Source/WebKit/Shared/NavigationActionData.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebsitePoliciesData.cpp:
(WebKit::WebsitePoliciesData::applyToDocumentLoader):
* Source/WebKit/Shared/WebsitePoliciesData.h:
* Source/WebKit/Shared/WebsitePoliciesData.serialization.in:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/API/APINavigation.h:
(API::Navigation::setOriginatorAdvancedPrivacyProtections):
(API::Navigation::originatorAdvancedPrivacyProtections const):
(API::Navigation::setOriginatorNetworkConnectionIntegrityPolicy): Deleted.
(API::Navigation::originatorNetworkConnectionIntegrityPolicy const): Deleted.
* Source/WebKit/UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didBlockLoadToKnownTracker):
(API::NavigationClient::didApplyLinkDecorationFiltering):
(API::NavigationClient::didFailLoadDueToNetworkConnectionIntegrity): Deleted.
(API::NavigationClient::didChangeLookalikeCharacters): Deleted.
* Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
(API::WebsitePolicies::data):
* Source/WebKit/UIProcess/API/APIWebsitePolicies.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(-[WKWebpagePreferences _networkConnectionIntegrityEnabled]):
(-[WKWebpagePreferences _setNetworkConnectionIntegrityEnabled:]):
(-[WKWebpagePreferences _networkConnectionIntegrityPolicy]):
(-[WKWebpagePreferences _setNetworkConnectionIntegrityPolicy:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
* Source/WebKit/UIProcess/Cocoa/NavigationState.h:
* Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError):
(WebKit::NavigationState::NavigationClient::didBlockLoadToKnownTracker):
(WebKit::NavigationState::NavigationClient::didApplyLinkDecorationFiltering):
(WebKit::NavigationState::NavigationClient::didFailLoadDueToNetworkConnectionIntegrity): Deleted.
(WebKit::NavigationState::NavigationClient::didChangeLookalikeCharacters): Deleted.
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didBlockLoadToKnownTracker):
(WebKit::NetworkProcessProxy::didFailLoadDueToNetworkConnectionIntegrity): Deleted.
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
* Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp:
(WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::didReceiveAppBoundDomainResult):
(WebKit::WebFramePolicyListenerProxy::didReceiveSafeBrowsingResults):
(WebKit::WebFramePolicyListenerProxy::didReceiveInitialLinkDecorationFilteringData):
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::didReceiveInitialLookalikeCharacterStrings): Deleted.
* Source/WebKit/UIProcess/WebFramePolicyListenerProxy.h:
(WebKit::WebFramePolicyListenerProxy::create):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
* Source/WebKit/UIProcess/WebFrameProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::didBlockLoadToKnownTracker):
(WebKit::WebPageProxy::didApplyLinkDecorationFiltering):
(WebKit::WebPageProxy::cachedAllowedQueryParametersForAdvancedPrivacyProtections):
(WebKit::WebPageProxy::updateAllowedQueryParametersForAdvancedPrivacyProtectionsIfNeeded):
(WebKit::WebPageProxy::sendCachedLinkDecorationFilteringData):
(WebKit::WebPageProxy::waitForInitialLinkDecorationFilteringData):
(WebKit::WebPageProxy::didFailLoadDueToNetworkConnectionIntegrity): Deleted.
(WebKit::WebPageProxy::didChangeLookalikeCharacters): Deleted.
(WebKit::WebPageProxy::cachedAllowedLookalikeStrings): Deleted.
(WebKit::WebPageProxy::updateAllowedLookalikeCharacterStringsIfNeeded): Deleted.
(WebKit::WebPageProxy::sendCachedLookalikeCharacterStrings): Deleted.
(WebKit::WebPageProxy::waitForInitialLookalikeCharacterStrings): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView continueContextMenuInteraction:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
(WebKit::WebLoaderStrategy::preconnectTo):
* Source/WebKit/WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::connect):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::applyLinkDecorationFiltering const):
(WebKit::WebChromeClient::allowedQueryParametersForAdvancedPrivacyProtections const):
(WebKit::WebChromeClient::sanitizeLookalikeCharacters const): Deleted.
(WebKit::WebChromeClient::allowedLookalikeCharacters const): Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::didSameDocumentNavigationForFrameViaJSHistoryAPI):
(WebKit::WebLocalFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::applyLinkDecorationFiltering):
(WebKit::WebPage::allowedQueryParametersForAdvancedPrivacyProtections):
(WebKit::WebPage::sanitizeLookalikeCharacters): Deleted.
(WebKit::WebPage::allowedLookalikeCharacters): Deleted.
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::advancedPrivacyProtections const):
(WebKit::WebFrame::networkConnectionIntegrityPolicy const): Deleted.
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::setLinkDecorationFilteringData):
(WebKit::WebPage::setAllowedQueryParametersForAdvancedPrivacyProtections):
(WebKit::WebPage::setLookalikeCharacterStrings): Deleted.
(WebKit::WebPage::setAllowedLookalikeCharacterStrings): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::applyLinkDecorationFiltering):
(WebKit::WebPage::allowedQueryParametersForAdvancedPrivacyProtections):
(WebKit::WebPage::sanitizeLookalikeCharacters): Deleted.
(WebKit::WebPage::allowedLookalikeCharacters): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::imagePositionInformation):
(WebKit::elementPositionInformation):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/AdvancedPrivacyProtections.mm: Added.
(-[TestWKWebView computeScreenSizeForBindings]):
(-[TestWKWebView callAsyncJavaScriptAndWait:]):
(-[TestWKWebView callAsyncJavaScriptAndWait:arguments:]):
(-[TestWKWebView collectLogsForNewConnections]):
(TestWebKitAPI::makeQueryParameterRequestHandler):
(TestWebKitAPI::makeAllowedLinkFilteringDataRequestHandler):
(TestWebKitAPI::AllowedLinkFilteringDataRequestSwizzler::AllowedLinkFilteringDataRequestSwizzler):
(TestWebKitAPI::QueryParameterRequestSwizzler::QueryParameterRequestSwizzler):
(TestWebKitAPI::QueryParameterRequestSwizzler::update):
(TestWebKitAPI::QueryParameterRequestSwizzler::waitUntilDidHandleRequest):
(TestWebKitAPI::createWebViewWithAdvancedPrivacyProtections):
(TestWebKitAPI::copyURLWithQueryParameters):
(TestWebKitAPI::setUpWebViewForTestingQueryParameterHiding):
(TestWebKitAPI::webViewAfterCrossSiteNavigationWithReducedPrivacy):
(TestWebKitAPI::makeScreenSizeSwizzler):
* Tools/TestWebKitAPI/Tests/WebKit/NetworkConnectionIntegrityTests.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/audio-fingerprinting.html: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/canvas-fingerprinting.html: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/fingerprint-audio-worklet.js: Added.
(FingerprintGenerator):
(FingerprintGenerator.prototype.process):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/webgl-support.js: Added.
(getCanvasDataURL):
(createMatrix):
(drawScene):
(setPositionAttribute):
(setColorAttribute):
(initBuffers):
(initPositionBuffer):
(initColorBuffer):
(initShaderProgram):
(loadShader):
(main):
* Tools/WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* Tools/WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::advancedPrivacyProtectionsEnabled const):
(WTR::TestOptions::networkConnectionIntegrityEnabled const): Deleted.
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::configureWebpagePreferences):

Canonical link: https://commits.webkit.org/264942@main




More information about the webkit-changes mailing list