[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