New issue
Advanced search Search tips
Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
Team-Accessibility

Blocking:
issue 888145



Sign in to add a comment
link

Issue 911776: Write aura::Window walker with fence hopping for accessibility for SingleProcessMash

Reported by jamescook@chromium.org, Dec 4 Project Member

Issue description

It needs to go from a proxy aura::Window in ash to the client aura::Window in the browser code, and vice versa.

Ash, or some ash-specific part of the browser, will inject this into //ui/views/accessibility when SingleProcessMash is enabled.

There might be a complication around timing -- the proxy windows are not created immediately when the browser-side windows are created.
 

Comment 1 by bugdroid1@chromium.org, Dec 7

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a15d7535017f58556cb996cb75328512d91efe5d

commit a15d7535017f58556cb996cb75328512d91efe5d
Author: James Cook <jamescook@chromium.org>
Date: Fri Dec 07 01:02:42 2018

Fix double-parenting in AXWindowObjWrapper under mash

Under mus/mash both the WindowTreeHost's root aura::Window and the content
aura::Window will return the same Widget for GetWidgetForNativeView(). Only
return the Widget for the content window, not the root, since otherwise
we'll end up with two children in the AX node tree that have the same
parent.

This allows AXAuraWindowUtilsTest to run under views_mus_unittests and
unblocks some future tests.

Bug:  911945 ,  911776 
Test: views_unittests, views_mus_unittests
Change-Id: I554c77e0dca90f1901a42d3331bca0a05e7bbd88
Reviewed-on: https://chromium-review.googlesource.com/c/1365986
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614515}
[modify] https://crrev.com/a15d7535017f58556cb996cb75328512d91efe5d/ui/views/BUILD.gn
[modify] https://crrev.com/a15d7535017f58556cb996cb75328512d91efe5d/ui/views/accessibility/ax_window_obj_wrapper.cc

Comment 2 by jamescook@chromium.org, Dec 11

Status: Started (was: Assigned)
WIP CL: https://chromium-review.googlesource.com/c/chromium/src/+/1366280

This CL will also fix child widget node serialization under mus.

Comment 3 by jamescook@chromium.org, Dec 13

Cc: jamescook@chromium.org dmazz...@chromium.org
 Issue 910642  has been merged into this issue.

Comment 4 by jamescook@chromium.org, Dec 13

Cc: dtseng@chromium.org mukai@chromium.org katie@chromium.org
 Issue 889093  has been merged into this issue.

Comment 5 by bugdroid1@chromium.org, Dec 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc2d170a309e523dff0e20d43f388b05fd63f46a

commit cc2d170a309e523dff0e20d43f388b05fd63f46a
Author: James Cook <jamescook@chromium.org>
Date: Thu Dec 13 21:20:08 2018

chromeos: Support accessibility automation under SingleProcessMash

Introduce AXAshWindowUtils to allow the accessibility subsystem to
convert between ash proxy windows and browser client windows while
serializing the AX node tree.

Support out-of-process clients like shortcut_viewer by skipping the
proxy conversion, since they use the AXHost mojo service and depend
on having the ash-side windows and widgets serialized.

One side effect of this change is that the entire ash desktop is
serialized with the first AXTreeUpdate when ChromeVox is enabled.
This does not seem to cause any issues in practice.

Bug:  911776 
Test: added to ash_unittests

Change-Id: I7f988b57fad2548c4f3f16460d8a92ff967bad50
Reviewed-on: https://chromium-review.googlesource.com/c/1366280
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616435}
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/BUILD.gn
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/shell.cc
[add] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/ws/ax_ash_window_utils.cc
[add] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/ws/ax_ash_window_utils.h
[add] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/ws/ax_ash_window_utils_unittest.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/ws/window_lookup.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ash/ws/window_lookup.h
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/testing/buildbot/filters/chromeos.single_process_mash.interactive_ui_tests.filter
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/accessibility/ax_tree_serializer.h
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/aura/env.h
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/accessibility/ax_aura_obj_cache.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/accessibility/ax_aura_obj_cache.h
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/accessibility/ax_aura_window_utils.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/accessibility/ax_aura_window_utils.h
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/accessibility/ax_window_obj_wrapper.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/mus/desktop_window_tree_host_mus_unittest.cc
[modify] https://crrev.com/cc2d170a309e523dff0e20d43f388b05fd63f46a/ui/views/mus/mus_client.h

Comment 6 by bugdroid1@chromium.org, Dec 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d4e24a542fa2528979734ef191413028567d17b

commit 6d4e24a542fa2528979734ef191413028567d17b
Author: James Cook <jamescook@chromium.org>
Date: Fri Dec 14 22:52:11 2018

Convert AXAshWindowUtilsTest to SingleProcessMashTestBase

This eliminates some test setup boilerplate.

Bug:  911776 
Test: ash_unittests
Change-Id: I3be7282776ed863031037d6059734f23ed38d303
Reviewed-on: https://chromium-review.googlesource.com/c/1379034
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616862}
[modify] https://crrev.com/6d4e24a542fa2528979734ef191413028567d17b/ash/ws/ax_ash_window_utils_unittest.cc

Comment 7 by jamescook@chromium.org, Dec 17

Status: Fixed (was: Started)

Comment 8 by bugdroid1@chromium.org, Dec 18

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c806bd231966e82b8f984d1bbe7ef07c7c5247c5

commit c806bd231966e82b8f984d1bbe7ef07c7c5247c5
Author: James Cook <jamescook@chromium.org>
Date: Tue Dec 18 00:21:15 2018

Put AXAuraWindowUtilsTest back in views_mus_unittests

This issue preventing it from running there was fixed in
https://chromium-review.googlesource.com/c/1366280

Bug:  911776 
Test: views_mus_unittests
Change-Id: Ibbd1528faad5939a1f9674e1c83c37c80f14824f
Reviewed-on: https://chromium-review.googlesource.com/c/1379053
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617307}
[modify] https://crrev.com/c806bd231966e82b8f984d1bbe7ef07c7c5247c5/ui/views/BUILD.gn

Sign in to add a comment