Fix Chrome OS virtual keyboard accessibility
The user-visible change here is that Select-to-speak on Chrome OS now
works on the virtual keyboard. It also makes it visible to ChromeVox
so we can make that work better too.
Three fixes were required:
* We need to always set the window property on the window for a
RenderWidgetHostViewAura, whether that WebContents already has
accessibility enabled or not. That's solved by moving the
trigger for the window property to RenderViewReady and
WebContentsImpl::NotifySwappedFromRenderManager.
* AXAuraObjCache needs to listen for newly-created windows,
changes to window bounds, and window property changes.
Otherwise the virtual keyboard window is created but no
accessibility events fire allowing automation clients to
find it.
* The bounds for a AXWindowObjWrapper should be global bounds and not
local. This wasn't caught before because widget bounds were correct,
but the virtual keyboard is directly in an aura Window, with no Widget
and no Views.
BUG=699617
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation;master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2803823002
Cr-Commit-Position: refs/heads/master@{#468182}
10 files changed