Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4e4ee2714d2a29918c037f32b2516191af9002d4
https://github.com/WebKit/WebKit/commit/4e4ee2714d2a29918c037f32b2516191af9002d4
Author: Ryosuke Niwa <[email protected]>
Date: 2026-10-06 (Tue, 06 Oct 2026)
Changed paths:
M Source/WebKit/Shared/WebPageCreationParameters.h
M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/TextStyleFontSize.mm
Log Message:
-----------
[Site Isolation] TextStyleFontSize.Startup fails
https://bugs.webkit.org/show_bug.cgi?id=326417
Reviewed by Wenson Hsieh and Sihui Liu.
WKWebView sends its content size category to the web content process upon
initialization via
WebPageProxy::contentSizeCategoryDidChange(), which only sent the IPC to the
legacy main frame process.
With site isolation enabled, the page gets loaded in a different web content
process, which only receives
the process pool's global content size category in its creation parameters, so
the per-view value is lost.
Fixed the bug by storing the content size category in WebPageProxy, sending it
to every web content process
of the page including the provisional page's process, and passing it to WebPage
via WebPageCreationParameters
so that a newly created process gets it. Also made
WebPage::contentSizeCategoryDidChange() return early when
the category hasn't changed to avoid invalidating all font caches each time a
WebPage is created.
Tests: TextStyleFontSize.ChangeDuringProvisionalNavigation
TextStyleFontSize.Startup
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::contentSizeCategoryDidChange):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_allowsImmersiveEnvironments):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::contentSizeCategoryDidChange):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/TextStyleFontSize.mm:
(TEST(TextStyleFontSize, ChangeDuringProvisionalNavigation)):
Canonical link: https://commits.webkit.org/322858@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications