• dmazzoni's avatar
    Fix Chrome OS virtual keyboard accessibility · 62111457
    dmazzoni authored
    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}
    62111457
automation_manager_aura.cc 7.59 KB