New issue
Advanced search Search tips

Issue 888147 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
Team-Accessibility

Blocking:
issue 888145



Sign in to add a comment

Support multiple AXRemoteHost clients

Project Member Reported by jamescook@chromium.org, Sep 21

Issue description

1. Don't hard-code the AX tree id (currently -2)
2. Dynamically assign the ids from Chrome's AXTreeRegistry, or by generating random unguessable tokens (see issue 881986)

 
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 27

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

commit ed9bc9f37d4556c7d716b55c234cc65453cf4ee4
Author: James Cook <jamescook@chromium.org>
Date: Thu Sep 27 20:46:24 2018

chromeos: Eliminate hard-coded ui::RemoteAXTreeID

This is a first step toward mash support for multiple remote mojo apps
supplying AX node trees.

* Let AXHostService generate the AXTreeID as a side-effect of being
  an AXHostDelegate
* Inform the remote app of its AXTreeID when it connects
* Push the ID into ash so it can be used for views focus support.
  This won't work for multi-process mash, but is fine for today's
  shortcut viewer app and probably for SingleProcessMash. Longer
  term we should probably use aura::Window properties for this.

See go/mash-ax-node-tree for notes

Bug: 888147
Test: updated views_mus_unittests, unit_tests, etc.
Change-Id: I2400ab02d8c504a0a041646bc694976458b3228b
Reviewed-on: https://chromium-review.googlesource.com/1246595
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594848}
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ash/accessibility/accessibility_controller.h
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ash/wm/non_client_frame_controller.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ash/wm/non_client_frame_controller_unittest.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/chrome/browser/chromeos/accessibility/DEPS
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/chrome/browser/chromeos/accessibility/ax_host_service.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/chrome/browser/chromeos/accessibility/ax_host_service.h
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/chrome/browser/chromeos/accessibility/ax_host_service_unittest.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/accessibility/mojom/ax_host.mojom
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_remote_host.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_remote_host.h
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_remote_host_unittest.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_tree_source_mus.cc
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_tree_source_mus.h
[modify] https://crrev.com/ed9bc9f37d4556c7d716b55c234cc65453cf4ee4/ui/views/mus/ax_tree_source_mus_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 28

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

commit e392dddd1fc3d73911c5eaccfbb6dcc47b75e598
Author: James Cook <jamescook@chromium.org>
Date: Fri Sep 28 01:28:27 2018

chromeos: Move AXHostService into ash

This is a step toward supporting multiple remote apps and widgets. We
need this for browser windows under single-process-mash.

Under mash the ash process is responsible for top-level window creation
for remote apps. It will need to route accessibility actions (like hit
testing) to the correct remote app. Likewise it manages window frames
and focus. Therefore it should own the mojo AXHostService, not the
browser.

Accessibility events from the remote app must be routed out of ash
into chrome to the accessibility extension. For now we do this with
the in-process AccessibilityDelegate. I didn't introduce a new delegate
because the mojo service is lazily created and it's hard to connect
a new delegate at startup. Subsequent CLs will:
* Always create the service at ash startup
* Convert the delegate methods to mojo

See go/mash-ax-node-tree for the full plan.

Bug: 888147
Test: ash_unittests, manually use ChromeVox and STS with shortcut viewer
Change-Id: Ia9e63689a8cb407b66397778be4617479fdf6c92
Reviewed-on: https://chromium-review.googlesource.com/1249920
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594949}
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/BUILD.gn
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/accessibility_delegate.h
[rename] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/ax_host_service.cc
[rename] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/ax_host_service.h
[rename] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/ax_host_service_unittest.cc
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/default_accessibility_delegate.cc
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/accessibility/default_accessibility_delegate.h
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/ash/ash_service.cc
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/DEPS
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/ash_service_registry.cc
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/ui/ash/chrome_accessibility_delegate.cc
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/ui/ash/chrome_accessibility_delegate.h
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/ui/aura/accessibility/DEPS
[modify] https://crrev.com/e392dddd1fc3d73911c5eaccfbb6dcc47b75e598/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 28

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

commit abc90186c8019f1e0fcc237d08b93aeca6eb087a
Author: James Cook <jamescook@chromium.org>
Date: Fri Sep 28 20:45:09 2018

Revert "chromeos: Move AXHostService into ash"

This reverts commit e392dddd1fc3d73911c5eaccfbb6dcc47b75e598.

Reason for revert:
Follow-up design discussions with dmazzoni and dtseng suggest that
this might not be the right direction to go.

Instead we might want to use AXHostService as the way that both
out-of-process ash and remote app windows/widgets talk to the
browser. We may also have a different mechanism for assigning
AX child tree IDs per-widget.

Original change's description:
> chromeos: Move AXHostService into ash
> 
> This is a step toward supporting multiple remote apps and widgets. We
> need this for browser windows under single-process-mash.
> 
> Under mash the ash process is responsible for top-level window creation
> for remote apps. It will need to route accessibility actions (like hit
> testing) to the correct remote app. Likewise it manages window frames
> and focus. Therefore it should own the mojo AXHostService, not the
> browser.
> 
> Accessibility events from the remote app must be routed out of ash
> into chrome to the accessibility extension. For now we do this with
> the in-process AccessibilityDelegate. I didn't introduce a new delegate
> because the mojo service is lazily created and it's hard to connect
> a new delegate at startup. Subsequent CLs will:
> * Always create the service at ash startup
> * Convert the delegate methods to mojo
> 
> See go/mash-ax-node-tree for the full plan.
> 
> Bug: 888147
> Test: ash_unittests, manually use ChromeVox and STS with shortcut viewer
> Change-Id: Ia9e63689a8cb407b66397778be4617479fdf6c92
> Reviewed-on: https://chromium-review.googlesource.com/1249920
> Commit-Queue: James Cook <jamescook@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Reviewed-by: David Tseng <dtseng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#594949}

TBR=jamescook@chromium.org,sky@chromium.org,dtseng@chromium.org

Change-Id: I156656b5114a28693308252ee531bbf4c3db867a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 888147
Reviewed-on: https://chromium-review.googlesource.com/1252629
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595203}
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/ash/BUILD.gn
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/ash/accessibility/accessibility_delegate.h
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/ash/accessibility/default_accessibility_delegate.cc
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/ash/accessibility/default_accessibility_delegate.h
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/ash/ash_service.cc
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/DEPS
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/ash_service_registry.cc
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/chromeos/BUILD.gn
[rename] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/chromeos/accessibility/ax_host_service.cc
[rename] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/chromeos/accessibility/ax_host_service.h
[rename] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/chromeos/accessibility/ax_host_service_unittest.cc
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/ui/ash/chrome_accessibility_delegate.cc
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/ui/ash/chrome_accessibility_delegate.h
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/ui/aura/accessibility/DEPS
[modify] https://crrev.com/abc90186c8019f1e0fcc237d08b93aeca6eb087a/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc

Cc: jamescook@chromium.org
Owner: ----
Status: Available (was: Started)
On hold for now pending some views::Widget AX tree ID refactoring.
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a153c9256db9e485b7afac03ad5b902fd01e3e2

commit 9a153c9256db9e485b7afac03ad5b902fd01e3e2
Author: James Cook <jamescook@chromium.org>
Date: Tue Oct 02 23:42:42 2018

chromeos: Use aura::Window property for remote app AX child tree ID

This avoids some cases where code in //chrome/browser is directly
poking into //ash to copy around tree IDs. It will also make it
easier to support multiple remote tree IDs, since we're not just
storing a single one in ash::AccessibilityController any more.

Bug: 888147
Test: covered by tests, manually use Select-to-speak and ChromeVox
with keyboard shortcut viewer, spoken feedback and focus work as
expected

Change-Id: Ica5c856ed8378a69fda86a2111b97bff1ee8a441
Reviewed-on: https://chromium-review.googlesource.com/c/1252905
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Greg Kerr <kerrnel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596046}
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/accelerators/debug_commands.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/accessibility/accessibility_controller.h
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/public/cpp/mus_property_mirror_ash.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/public/cpp/window_properties.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/wm/non_client_frame_controller.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ash/wm/non_client_frame_controller_unittest.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/chrome/browser/chromeos/accessibility/DEPS
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/chrome/browser/chromeos/accessibility/ax_host_service.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/services/ws/public/mojom/window_manager.mojom
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ui/accessibility/platform/aura_window_properties.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ui/accessibility/platform/aura_window_properties.h
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ui/views/accessibility/ax_window_obj_wrapper.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ui/views/mus/ax_remote_host.cc
[modify] https://crrev.com/9a153c9256db9e485b7afac03ad5b902fd01e3e2/ui/views/mus/ax_remote_host_unittest.cc

