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

Issue 558073002: Hook up guest browser plugins to the accessibility tree. (Closed)

Created:
6 years, 3 months ago by dmazzoni
Modified:
6 years, 3 months ago
CC:
chromium-reviews, creis+watch_chromium.org, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nasko+codewatch_chromium.org, jam, yuzo+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@cross_process_iframes_plugins_3
Project:
chromium
Visibility:
Public.

Description

Hook up guest browser plugins to the accessibility tree. This change refactors the existing support for cross-process iframe accessibility and extends it to make guest browser plugins, for example the <webview> element in apps, accessible too. In this change, a new class, FrameAccessibility, manages all links from one frame's accessibility tree to either a child iframe's tree, or a guest web contents' tree. This is cleaner than storing ids in BrowserAccessibility nodes - now the accessibility tree just needs a single bit indicating which nodes in one tree are acting as a host of another tree. FrameAccessibility doesn't try to be efficient yet, it scans its list for every operation - the goal is for it to be simple and safe first. Hash maps could make it much faster later if needed. None of the APIs needed to test this are available outside of content yet. Once http://crbug.com/396137 is finished we'll have a clean way to test this. In the meantime, this can be tested by visiting chrome://accessibility on Windows or Mac, and observing that the accessibility tree for an app includes all nodes within <webview> elements now. Also tested with VoiceOver on Mac; there are some bugs but the <webview> is definitely part of the accessibility tree now. BUG=330307, 368298 Committed: https://crrev.com/a656928e0468ee074618f719fad962007c25292c Cr-Commit-Position: refs/heads/master@{#294883}

Patch Set 1 #

Total comments: 15

Patch Set 2 : Address feedback #

Patch Set 3 : Add GetGuestByInstanceID to RenderFrameHostDelegate #

Patch Set 4 : Rebase #

Total comments: 8

