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

Issue 2262773002: Fix two race conditions in web view accessibility (Closed)

Created:
4 years, 4 months ago by dmazzoni
Modified:
4 years, 4 months ago
CC:
chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, David Tseng, jam, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix two race conditions in web view accessibility Add a new test for web view accessibility that ensures that when a web view is loaded, the full composed accessibility tree always eventually appears (spanning both the embedder and guest) even without any user events. The previous tests first sent some sort of events (focus events or touch events) to see that those worked; this test ensures that guest web contents are accessible even before any events fire. This exposed two race conditions: 1. If the accessibility tree for the embedder is built before the guest is attached, RFHI may not be able to map the browser plugin id to a guest at that point. The fix is for BrowserPlugin::Attach to post an update on its corresponding accessibility element. 2. If the accessibility tree for the guest is built before the embedder's, it won't have a parent accessible tree id. This causes a problem when the embedder accessibility tree is loaded because it references the guest as a child tree, but the child tree doesn't point back to its parent. The fix is to explicitly update the guest's accessibility tree data when its embedder's accessibility tree is loaded. These races are covered by the test, but see bug for an end-user scenario. BUG=639332 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/fa0d26cbe289463f9bfcceee216d620aef3028af Cr-Commit-Position: refs/heads/master@{#413857}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -0 lines) Patch
M chrome/browser/apps/guest_view/web_view_browsertest.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin.cc View 3 chunks +15 lines, -0 lines 0 comments Download

Messages

Total messages: 26 (14 generated)
dmazzoni
+dcheng: you're the most familiar with oopif / guest view a11y +fsamuel: please review as ...
4 years, 4 months ago (2016-08-19 17:45:36 UTC) #5
dmazzoni
+dtseng for review from the accessibility perspective
4 years, 4 months ago (2016-08-19 18:56:16 UTC) #7
dcheng
The change LGTM, but I'm not an expert.
4 years, 4 months ago (2016-08-19 18:57:25 UTC) #9
Fady Samuel
I'm not really sure I understand this change, but rs lgtm since you're the expert.
4 years, 4 months ago (2016-08-23 13:01:35 UTC) #12
aboxhall
lgtm
4 years, 4 months ago (2016-08-23 17:39:26 UTC) #14
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/2262773002/1
4 years, 4 months ago (2016-08-23 17:41:23 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/244025)
4 years, 4 months ago (2016-08-23 17:49:03 UTC) #18
dmazzoni
Oops, I need a content/ owner. +sievers
4 years, 4 months ago (2016-08-23 18:21:14 UTC) #20
no sievers
On 2016/08/23 18:21:14, dmazzoni wrote: > Oops, I need a content/ owner. > > +sievers ...
4 years, 4 months ago (2016-08-23 20:48:50 UTC) #21
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/2262773002/1
4 years, 4 months ago (2016-08-23 21:14:02 UTC) #23
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 4 months ago (2016-08-23 22:16:13 UTC) #24
commit-bot: I haz the power
4 years, 4 months ago (2016-08-23 22:19:57 UTC) #26
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/fa0d26cbe289463f9bfcceee216d620aef3028af
Cr-Commit-Position: refs/heads/master@{#413857}

Powered by Google App Engine
This is Rietveld 408576698