Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b50276c46d2c9272191adf39d19436c3da31b610
      
https://github.com/WebKit/WebKit/commit/b50276c46d2c9272191adf39d19436c3da31b610
  Author: Joshua Hoffman <[email protected]>
  Date:   2025-10-08 (Wed, 08 Oct 2025)

  Changed paths:
    M Source/WebCore/page/ChromeClient.h
    M Source/WebCore/page/Page.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
    M Source/WebKit/WebProcess/WebPage/playstation/WebPagePlayStation.cpp
    M Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp
    M Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  AX: [Site Isolation] Web content isn't accessible after page navigation
https://bugs.webkit.org/show_bug.cgi?id=300370
rdar://162172945

Reviewed by Tyler Wilcock.

During some frame loading events, such as a navigation event, a web page might 
have a remote
main frame provisionally, until being replaced with a local frame. When a main 
frame of a
web page is remote, we don't set up the remote accessibility elements, so we 
need to hand off
the token only after the local frame is put in place. Otherwise, we will have 
empty content.

A new test was added that verifies this behavior, and fails without this change.

Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::mainFrameDidChange):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setMainFrame):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mainFrameDidChange):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Source/WebKit/WebProcess/WebPage/playstation/WebPagePlayStation.cpp:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::platformReinitializeAccessibilityToken):
(WebKit::WebPage::platformReinitialize): Deleted.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, AccessibilityTokenAfterPageNavigation)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to