Patch Set 5 : Address feedback #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+472 lines, -151 lines) Patch
M content/browser/accessibility/browser_accessibility.h View 2 chunks +0 lines, -12 lines 0 comments Download
M content/browser/accessibility/browser_accessibility.cc View 5 chunks +18 lines, -26 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.h View 2 chunks +2 lines, -6 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 2 chunks +0 lines, -55 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
A content/browser/frame_host/frame_accessibility.h View 1 chunk +79 lines, -0 lines 0 comments Download
A content/browser/frame_host/frame_accessibility.cc View 1 2 3 4 1 chunk +179 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.cc View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 2 chunks +14 lines, -2 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 6 chunks +80 lines, -37 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M content/common/accessibility_messages.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/accessibility/blink_ax_tree_source.h View 2 chunks +3 lines, -2 lines 0 comments Download
M content/renderer/accessibility/blink_ax_tree_source.cc View 1 7 chunks +28 lines, -7 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_complete.cc View 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/browser_plugin/browser_plugin.h View 1 2 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin.cc View 1 2 3 3 chunks +24 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_manager.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M ui/accessibility/ax_enums.idl View 1 chunk +6 lines, -1 line 0 comments Download
M ui/accessibility/ax_node_data.cc View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (3 generated)
dmazzoni
Ready for some initial feedback.
6 years, 3 months ago (2014-09-10 08:02:21 UTC) #2
Fady Samuel
Sorry I wasn't able to get to this today. I'll look at it in depth ...
6 years, 3 months ago (2014-09-10 23:58:35 UTC) #3
Fady Samuel
https://codereview.chromium.org/558073002/diff/1/content/renderer/accessibility/blink_ax_tree_source.cc File content/renderer/accessibility/blink_ax_tree_source.cc (right): https://codereview.chromium.org/558073002/diff/1/content/renderer/accessibility/blink_ax_tree_source.cc#newcode368 content/renderer/accessibility/blink_ax_tree_source.cc:368: base::ASCIIToUTF16("application/browser-plugin")) { I'm a little bit sad that we ...
6 years, 3 months ago (2014-09-11 17:50:19 UTC) #4
Charlie Reis
This is nice! I like centralizing the frame logic, and it'll be easy to remove ...
6 years, 3 months ago (2014-09-11 21:46:21 UTC) #5
Charlie Reis
[+site-isolation-reviews for FYI]
6 years, 3 months ago (2014-09-11 21:46:51 UTC) #6
dmazzoni
Thanks for the review! Please note the WebContents question below. https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc File content/browser/frame_host/frame_accessibility.cc (right): https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc#newcode13 ...
6 years, 3 months ago (2014-09-12 07:34:35 UTC) #7
Fady Samuel
https://codereview.chromium.org/558073002/diff/1/content/renderer/accessibility/blink_ax_tree_source.cc File content/renderer/accessibility/blink_ax_tree_source.cc (right): https://codereview.chromium.org/558073002/diff/1/content/renderer/accessibility/blink_ax_tree_source.cc#newcode368 content/renderer/accessibility/blink_ax_tree_source.cc:368: base::ASCIIToUTF16("application/browser-plugin")) { On 2014/09/12 07:34:35, dmazzoni wrote: > On ...
6 years, 3 months ago (2014-09-12 15:47:44 UTC) #8
Fady Samuel
Ooops, browser_plugin lgtm
6 years, 3 months ago (2014-09-12 15:48:01 UTC) #9
Fady Samuel
https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc File content/browser/frame_host/frame_accessibility.cc (right): https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc#newcode13 content/browser/frame_host/frame_accessibility.cc:13: #include "content/public/browser/web_contents.h" On 2014/09/12 07:34:34, dmazzoni wrote: > Currently ...
6 years, 3 months ago (2014-09-12 16:05:11 UTC) #10
dmazzoni
On 2014/09/12 16:05:11, Fady Samuel wrote: > https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc > File content/browser/frame_host/frame_accessibility.cc (right): > > https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc#newcode13 ...
6 years, 3 months ago (2014-09-12 16:48:33 UTC) #11
Fady Samuel
On 2014/09/12 16:48:33, dmazzoni wrote: > On 2014/09/12 16:05:11, Fady Samuel wrote: > > > ...
6 years, 3 months ago (2014-09-12 17:50:39 UTC) #12
dmazzoni
+jam - would appreciate if you could review this as well
6 years, 3 months ago (2014-09-12 18:12:06 UTC) #14
nasko
IPC LGTM and a comment about readability. I haven't reviewed much of the rest of ...
6 years, 3 months ago (2014-09-12 20:43:27 UTC) #15
Charlie Reis
LGTM with nits https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc File content/browser/frame_host/frame_accessibility.cc (right): https://codereview.chromium.org/558073002/diff/1/content/browser/frame_host/frame_accessibility.cc#newcode42 content/browser/frame_host/frame_accessibility.cc:42: iter->accessibility_node_id = accessibility_node_id; On 2014/09/12 07:34:34, ...
6 years, 3 months ago (2014-09-12 21:01:59 UTC) #16
dmazzoni
https://codereview.chromium.org/558073002/diff/60001/content/browser/frame_host/frame_accessibility.cc File content/browser/frame_host/frame_accessibility.cc (right): https://codereview.chromium.org/558073002/diff/60001/content/browser/frame_host/frame_accessibility.cc#newcode118 content/browser/frame_host/frame_accessibility.cc:118: return NULL; On 2014/09/12 21:01:58, Charlie Reis wrote: > ...
6 years, 3 months ago (2014-09-15 17:55:24 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/558073002/100001
6 years, 3 months ago (2014-09-15 19:16:56 UTC) #19
commit-bot: I haz the power
Committed patchset #6 (id:100001) as c65e5752843afd80626d48bc711a582e530f8cb4
6 years, 3 months ago (2014-09-15 20:31:36 UTC) #20
commit-bot: I haz the power
6 years, 3 months ago (2014-09-15 20:35:23 UTC) #21
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/a656928e0468ee074618f719fad962007c25292c
Cr-Commit-Position: refs/heads/master@{#294883}

Powered by Google App Engine
This is Rietveld 408576698