Owner: jamescook@chromium.org
Status: Started (was: Available)
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 4

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

commit cb78ef567fc08ff1b80c720325094296ad034e8b
Author: James Cook <jamescook@chromium.org>
Date: Thu Oct 04 18:53:32 2018

chromeos: Add Ctrl-Alt-Shift-Q debug accelerator for quick_launch app

This allows testing multiple remote apps with accessibility support
(quick_launch and keyboard_shortcut_viewer).

Remove the mash::mojom::Launchable interface from quick_launch
because this simplifies both the manifests and launching code.
It's also how we launch tap_visualizer.

Clean up //ash deps on //mash.

Bug: 888147
Test: Run with --ash-debug-shortcuts, hit Ctrl-Alt-Shift-Q
Change-Id: Ie88c8fbba268ab8697bf0a3dce5725430cba7650
Reviewed-on: https://chromium-review.googlesource.com/c/1260020
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596786}
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/BUILD.gn
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/DEPS
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/accelerators/accelerator_controller.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/accelerators/accelerator_table.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/accelerators/accelerator_table_unittest.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/accelerators/debug_commands.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/components/quick_launch/manifest.json
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/components/quick_launch/quick_launch_application.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/components/quick_launch/quick_launch_application.h
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/manifest.json
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/public/cpp/accelerators.h
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/shell.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/ash/system/flag_warning/flag_warning_tray.cc
[modify] https://crrev.com/cb78ef567fc08ff1b80c720325094296ad034e8b/chrome/browser/ui/ash/ksv/keyboard_shortcut_viewer_metadata_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 4

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

commit e752f83c330d4a3154549b3653beb90688242577
Author: James Cook <jamescook@chromium.org>
Date: Thu Oct 04 23:08:15 2018

chromeos: Support multiple AXRemoteHosts from remote processes

This is a step toward supporting chrome browser windows under
single-process and multi-process mash.

Break AXHostService into two parts. The core AXHostService manages
a map of AXRemoteHostDelegates. Each AXRemoteHostDelegate is-a
ui::AXHostDelegate and therefore can handle PerformAction requests
from accessibility extensions. AXHostService receives incoming
AXEvents from remote apps and routes them to the correct
AXRemoteHostDelegate, which forwards them to the extension.

Integration tests already exist in SpokenFeedbackTest.

Added unit tests.

Bug: 888147
Test: unit_tests, views_mus_unittests
Change-Id: If2ee438b310acba9437a251bd77e06bfb7d9a099
Reviewed-on: https://chromium-review.googlesource.com/c/1260205
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596906}
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/accessibility/ax_host_service.cc
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/accessibility/ax_host_service.h
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/accessibility/ax_host_service_unittest.cc
[add] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/accessibility/ax_remote_host_delegate.cc
[add] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/chrome/browser/chromeos/accessibility/ax_remote_host_delegate.h
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/ui/accessibility/ax_host_delegate.h
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/ui/accessibility/mojom/ax_host.mojom
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/ui/views/mus/ax_remote_host.cc
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/ui/views/mus/ax_remote_host.h
[modify] https://crrev.com/e752f83c330d4a3154549b3653beb90688242577/ui/views/mus/ax_remote_host_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 5

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

commit e6db68f859da56f940b92077e2e571881901c013
Author: James Cook <jamescook@chromium.org>
Date: Fri Oct 05 22:20:54 2018

Add accessibility support to quick_launch test app, fix window frame

This allows testing ChromeVox with multiple simultaneous mash apps.

* Turn on a11y support in AuraInit::InitParams
* Initialize ash window property transport

Bug: 888147,  892743 
Change-Id: I3114787aa687dd6a233b7411739fa3f938cf4399
Reviewed-on: https://chromium-review.googlesource.com/c/1265535
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597341}
[modify] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/components/quick_launch/BUILD.gn
[modify] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/components/quick_launch/quick_launch_application.cc
[modify] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/components/shortcut_viewer/shortcut_viewer_application.cc
[modify] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/public/cpp/BUILD.gn
[add] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/public/cpp/ash_client.cc
[add] https://crrev.com/e6db68f859da56f940b92077e2e571881901c013/ash/public/cpp/ash_client.h

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/695bc51a229d97de9829d78b251b391b7549b3b2

