Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Unified Diff: content/renderer/dom_automation_controller.h

Issue 2503453003: Remove all calls to domAutomationController.setAutomationId.
Patch Set: Fix nacl_browsertest_util.cc Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/public/test/browser_test_utils.cc ('k') | content/renderer/dom_automation_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/dom_automation_controller.h
diff --git a/content/renderer/dom_automation_controller.h b/content/renderer/dom_automation_controller.h
index 0db719f51146250bd358ade4ee42a912d62b9c12..f393ba12c060be06d90b1a0d8ca7fc0211ee06f7 100644
--- a/content/renderer/dom_automation_controller.h
+++ b/content/renderer/dom_automation_controller.h
@@ -11,68 +11,6 @@
#include "content/public/renderer/render_frame_observer.h"
#include "gin/wrappable.h"
-/* DomAutomationController class:
- Bound to Javascript window.domAutomationController object.
- At the very basic, this object makes any native value (string, numbers,
- boolean) from javascript available to the automation host in Cpp.
- Any renderer implementation that is built with this binding will allow the
- above facility.
- The intended use of this object is to expose the DOM Objects and their
- attributes to the automation host.
-
- A typical usage would be like following (JS code):
-
- var object = document.getElementById('some_id');
- window.domAutomationController.send(object.nodeName); // get the tag name
-
- For the exact mode of usage,
- refer AutomationProxyTest.*DomAutomationController tests.
-
- The class provides a single send method that can send variety of native
- javascript values. (NPString, Number(double), Boolean)
-
- The actual communication occurs in the following manner:
-
- TEST MASTER RENDERER
- (1) (3)
- |AProxy| ----->|AProvider|----->|RenderView|------|
- /\ | | |
- | | | |
- |(6) |(2) |(0) |(4)
- | | \/ |
- | |-------->|DAController|<----|
- | |
- | |(5)
- |-------|WebContentsImpl|<--------|
-
-
- Legends:
- - AProxy = AutomationProxy
- - AProvider = AutomationProvider
- - DAController = DomAutomationController
-
- (0) Initialization step where DAController is bound to the renderer
- and the view_id of the renderer is supplied to the DAController for
- routing message in (5).
- (1) A 'javascript:' url is sent from the test process to master as an IPC
- message. A unique routing id is generated at this stage (automation_id_)
- (2) The automation_id_ of step (1) is supplied to DAController by calling
- the bound method setAutomationId(). This is required for routing message
- in (6).
- (3) The 'javascript:' url is sent for execution by calling into
- Browser::LoadURL()
- (4) A callback is generated as a result of domAutomationController.send()
- into Cpp. The supplied value is received as a result of this callback.
- (5) The value received in (4) is sent to the master along with the
- stored automation_id_ as an IPC message. The frame_'s RenderFrameImpl is
- used to route the message. (IPC messages, ViewHostMsg_*DomAutomation* )
- (6) The value and the automation_id_ is extracted out of the message received
- in (5). This value is relayed to AProxy using another IPC message.
- automation_id_ is used to route the message.
- (IPC messages, AutomationMsg_Dom*Response)
-
-*/
-
namespace blink {
class WebLocalFrame;
}
@@ -85,6 +23,15 @@ namespace content {
class RenderFrame;
+// Provides implementation of window.domAutomationController javascript object.
+// Javascript can call domAutomationController.send(...) to send arbitrary data
+// to the browser. On the browser side, the data is received via one of the
+// following:
+// - Product code:
+// - Explicit handlers of FrameHostMsg_DomOperationResponse IPC
+// - Test code:
+// - DOMMessageQueue class
+// - ExecuteScriptAndExtractInt/Bool/String functions
class DomAutomationController : public gin::Wrappable<DomAutomationController>,
public RenderFrameObserver {
public:
@@ -102,11 +49,6 @@ class DomAutomationController : public gin::Wrappable<DomAutomationController>,
// The value should be properly formed JSON.
bool SendJSON(const std::string& json);
- // Sends a string with a provided Automation Id.
- bool SendWithId(int automation_id, const std::string& str);
-
- bool SetAutomationId(int automation_id);
-
private:
explicit DomAutomationController(RenderFrame* render_view);
~DomAutomationController() override;
« no previous file with comments | « content/public/test/browser_test_utils.cc ('k') | content/renderer/dom_automation_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698