Reland #3: Ensure WebView notifies desktop automation on creation, destruction, and...
commit4da650e88c859e6d1c2d82993cd6ed3376e77f80
authordtseng <dtseng@chromium.org>
Wed, 11 Feb 2015 17:18:48 +0000 (11 09:18 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 11 Feb 2015 17:19:38 +0000 (11 17:19 +0000)
treee7dd6d466376be275c43863a2941b0e007c76498
parent7ca2bded2a8158094f7a0d9215d8c59c69ee0b73
Reland #3: Ensure WebView notifies desktop automation on creation, destruction, and change

Original issue: https://codereview.chromium.org/880063002
Previous reland attempt: https://codereview.chromium.org/895623003/
previous reland attempt 2: https://codereview.chromium.org/890013006/
- able to reproduce the flakes locally by running multiple copies of the same test in parallel.
- tracked the issues down to the following points/solutions:
1. in automation_node.js, we now fire a loadComplete event if we detect a loaded root within enableFrame's callback. Previously, there could be a situation where a tree was already finished loading so it never actually fires that load complete.
2. in automation_node.js, we now store the callback that fires childrenChanged and the loadComplete above before requesting the browser initiate tree only accessibility which sends down the data.
3. in chromevox_next_e2e_test_base.js, we now check that the url contains 'test' to avoid processing loadCompletes from other rootWebAreas (e.g. about:blank).

TBR=dmazzoni@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#315785}
20 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/automation_util_test.extjs
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/cvox2/background/output_test.extjs
chrome/browser/resources/chromeos/chromevox/testing/chromevox_e2e_test_base.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/accessibility/ax_aura_obj_cache.cc
ui/views/accessibility/ax_aura_obj_cache.h
ui/views/accessibility/ax_widget_obj_wrapper.cc
ui/views/controls/webview/webview.cc
ui/views/controls/webview/webview.h