Revert of Ensure WebView notifies desktop automation on creation, destruction, and...
commita1f85d7012c61f136d0e757c9cbe159060b2212a
authorrouslan <rouslan@chromium.org>
Sat, 31 Jan 2015 01:56:28 +0000 (30 17:56 -0800)
committerCommit bot <commit-bot@chromium.org>
Sat, 31 Jan 2015 01:57:38 +0000 (31 01:57 +0000)
treefca14d59f2c08830e46b2536e6eef87183306ec6
parent122d7d69c44e2c87ac11f0b08f78bebac45670fc
Revert of Ensure WebView notifies desktop automation on creation, destruction, and change (patchset #20 id:510001 of https://codereview.chromium.org/880063002/)

Reason for revert:
Broke interactive_ui_tests on Linux Chromium OS ASan LSan Tests bot.

TestAsNormalAndGuestUser/SpokenFeedbackTest.EnableSpokenFeedback/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.EnableSpokenFeedback/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusToolbar/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusToolbar/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.TouchExploreStatusTray/0
GuestSpokenFeedbackTest.FocusToolbar
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxPrefixKey/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxPrefixKey/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.OverviewMode/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.OverviewMode/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.NavigateSystemTray/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.NavigateSystemTray/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxNavigateAndSelect/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.VolumeSlider/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.VolumeSlider/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxNavigateAndSelect/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxShiftSearch/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.TouchExploreStatusTray/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.TypeInOmnibox/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.TypeInOmnibox/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.OpenStatusTray/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.OpenStatusTray/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxShiftSearch/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.NavigateAppLauncher/1
TestAsNormalAndGuestUser/SpokenFeedbackTest.NavigateAppLauncher/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/1

Example test output:

TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxPrefixKey/0 (run #1):
[ RUN      ] TestAsNormalAndGuestUser/SpokenFeedbackTest.ChromeVoxPrefixKey/0
[5662:5662:0130/162946:ERROR:browser_main_loop.cc(171)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[5662:5662:0130/162946:WARNING:chrome_browser_main_chromeos.cc(290)] Running as stub user with profile dir: test-user
[5662:5662:0130/162946:INFO:audio_manager_pulse.cc(258)] Failed to connect to the context.  Error: Connection refused
Xlib:  extension "RANDR" missing on display ":9".
[5662:5691:0130/162946:ERROR:owner_key_util_impl.cc(27)] Could not get size of /tmp/.org.chromium.Chromium.2P0kWj/dmjRgRA/stub_owner.key
[5662:5691:0130/162946:WARNING:local_extension_cache.cc(199)] Extensions will not be installed from update URLs until /var/cache/external_cache/.initialized exists.
[5662:5662:0130/162946:WARNING:data_reduction_proxy_settings.cc(345)] SPDY proxy OFF at startup
[5662:5673:0130/162946:WARNING:freezer_cgroup_process_manager.cc(58)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes.
[5698:5698:0130/162946:ERROR:renderer_main.cc(205)] Running without renderer sandbox
[5708:5708:0130/162947:ERROR:renderer_main.cc(205)] Running without renderer sandbox
[5662:5662:0130/162948:INFO:CONSOLE(0)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.", source:  (0)
[5662:5662:0130/162949:INFO:CONSOLE(2069)] "Uncaught TypeError: Cannot read property 'appendChild' of null", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (2069)
[5708:5708:0130/162949:WARNING:logging_native_handler.cc(62)] 43 is not in the cache and not the new root.
[5708:5708:0130/162949:WARNING:logging_native_handler.cc(62)] unserialization failed
[5662:5662:0130/162950:INFO:CONSOLE(2020)] "Starting ChromeVox.", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVoxChromePageScript.js (2020)
[5662:5662:0130/162950:INFO:CONSOLE(1235)] "Uncaught TypeError: Cannot read property 'query' of undefined", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVoxChromePageScript.js (1235)
[5662:5662:0130/162950:INFO:CONSOLE(0)] "calling getTree() callback", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/cvox2/background/background.html (0)
[5662:5662:0130/162950:INFO:CONSOLE(1453)] "Speak (Q) "ChromeVox spoken feedback is ready"", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162950:INFO:CONSOLE(2197)] "Injecting into 2", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (2197)
[5662:5662:0130/162950:INFO:CONSOLE(0)] "calling getTree() callback", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/cvox2/background/background.html (0)
[5662:5662:0130/162951:INFO:CONSOLE(2020)] "Starting ChromeVox.", source: chrome-extension://chromevox/chromeVoxChromePageScript.js (2020)
[5662:5662:0130/162951:INFO:CONSOLE(0)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.", source:  (0)
[5662:5662:0130/162951:INFO:CONSOLE(1252)] "Warning: ChromeVox external script loading for data:text/html;charset=utf-8,\u003Cscript>window.setInterval(function() {  try {    cvox.Api.speak('ready');  } catch (e) {}}, 100);\u003C/script> stopped after failing to install https://ssl.gstatic.com/accessibility/javascript/ext/loader.js", source: chrome-extension://chromevox/chromeVoxChromePageScript.js (1252)
[5662:5662:0130/162951:INFO:CONSOLE(1453)] "Speak (Q) "ready"", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162951:INFO:CONSOLE(1454)] "  using endCallback", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1454)
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
[5662:5667:0130/162951:WARNING:alsa_util.cc(24)] PcmOpen: default,No such file or directory
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
[5662:5667:0130/162951:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
[5662:5662:0130/162951:INFO:CONSOLE(2189)] "Earcon TASK_SUCCESS", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (2189)
[5662:5662:0130/162951:INFO:CONSOLE(2020)] "Starting ChromeVox.", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVoxChromePageScript.js (2020)
[5662:5662:0130/162951:INFO:CONSOLE(0)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.", source:  (0)
[5662:5662:0130/162951:INFO:CONSOLE(2303)] "processing load complete!", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (2303)
[5662:5662:0130/162951:INFO:CONSOLE(1453)] "Speak (Q) category=nav "Click me"", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162951:INFO:CONSOLE(1453)] "  using startCallback", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162951:INFO:CONSOLE(1453)] "Speak (Q) category=nav "Button"", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162951:INFO:CONSOLE(1454)] "  using endCallback", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1454)
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_PRESSED
 Key code: 17, Flags: 1048580, Is char: 0
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_PRESSED
 Key code: 186, Flags: 1048580, Is char: 0
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_RELEASED
 Key code: 186, Flags: 1048580, Is char: 0
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_RELEASED
 Key code: 17, Flags: 1048576, Is char: 0
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_PRESSED
 Key code: 191, Flags: 1048576, Is char: 0
[5662:5662:0130/162951:INFO:touch_exploration_controller.cc(62)]
Keyboard event: ET_KEY_RELEASED
 Key code: 191, Flags: 1048576, Is char: 0
[5662:5662:0130/162951:INFO:CONSOLE(1252)] "Warning: ChromeVox external script loading for data:text/html;charset=utf-8,\u003Cbutton autofocus>Click me\u003C/button> stopped after failing to install https://ssl.gstatic.com/accessibility/javascript/ext/loader.js", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVoxChromePageScript.js (1252)
[5662:5662:0130/162952:INFO:CONSOLE(1455)] "Stop", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1455)
[5662:5662:0130/162952:INFO:CONSOLE(1455)] "Stop", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1455)
[5662:5662:0130/162952:INFO:CONSOLE(1455)] "Stop", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1455)
[5662:5662:0130/162952:INFO:CONSOLE(1453)] "Speak (I) "Find in page."", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162952:INFO:CONSOLE(1453)] "Speak (Q) ", "", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162952:INFO:CONSOLE(1453)] "Speak (Q) "Enter a search query."", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (1453)
[5662:5662:0130/162952:INFO:CONSOLE(2189)] "Earcon OBJECT_OPEN", source: chrome-extension://mndnfokpggljbaajbnioimlmbfngpief/chromeVox2ChromeBackgroundScript.js (2189)

