
This matches the current separation in the extensions process and will make it easier to implement Automation in ATP. Since AutomationClient now needs to be bound from Javascript, adds automation.js as a shim in the AX service V8, and adds method getDesktop which calls AutomationClient::Enable. To support getDesktop, copies most of automation_node.js from the extensions system into automation.js in services/, so that we have a full chrome.automation.getDesktop that matches the implementation in extensions. Note that most functionality in automation.js still needs to have unittests added, and we'll also need to figure out how to run existing extension JS tests against ATP. Since this is not released, testing this functionality is left as a TODO. Bug: b/262638176 AX-Relnotes: N/A Test: New Change-Id: I1936360e292fc73fbe72521588713214894c6f03 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5112629 Reviewed-by: Anastasia Helfinstein <anastasi@google.com> Reviewed-by: Emily Stark <estark@chromium.org> Commit-Queue: Katie Dektar <katie@chromium.org> Cr-Commit-Position: refs/heads/main@{#1238108}
This will become a reusable extensions module. It implements the core parts of Chrome's extension system, and can be used with any host of the content module.
Some extensions code that is not Chrome-specific still lives in //chrome/browser/extensions and will be moved here.
Technical Documentation: