Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f87f3abaf11709d4f12d8af4767f0fc6d728da6c
      
https://github.com/WebKit/WebKit/commit/f87f3abaf11709d4f12d8af4767f0fc6d728da6c
  Author: Matthew Finkel <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to