Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 070c306f36352c75c4474b90d2c833120729d7ca https://github.com/WebKit/WebKit/commit/070c306f36352c75c4474b90d2c833120729d7ca Author: Charlie Wolfe <charl...@apple.com> Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-cross-site-fetch.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-cross-site-sibling-iframes.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-beyond-cookies.blobStorage.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-beyond-cookies.none.sub.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-headers.tentative.https.sub.window-expected.txt M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebCore/dom/DocumentStorageAccess.cpp M Source/WebCore/dom/DocumentStorageAccess.h M Source/WebCore/page/ChromeClient.h M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in M Source/WebKit/NetworkProcess/NetworkProcess.cpp M Source/WebKit/NetworkProcess/NetworkProcess.h M Source/WebKit/NetworkProcess/NetworkProcess.messages.in M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Tools/WebKitTestRunner/TestController.cpp Log Message: ----------- `requestStorageAccess()` should not require user activation if permission is already granted https://bugs.webkit.org/show_bug.cgi?id=296866 rdar://157442637 Reviewed by Matthew Finkel. If a user has previously granted storage access permission in a tab, requestStorageAccess() should succeed without requiring user activation. This user activation should persist until the tab is closed. Since the web process cannot determine whether permission was previously granted in the WebView, the user activation check must be moved to the network process. https://privacycg.github.io/storage-access/#the-document-object * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-cross-site-fetch.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-cross-site-sibling-iframes.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-beyond-cookies.blobStorage.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-beyond-cookies.none.sub.https.window-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/storage-access-api/storage-access-headers.tentative.https.sub.window-expected.txt: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: * Source/WebCore/dom/DocumentStorageAccess.cpp: (WebCore::DocumentStorageAccess::requestStorageAccessQuickCheck): (WebCore::DocumentStorageAccess::requestStorageAccess): (WebCore::DocumentStorageAccess::requestStorageAccessQuirk): * Source/WebCore/dom/DocumentStorageAccess.h: * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::requestStorageAccess): * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::requestStorageAccess): (WebKit::WebResourceLoadStatisticsStore::grantStorageAccess): (WebKit::WebResourceLoadStatisticsStore::removeDataForDomain): (WebKit::WebResourceLoadStatisticsStore::setStorageAccessPermissionForTesting): (WebKit::WebResourceLoadStatisticsStore::wasGrantedStorageAccessPermissionInPage): (WebKit::WebResourceLoadStatisticsStore::wasRevokedStorageAccessPermissionInPage): * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::requestStorageAccess): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in: * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::setStorageAccessPermissionForTesting): (WebKit::NetworkProcess::removeWebPageNetworkParameters): * Source/WebKit/NetworkProcess/NetworkProcess.h: * Source/WebKit/NetworkProcess/NetworkProcess.messages.in: * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreSetStorageAccessPermissionForTesting): * Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h: * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::setStorageAccessPermissionForTesting): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::requestStorageAccess): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::requestStorageAccess): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Tools/WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveAsyncMessageFromInjectedBundle): Canonical link: https://commits.webkit.org/298267@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes