Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 187bb48db037562403ce87da6bbe28c9144ab1a9
https://github.com/WebKit/WebKit/commit/187bb48db037562403ce87da6bbe28c9144ab1a9
Author: Zak Ridouh <[email protected]>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Spelling and grammar setting changes do not reach cross-site
iframes
<https://bugs.webkit.org/show_bug.cgi?id=325350>
<rdar://problem/188452421>
Reviewed by Sihui Liu.
Toggling spell checking, grammar checking or a text substitution setting sent
the new TextChecker
state only to the page's main frame process. Under Site Isolation, an editable
in a cross-site iframe
lives in another process, which kept the old state, so its misspellings were
neither marked nor cleared.
TextChecker state is global to the UI process, so send it to every WebContent
process in every process
pool, as the testing-only toggles in WebPageProxy already do. This also updates
other web views and
prewarmed or cached processes, which were left stale before.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::toggleAutomaticQuoteSubstitution):
(WebKit::WebPageProxy::toggleAutomaticLinkDetection):
(WebKit::WebPageProxy::toggleAutomaticDashSubstitution):
(WebKit::WebPageProxy::toggleSmartLists):
(WebKit::WebPageProxy::toggleAutomaticTextReplacement):
(WebKit::textCheckerStateChanged): Deleted.
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::notifyProcessPoolsTextCheckerStateChanged):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setContinuousSpellCheckingEnabled:]):
(-[WKContentView setGrammarCheckingEnabled:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::setContinuousSpellCheckingEnabled):
(WebKit::WebViewImpl::toggleContinuousSpellChecking):
(WebKit::WebViewImpl::setGrammarCheckingEnabled):
(WebKit::WebViewImpl::toggleGrammarChecking):
(WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
(WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
(WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
(WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
(WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
(WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
(WebKit::WebViewImpl::toggleAutomaticLinkDetection):
(WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
(WebKit::WebViewImpl::toggleAutomaticTextReplacement):
(WebKit::WebViewImpl::setSmartListsEnabled):
(WebKit::WebViewImpl::toggleSmartLists):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::swizzledCheckStringForMisspelledWord):
(TestWebKitAPI::TEST(SiteIsolation,
ToggleContinuousSpellCheckingInCrossOriginIframe)):
Canonical link: https://commits.webkit.org/322668@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications