Ensure WebView notifies desktop automation on creation, destruction, and change
commit3475be275ec7342907a64e3e66cad085b9be8c33
authordtseng <dtseng@chromium.org>
Fri, 30 Jan 2015 23:03:13 +0000 (30 15:03 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 30 Jan 2015 23:04:04 +0000 (30 23:04 +0000)
tree5c9aa2fb2b098775dcc365afaee29a168ad92d05
parente49c51372ab82a4c33bf74f050937cc7373a176c
Ensure WebView notifies desktop automation on creation, destruction, and change

Currently, when a caller requests a desktop tree and then opens a new windowthe new WebViewmight have an unloaded child root web area because the tree id sent on construction may be stale by the time automation gets it. Adding a notification in WebView::RenderViewHostChanged appears to work properly.

This also allows ChromeVox to add one set of listeners on the desktop node.

TEST=With ChromeVox Next set to use automation,
- navigate within a tab
- switch to several tabs and navigate
- open new windows and navigate
Result should be that events fire properly when tabbing within the new page.

Review URL: https://codereview.chromium.org/880063002

Cr-Commit-Position: refs/heads/master@{#314017}
14 files changed:
chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js
chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js
chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util.js
chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs
chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
chrome/browser/resources/chromeos/chromevox/testing/chromevox_next_e2e_test_base.js
chrome/browser/resources/chromeos/chromevox/testing/mock_tts.js
chrome/renderer/resources/extensions/automation/automation_node.js
chrome/test/base/extension_js_browser_test.h
chrome/test/base/extension_load_waiter_one_shot.h
ui/views/controls/webview/webview.cc
ui/views/controls/webview/webview.h