WebKit
WebKit copied to clipboard
Trigger Storage Access API prompt quirk only on triggering pages
f4c21d482e0eea5426af0e18d734cc2bac8c6fc6
Trigger Storage Access API prompt quirk only on triggering pages https://bugs.webkit.org/show_bug.cgi?id=270204 rdar://problem/123727259 Reviewed by NOBODY (OOPS!). We currently trigger the quirk on any page that matches the quirk's top-frame site. This broad matching behavior can result in excessive and incorrect prompting. This change introduces a notion of "triggering pages" which define the exact pages where the quirk should be used. We can extend this to support globs in the future. Covered by existing API tests and a new one. * Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h: * Source/WebCore/platform/network/NetworkStorageSession.cpp: (WebCore::NetworkStorageSession::storageAccessQuirkForTopFrameDomain): (WebCore::NetworkStorageSession::storageAccessQuirkForDomainPair): * Source/WebCore/platform/network/NetworkStorageSession.h: * Source/WebCore/platform/network/OrganizationStorageAccessPromptQuirk.h: (WebCore::OrganizationStorageAccessPromptQuirk::OrganizationStorageAccessPromptQuirk): * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: (WebKit::ResourceLoadStatisticsStore::grantStorageAccess): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::storageAccessQuirkForTopFrameDomain): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in: * Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm: (WebKit::quirkDomainsDictToMap): (WebKit::quirkPagesArrayToVector): (WebKit::StorageAccessPromptQuirkController::updateQuirks): (WebKit::domainPairingsDictToMap): Deleted. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _setStorageAccessPromptQuirkForTesting:withSubFrameDomains:withTriggerPages:completionHandler:]): (-[WKWebsiteDataStore _setStorageAccessPromptQuirkForTesting:withSubFrameDomains:completionHandler:]): Deleted. * Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::requestStorageAccessConfirm): * Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): * Source/WebKit/UIProcess/WebProcessPool.cpp: * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::setStorageAccessPromptQuirkForTesting): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: (WebKit::WebLocalFrameLoaderClient::loadStorageAccessQuirksIfNeeded): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST):
https://github.com/WebKit/WebKit/commit/f4c21d482e0eea5426af0e18d734cc2bac8c6fc6
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/82f6c99515a19db9671080128b23fc73c806aadf)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/f4c21d482e0eea5426af0e18d734cc2bac8c6fc6)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/de6da0ce6111a45298f614b6377813aa0ac09f80)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/6377103ba199829defc08eee1e5ec00e0ae2deb2)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/849bc1763820ee02b8b21a71d8523993441d38fa)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/350a593a20caac9421a886e1141f009ce705f4c4)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/0a289293e04e35f7da847851ab2da6e8e14860ab)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/d21bdfc90a52d49c9c107f97956ac01e111aa676)
EWS run on current version of this PR (hash https://github.com/WebKit/WebKit/commit/6a25bd76651aa6937eb9facc9b7efc1fd8b2adc4)
Committed 276151@main (69d1d3985fd0): https://commits.webkit.org/276151@main
Reviewed commits have been landed. Closing PR #25202 and removing active labels.