Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(278)

Issue 2748463003: Generalize the HIT_TEST accessibility action so that it can send any event. (Closed)

Created:
3 years, 9 months ago by dmazzoni
Modified:
3 years, 8 months ago
Reviewers:
David Tseng, Dan Beam, nasko
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, aboxhall+watch_chromium.org, nektar+watch_chromium.org, nasko+codewatch_chromium.org, jam, yuzo+watch_chromium.org, je_julie, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Generalize the HIT_TEST accessibility action so that it can send any event. To determine what object is under a certain location on the screen we have an accessibility action from the browser to renderer and then a response event fired on the correct accessibility object. It gets more complicated and bounces around a few times if there are out-of-process iframes. For historical reasons we fire a HOVER event on the hit object, but this is somewhat arbitrary. Generalize this by letting the caller specify what event to fire. That will be useful in improving the select-to-speak feature on Chrome OS. In this change, just generalize the HIT_TEST to fire any specified event and add test coverage. BUG=699617 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation;master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2748463003 Cr-Commit-Position: refs/heads/master@{#460192} Committed: https://chromium.googlesource.com/chromium/src/+/7a44adcc7ca0d47f73d8cbc286f540cbc65e5859

Patch Set 1 #

Total comments: 6

Patch Set 2 : Add automation API binding and test #

Total comments: 2

Patch Set 3 : Use ParseAXEvent #

Unified diffs Side-by-side diffs Delta from patch set Stats (+230 lines, -92 lines) Patch
M chrome/browser/extensions/api/automation/automation_apitest.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/extensions/api/automation_internal/automation_internal_api.cc View 1 2 1 chunk +13 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/automation.idl View 1 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/automation_internal.idl View 1 2 chunks +9 lines, -1 line 0 comments Download
M chrome/renderer/resources/extensions/automation/automation_node.js View 1 2 chunks +11 lines, -1 line 0 comments Download
A chrome/test/data/extensions/api_test/automation/sites/hit_test.html View 1 1 chunk +26 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/automation/tests/tabs/hit_test.html View 1 1 chunk +7 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/automation/tests/tabs/hit_test.js View 1 1 chunk +29 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.h View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 1 2 3 chunks +4 lines, -1 line 0 comments Download
M content/browser/accessibility/hit_testing_browsertest.cc View 1 2 4 chunks +79 lines, -69 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M content/common/accessibility_messages.h View 3 chunks +8 lines, -5 lines 0 comments Download
M content/renderer/accessibility/render_accessibility_impl.h View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/accessibility/render_accessibility_impl.cc View 1 3 chunks +8 lines, -6 lines 0 comments Download
M third_party/closure_compiler/externs/automation.js View 1 1 chunk +10 lines, -0 lines 0 comments Download
M ui/accessibility/ax_action_data.h View 1 chunk +3 lines, -0 lines 0 comments Download
M ui/accessibility/ax_action_data.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M ui/accessibility/ax_enums.idl View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 27 (14 generated)
dmazzoni
dtseng: primary review nasko: owners review for content/ and *messages*
3 years, 9 months ago (2017-03-10 22:39:59 UTC) #3
nasko
content/ plumbing and IPC LGTM
3 years, 9 months ago (2017-03-13 21:28:46 UTC) #4
David Tseng
You can also hook up the automation bindings to include the new action argument. https://codereview.chromium.org/2748463003/diff/1/content/browser/accessibility/hit_testing_browsertest.cc ...
3 years, 9 months ago (2017-03-13 21:43:47 UTC) #5
dmazzoni
I added an automation API binding and a test too. https://codereview.chromium.org/2748463003/diff/1/content/browser/accessibility/hit_testing_browsertest.cc File content/browser/accessibility/hit_testing_browsertest.cc (left): https://codereview.chromium.org/2748463003/diff/1/content/browser/accessibility/hit_testing_browsertest.cc#oldcode45 ...
3 years, 9 months ago (2017-03-20 05:40:40 UTC) #7
David Tseng
lgtm; thanks for the automation bindings. We can do focus follows mouse trivially in cvox ...
3 years, 9 months ago (2017-03-22 15:27:57 UTC) #8
David Tseng
Actually, I think you need to hook up hit testing on the desktop tree still, ...
3 years, 9 months ago (2017-03-22 15:40:28 UTC) #9
dmazzoni
On 2017/03/22 15:40:28, David Tseng wrote: > Actually, I think you need to hook up ...
3 years, 9 months ago (2017-03-23 16:29:30 UTC) #10
dmazzoni
+dbeam for third_party/closure_compiler/externs/automation.js
3 years, 9 months ago (2017-03-23 16:58:06 UTC) #12
Dan Beam
lgtm
3 years, 9 months ago (2017-03-25 06:47:46 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2748463003/40001
3 years, 9 months ago (2017-03-27 16:56:29 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/417241)
3 years, 9 months ago (2017-03-27 18:08:00 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2748463003/40001
3 years, 8 months ago (2017-03-28 17:30:44 UTC) #24
commit-bot: I haz the power
3 years, 8 months ago (2017-03-28 19:55:50 UTC) #27
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/7a44adcc7ca0d47f73d8cbc286f5...

Powered by Google App Engine
This is Rietveld 408576698