Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3407db2049eda9c220e3d6dfc00d30347bf85fff
      
https://github.com/WebKit/WebKit/commit/3407db2049eda9c220e3d6dfc00d30347bf85fff
  Author: Chris Dumez <[email protected]>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M TestExpectations/apitests

  Log Message:
  -----------
  REGRESSION(315609@main) [iOS] 
TestWebKitAPI.WKNavigation.PreferredHTTPSPolicyAutomaticHTTPFallbackAfterTerminateProcess
https://bugs.webkit.org/show_bug.cgi?id=317800
rdar://180569290

Reviewed by Sihui Liu.

315609@main added an IndexedDB suspension notification to
WebProcessProxy::didChangeThrottleState(). It guards against a missing
data store with `if (RefPtr dataStore = websiteDataStore())`, but
websiteDataStore() is the asserting accessor (it does
ASSERT(m_websiteDataStore)), so in debug builds the assertion fires
before the null check can take effect.

A WebProcessProxy can legitimately have no data store: prewarmed
processes, processes not yet assigned a store, and freshly relaunched
processes all start with m_websiteDataStore null. When a pending
PrepareToSuspend reply drives didChangeThrottleState() before a store is
assigned, the assertion is hit. This reproduces in
TestWebKitAPI.WKNavigation.PreferredHTTPSPolicyAutomaticHTTPFallbackAfterTerminateProcess,
which terminates and relaunches the web process.

Read the m_websiteDataStore member directly instead of the asserting
accessor, matching the other null-tolerant call sites in this file.
Release-build behavior is unchanged.

No new tests, covered by 
WKNavigation.PreferredHTTPSPolicyAutomaticHTTPFallbackAfterTerminateProcess.

* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didChangeThrottleState):

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



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

Reply via email to