[webkit-changes] [WebKit/WebKit] 93d7ed: AX: [Site Isolation] iOS remote element bring-up

Joshua Hoffman noreply at github.com
Thu Dec 19 07:51:04 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93d7ed9bebe7dd7bbebdbe6f6c062e0994a5e91d
      https://github.com/WebKit/WebKit/commit/93d7ed9bebe7dd7bbebdbe6f6c062e0994a5e91d
  Author: Joshua Hoffman <jhoffman23 at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    A Source/WebCore/PAL/pal/spi/ios/AXRuntimeSPI.h
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/AccessibilityScrollView.cpp
    M Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm
    M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
    M Source/WebKit/Platform/SourcesCocoa.txt
    R Source/WebKit/Platform/ios/AccessibilityIOS.h
    R Source/WebKit/Platform/ios/AccessibilityIOS.mm
    M Source/WebKit/UIProcess/ios/WKContentView.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  -----------
  AX: [Site Isolation] iOS remote element bring-up
https://bugs.webkit.org/show_bug.cgi?id=284847
rdar://problem/141640442

Reviewed by Tyler Wilcock.

This patch brings-up site isolation support for iOS accessibility. This involves
setting up AXRemoteFrames properly, using existing stub methods/IPC messages
that are used on macOS. After this, WebKit can create a remote element child
that binds the two processes with a matching token.

WebKit::newAccessibilityRemoteToken was moved to WebCore, so that it may be
used in AccessibilityObjectIOS.

Note: this patch does not address hit testing. That will be resolved in a follow
up.

* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/spi/ios/AXRuntimeSPI.h: Added.
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::addRemoteFrameChild):
* Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::unarchivedTokenForData):
(WebCore::AXRemoteFrame::generateRemoteToken const):
(WebCore::AXRemoteFrame::initializePlatformElementWithRemoteToken):
(WebCore::Accessibility::newAccessibilityRemoteToken):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityElements]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper _accessibilityRelativeFrame]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):
* Source/WebKit/Platform/SourcesCocoa.txt:
* Source/WebKit/Platform/ios/AccessibilityIOS.h: Removed.
* Source/WebKit/Platform/ios/AccessibilityIOS.mm: Removed.
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::bindRemoteAccessibilityFrames):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::bindRemoteAccessibilityFrames):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::accessibilityRemoteTokenData const):
(WebKit::WebPage::updateRemotePageAccessibilityOffset):
(WebKit::WebPage::registerRemoteFrameAccessibilityTokens):
(WebKit::WebPage::createMockAccessibilityElement):
(WebKit::WebPage::accessibilityRemoteFrameOffset):
(WebKit::WebPage::accessibilityRemoteObject):

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



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


More information about the webkit-changes mailing list