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

Reply via email to