=================================================================
==5662==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x4d9e69 in operator new(unsigned long) (/tmp/run_tha_testJgo5Vp/out/Release/interactive_ui_tests+0x4d9e69)
    #1 0x2bf0069 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:449:7
    #2 0x2be4653 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:329:3
    #3 0x2be2def in AutomationManagerAsh::SendEvent(content::BrowserContext*, views::AXAuraObjWrapper*, ui::AXEvent) chrome/browser/ui/ash/accessibility/automation_manager_ash.cc:114:3
    #4 0x2be3314 in AutomationManagerAsh::HandleEvent(content::BrowserContext*, views::View*, ui::AXEvent) chrome/browser/ui/ash/accessibility/automation_manager_ash.cc:63:3
    #5 0x21b9486 in views::View::NotifyAccessibilityEvent(ui::AXEvent, bool) ui/views/view.cc:1277:5
    #6 0x92bc0de in views::WebView::GetWebContents() ui/views/controls/webview/webview.cc:52:5
    #7 0x2bf55c9 in AXTreeSourceAsh::SerializeNode(views::AXAuraObjWrapper*, ui::AXNodeData*) const chrome/browser/ui/ash/accessibility/ax_tree_source_ash.cc:104:9
    #8 0x2befa22 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:419:3
    #9 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #10 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #11 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #12 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #13 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #14 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #15 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #16 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #17 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #18 0x2bf08f9 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:460:5
    #19 0x2be4653 in ui::AXTreeSerializer\u003Cviews::AXAuraObjWrapper*>::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdate*) ui/accessibility/ax_tree_serializer.h:329:3
    #20 0x2be2def in AutomationManagerAsh::SendEvent(content::BrowserContext*, views::AXAuraObjWrapper*, ui::AXEvent) chrome/browser/ui/ash/accessibility/automation_manager_ash.cc:114:3
    #21 0x2be2acf in AutomationManagerAsh::Enable(content::BrowserContext*) chrome/browser/ui/ash/accessibility/automation_manager_ash.cc:33:3
    #22 0xd275b4b in extensions::AutomationInternalEnableDesktopFunction::Run() chrome/browser/extensions/api/automation_internal/automation_internal_api.cc:357:3
    #23 0xaaeae8d in extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal(ExtensionHostMsg_Request_Params const&, content::RenderViewHost*, content::RenderFrameHost*, base::Callback\u003Cvoid (ExtensionFunction::ResponseType, base::ListValue const&, std::string const&)> const&) extensions/browser/extension_function_dispatcher.cc:400:5
    #24 0xaaea20f in extensions::ExtensionFunctionDispatcher::Dispatch(ExtensionHostMsg_Request_Params const&, content::RenderViewHost*) extensions/browser/extension_function_dispatcher.cc:314:3
    #25 0xaada7c4 in OnRequest extensions/browser/extension_host.cc:353:3
    #26 0xaada7c4 in DispatchToMethodImpl\u003Cextensions::ExtensionHost, void (extensions::ExtensionHost::*)(const ExtensionHostMsg_Request_Params &), ExtensionHostMsg_Request_Params, 0> base/tuple.h:246
    #27 0xaada7c4 in DispatchToMethod\u003Cextensions::ExtensionHost, void (extensions::ExtensionHost::*)(const ExtensionHostMsg_Request_Params &), ExtensionHostMsg_Request_Params> base/tuple.h:253
    #28 0xaada7c4 in Dispatch\u003Cextensions::ExtensionHost, extensions::ExtensionHost, void, void (extensions::ExtensionHost::*)(const ExtensionHostMsg_Request_Params &)> extensions/common/extension_messages.h:582
    #29 0xaada7c4 in extensions::ExtensionHost::OnMessageReceived(IPC::Message const&) extensions/browser/extension_host.cc:341
    #30 0x44246c4 in content::WebContentsImpl::OnMessageReceived(content::RenderViewHost*, content::RenderFrameHost*, IPC::Message const&) content/browser/web_contents/web_contents_impl.cc:491:11
    #31 0x42d099d in content::RenderViewHostImpl::OnMessageReceived(IPC::Message const&) content/browser/renderer_host/render_view_host_impl.cc:878:7
    #32 0x42b2f8a in content::RenderProcessHostImpl::OnMessageReceived(IPC::Message const&) content/browser/renderer_host/render_process_host_impl.cc:1529:10
    #33 0x3ff6060 in IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&) ipc/ipc_channel_proxy.cc:282:3

-----------------------------------------------------
Suppressions used:
  count      bytes template
      9        736 libfontconfig
      1         24 libnssutil3
-----------------------------------------------------

SUMMARY: AddressSanitizer: 48 byte(s) leaked in 1 allocation(s)

http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29

Original issue's description:
> 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.
>
> Committed: https://crrev.com/3475be275ec7342907a64e3e66cad085b9be8c33
> Cr-Commit-Position: refs/heads/master@{#314017}

TBR=dmazzoni@chromium.org,aboxhall@chromium.org,sadrul@chromium.org,sky@chromium.org,dtseng@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#314044}
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