Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 75da5d772467e31458a65400033d35e4eb1104eb
      
https://github.com/WebKit/WebKit/commit/75da5d772467e31458a65400033d35e4eb1104eb
  Author: Sihui Liu <[email protected]>
  Date:   2026-08-27 (Thu, 27 Aug 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Preferences.mm

  Log Message:
  -----------
  Do not compute shared preferences for a dummy process proxy
https://bugs.webkit.org/show_bug.cgi?id=322553
rdar://185844156

Reviewed by Ryosuke Niwa.

WebProcessProxy::initializePreferencesForGPUAndNetworkProcesses currently 
asserts that a page joining a process has the
same preferences as the shared preferences of the process. That does not hold 
for a dummy process proxy, which is keyed
only by session -- a dummy process proxy could be picked for a page's use even 
if the dummy process proxy is already
serving pages with different preferences. Picking it regardless of preferences 
makes sense because a dummy process is
not backed by a real process -- it only acts as a placeholder before a real web 
process (with a non-dummy proxy) is
launched.

To fix the assertion failure in 
WebProcessProxy::initializePreferencesForGPUAndNetworkProcesses, add an early 
return if
the proxy is dummy. We decide to skip the whole function instead of just the 
assertion because the shared preferences
will only ever come into effect when there is a real process -- GPU process and 
network process read one
SharedPreferencesForWebProcess per web process connection; there is no point in 
keeping track of the preferences value
for dummy process proxy.

API test: WebKit.StorageBlockingPolicyMismatchWithDelayedProcessLaunch

* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::initializePreferencesForGPUAndNetworkProcesses):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Preferences.mm:
(configurationWithStorageBlockingPolicy):
(TEST(WebKit, StorageBlockingPolicyMismatchWithDelayedProcessLaunch)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to