[webkit-changes] [WebKit/WebKit] f87f3a: Receive updatable storage access prompt quirks fro...
Matthew Finkel
noreply at github.com
Fri Dec 8 11:27:06 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f87f3abaf11709d4f12d8af4767f0fc6d728da6c
https://github.com/WebKit/WebKit/commit/f87f3abaf11709d4f12d8af4767f0fc6d728da6c
Author: Matthew Finkel <sysrqb at apple.com>
Date: 2023-12-08 (Fri, 08 Dec 2023)
Changed paths:
M Source/WebCore/Headers.cmake
M Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.h
M Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.mm
M Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/platform/network/OrganizationStorageAccessPromptQuirk.h
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.h
M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
M Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h
M Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in
M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h
M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
Log Message:
-----------
Receive updatable storage access prompt quirks from WebPrivacy
https://bugs.webkit.org/show_bug.cgi?id=265798
rdar://119138065
Reviewed by Chris Dumez and Wenson Hsieh.
This patch introduces a new structure that describes how to quirk multiple
sites within a single organization/company/entity by defining the top site and
subframe sites for which the storage access prompt should be shown. The set of
quirks is updatable via WebPrivacy.
This patch doesn't change any behavior, and it only plumbs the entries into the
NetworkProcess. I'll finish plumbing and making use of the data in a follow up
patch.
* Source/WebCore/Headers.cmake:
* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.h:
* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.mm:
* Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/network/OrganizationStorageAccessPromptQuirk.h: Added.
(WebCore::OrganizationStorageAccessPromptQuirk::isHashTableDeletedValue const):
(WebCore::OrganizationStorageAccessPromptQuirk::OrganizationStorageAccessPromptQuirk):
(WebCore::operator==):
(WebCore::add):
(WebCore::OrganizationStorageAccessPromptQuirkHashTraits::isEmptyValue):
(WebCore::OrganizationStorageAccessPromptQuirkHash::hash):
(WebCore::OrganizationStorageAccessPromptQuirkHash::equal):
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::updateStorageAccessPromptQuirks):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h:
* Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in:
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h:
(WebKit::StorageAccessPromptQuirkObserver::create):
(WebKit::StorageAccessPromptQuirkObserver::invokeCallback):
(WebKit::StorageAccessPromptQuirkObserver::StorageAccessPromptQuirkObserver):
(WebKit::StorageAccessPromptQuirkController::cachedQuirks const):
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm:
(-[WKWebPrivacyNotificationListener listenForStorageAccessPromptQuirkChanges:]):
(-[WKWebPrivacyNotificationListener didUpdate:]):
(WebKit::StorageAccessPromptQuirkController::shared):
(WebKit::StorageAccessPromptQuirkController::observeUpdates):
(WebKit::StorageAccessPromptQuirkController::setCachedQuirks):
(WebKit::StorageAccessPromptQuirkController::setCachedQuirksForTesting):
(WebKit::domainPairingsDictToMap):
(WebKit::StorageAccessPromptQuirkController::updateQuirks):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setStorageAccessPromptQuirkForTesting:withSubFrameDomains:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setStorageAccessPromptQuirkForTesting):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
Canonical link: https://commits.webkit.org/271748@main
More information about the webkit-changes
mailing list