Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bceb6904160f321504dfccf7d2d5fe8f0a91b7bd
      
https://github.com/WebKit/WebKit/commit/bceb6904160f321504dfccf7d2d5fe8f0a91b7bd
  Author: Matthew Finkel <[email protected]>
  Date:   2023-12-09 (Sat, 09 Dec 2023)

  Changed paths:
    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/loader/FrameLoader.cpp
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h
    M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm
    M Source/WebKit/Shared/WebProcessCreationParameters.h
    M Source/WebKit/Shared/WebProcessCreationParameters.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/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm

  Log Message:
  -----------
  Introduce updatable user agent string quirk for storage access via WebPrivacy
https://bugs.webkit.org/show_bug.cgi?id=265811
rdar://119148523

Reviewed by Wenson Hsieh.

Currently we only have support for hard-coded user agent string quirks. This
patch introduces a new remotely updatable mechanism for quirking a request's
user agent string when it relates to quirking for storage access. On some sites
quirking the storage access prompt isn't sufficient, and those sites require
quirking the user agent string, as well.

* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.h:
* Source/WebCore/PAL/pal/cocoa/WebPrivacySoftLink.mm:
* Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::userAgent const):
* Source/WebCore/page/Quirks.cpp:
(WebCore::updatableStorageAccessUserAgentStringQuirks):
(WebCore::Quirks::updateStorageAccessUserAgentStringQuirks):
(WebCore::Quirks::storageAccessUserAgentStringQuirkForDomain):
* Source/WebCore/page/Quirks.h:
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.h:
(WebKit::StorageAccessUserAgentStringQuirkObserver::create):
(WebKit::StorageAccessUserAgentStringQuirkObserver::invokeCallback):
(WebKit::StorageAccessUserAgentStringQuirkObserver::StorageAccessUserAgentStringQuirkObserver):
(WebKit::StorageAccessUserAgentStringQuirkController::cachedQuirks const):
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm:
(-[WKWebPrivacyNotificationListener 
listenForStorageAccessUserAgentStringQuirkChanges:]):
(-[WKWebPrivacyNotificationListener didUpdate:]):
(WebKit::StorageAccessUserAgentStringQuirkController::shared):
(WebKit::StorageAccessUserAgentStringQuirkController::observeUpdates):
(WebKit::StorageAccessUserAgentStringQuirkController::setCachedQuirks):
(WebKit::StorageAccessUserAgentStringQuirkController::setCachedQuirksForTesting):
(WebKit::StorageAccessUserAgentStringQuirkController::updateQuirks):
* Source/WebKit/Shared/WebProcessCreationParameters.h:
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore 
_setUserAgentStringQuirkForTesting:withUserAgent:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setUserAgentStringQuirkForTesting):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::updateStorageAccessUserAgentStringQuirks):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):

Canonical link: https://commits.webkit.org/271815@main


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

Reply via email to