• Christopher Cameron's avatar
    RemoteMacViews: Hook up remote accessibility interface · 38dabcbb
    Christopher Cameron authored
    Add the NSAccessibilityRemoteUIElement interface along with helper
    functions to use the interface with stl structures.
    
    Make the previously-dummy GetNativeViewAccessible implementation of
    perform a sync call to BridgedNativeWidgetHost to set up the required
    accessibility tree structures.
    - Send to the browser process the accessibility tokens for the
      NSWindow and its content NSView.
    - Retrieve the accessibility token for the root AXPlatformNodeCocoa,
      along with the browser process id.
    
    This is not sufficient for accessibility to work. The remaining parts
    are to
    - Update the AXPlatformNodeCocoa class to return the object created
      from the accessibility tokens.
      - Add TODOs where this needs to be hooked up, but defer the actual
        change to a separate patch.
    - Splice together the accessibility trees for content and views.
    
    Create a ScopedAccessibilityFocus class to override the value returned
    by -[NSApplication accessibilityFocusedUIElement]. This is required for
    cross-process accessibility methods to find the appropriate focused
    element.
    
    Bug: 900846
    Change-Id: I09df0bfddd82b7904131b195ece55dc803c56aa9
    Reviewed-on: https://chromium-review.googlesource.com/c/1337377
    Commit-Queue: ccameron <ccameron@chromium.org>
    Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
    Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#608690}
    38dabcbb
scoped_accessibility_focus.h 1.11 KB