commit 695bc51a229d97de9829d78b251b391b7549b3b2
Author: James Cook <jamescook@chromium.org>
Date: Fri Oct 12 17:34:14 2018

Assert ViewsDelegate::HandleAccessibilityEvent requires non-null view

The only callers pass |this| for the view argument, so CHECK that it
isn't null and remove some dead code.

This simplifies an upcoming refactor in AXRemoteHost for mash.

TBR=msw@chromium.org

Bug: 888147
Test: existing unit tests
Change-Id: I93c9bb9ea5a9e55cbca5f51340625ffe60fe64d8
Reviewed-on: https://chromium-review.googlesource.com/c/1273991
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599272}
[modify] https://crrev.com/695bc51a229d97de9829d78b251b391b7549b3b2/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc
[modify] https://crrev.com/695bc51a229d97de9829d78b251b391b7549b3b2/ui/views/mus/ax_remote_host.cc
[modify] https://crrev.com/695bc51a229d97de9829d78b251b391b7549b3b2/ui/views/views_delegate.h

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/748888c0d57fee009f96f8e1489fd998aabe19dc

commit 748888c0d57fee009f96f8e1489fd998aabe19dc
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Thu Nov 01 22:34:59 2018

Remove assumption that the parent AX tree is the desktop.

Currently we have a single root accessibility tree (the "desktop"
tree) containing all aura Windows and views in the browser process,
and all WebContents accessibility trees are direct children of that
tree.

Under multi-process mash, we're going to want it to be possible for a
remote app to host a WebContents, so we need to remove the assumption
that the parent accessibility tree of a WebContents must be the root
accessibility tree.

To do this, modify AutomationInternalCustomBindings::GetParent
so that it checks for any tree that lists the current tree as
its child tree, rather than only trying the desktop tree.
To make this efficient, have AutomationAXTreeWrapper keep track
of a map from child tree ID to its host.

This is reasonably well-covered by existing tests - if GetParent
doesn't work correctly, nearly all automation tests break.

Bug: 888147
Change-Id: Ib7350d51dffed345dd03ec11e6cc0b7591bb243c
Reviewed-on: https://chromium-review.googlesource.com/c/1286903
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604729}
[modify] https://crrev.com/748888c0d57fee009f96f8e1489fd998aabe19dc/chrome/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/748888c0d57fee009f96f8e1489fd998aabe19dc/chrome/renderer/extensions/automation_ax_tree_wrapper.h
[modify] https://crrev.com/748888c0d57fee009f96f8e1489fd998aabe19dc/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/748888c0d57fee009f96f8e1489fd998aabe19dc/ui/accessibility/ax_tree.cc
[modify] https://crrev.com/748888c0d57fee009f96f8e1489fd998aabe19dc/ui/accessibility/ax_tree.h

Status: Assigned (was: Started)
Blocked on views Widget AX node tree refactor.
Project Member

Comment 14 by bugdroid1@chromium.org, Dec 7

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

commit c898fcc2de40713695a8fd329fe9bc86c2eea1a1
Author: James Cook <jamescook@chromium.org>
Date: Fri Dec 07 18:18:06 2018

Inject AXAuraObjCache into AX object wrapper classes

This eliminates calls to AXAuraObjCache::GetInstance() and is a step
towards making the cache not be a singleton.

Bug: 888147
Test: views_unittests
Change-Id: I94dee9693881ff760be1c32b084072379e5d803b
Reviewed-on: https://chromium-review.googlesource.com/c/1359093
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614740}
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_aura_obj_cache.cc
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_view_obj_wrapper.cc
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_view_obj_wrapper.h
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_widget_obj_wrapper.cc
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_widget_obj_wrapper.h
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_window_obj_wrapper.cc
[modify] https://crrev.com/c898fcc2de40713695a8fd329fe9bc86c2eea1a1/ui/views/accessibility/ax_window_obj_wrapper.h

Labels: -Proj-Mash-SingleProcess
We're using "fence hopping" for SingleProcessMash, so punting to MultiProcessMash.

Sign in to add a comment