[webkit-changes] [WebKit/WebKit] 20f6be: Give clients the ability to override the WKPrefere...

Brady Eidson noreply at github.com
Tue Dec 20 19:21:50 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 20f6befea6587d1b5a75e9e0e33fbd536091edde
      https://github.com/WebKit/WebKit/commit/20f6befea6587d1b5a75e9e0e33fbd536091edde
  Author: Brady Eidson <beidson at apple.com>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/Badging.mm

  Log Message:
  -----------
  Give clients the ability to override the WKPreferences that a ServiceWorker gets
https://bugs.webkit.org/show_bug.cgi?id=249550
<rdar://problem/103487822>

Reviewed by Chris Dumez.

Service workers might run before any WKWebView is created, and clients might need to specify
non-default WKPreferences for such service workers.

e.g. If an app launches to handle a web push message, and it wants the resulting service worker
too have app client badging enabled, it needs to be able to enable that feature without
ever having made a WKWebView.

This adds such an SPI.

* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setServiceWorkerOverridePreferences:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::setServiceWorkerOverridePreferences):
(WebKit::WebsiteDataStore::serviceWorkerOverridePreferences const):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Badging.mm:

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




More information about the webkit-changes mailing list