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

Side by Side Diff: content/renderer/dom_automation_controller.h

Issue 25378002: Move the rest of source files from webkit/renderer to content/renderer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_ 5 #ifndef CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_
6 #define CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_ 6 #define CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_
7 7
8 #include "content/renderer/cpp_bound_class.h"
8 #include "ipc/ipc_sender.h" 9 #include "ipc/ipc_sender.h"
9 #include "webkit/renderer/cpp_bound_class.h"
10 10
11 /* DomAutomationController class: 11 /* DomAutomationController class:
12 Bound to Javascript window.domAutomationController object. 12 Bound to Javascript window.domAutomationController object.
13 At the very basic, this object makes any native value (string, numbers, 13 At the very basic, this object makes any native value (string, numbers,
14 boolean) from javascript available to the automation host in Cpp. 14 boolean) from javascript available to the automation host in Cpp.
15 Any renderer implementation that is built with this binding will allow the 15 Any renderer implementation that is built with this binding will allow the
16 above facility. 16 above facility.
17 The intended use of this object is to expose the DOM Objects and their 17 The intended use of this object is to expose the DOM Objects and their
18 attributes to the automation host. 18 attributes to the automation host.
19 19
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 automation_id_ is used to route the message. 68 automation_id_ is used to route the message.
69 (IPC messages, AutomationMsg_Dom*Response) 69 (IPC messages, AutomationMsg_Dom*Response)
70 70
71 */ 71 */
72 72
73 namespace content { 73 namespace content {
74 74
75 // TODO(vibhor): Add another method-pair like sendLater() and sendNow() 75 // TODO(vibhor): Add another method-pair like sendLater() and sendNow()
76 // sendLater() should keep building a json serializer 76 // sendLater() should keep building a json serializer
77 // sendNow() should send the above serializer as a string. 77 // sendNow() should send the above serializer as a string.
78 class DomAutomationController : public webkit_glue::CppBoundClass { 78 class DomAutomationController : public CppBoundClass {
79 public: 79 public:
80 DomAutomationController(); 80 DomAutomationController();
81 81
82 // Makes the renderer send a javascript value to the app. 82 // Makes the renderer send a javascript value to the app.
83 // The value to be sent can be either of type NPString, 83 // The value to be sent can be either of type NPString,
84 // Number (double casted to int32) or boolean. 84 // Number (double casted to int32) or boolean.
85 // The function returns true/false based on the result of actual send over 85 // The function returns true/false based on the result of actual send over
86 // IPC. It sets the return value to null on unexpected errors or arguments. 86 // IPC. It sets the return value to null on unexpected errors or arguments.
87 void Send(const webkit_glue::CppArgumentList& args, 87 void Send(const CppArgumentList& args, CppVariant* result);
88 webkit_glue::CppVariant* result);
89 88
90 // Makes the renderer send a javascript value to the app. 89 // Makes the renderer send a javascript value to the app.
91 // The value must be a NPString and should be properly formed JSON. 90 // The value must be a NPString and should be properly formed JSON.
92 // This function does not modify/escape the returned string in any way. 91 // This function does not modify/escape the returned string in any way.
93 void SendJSON(const webkit_glue::CppArgumentList& args, 92 void SendJSON(const CppArgumentList& args, CppVariant* result);
94 webkit_glue::CppVariant* result);
95 93
96 // Sends a string with a provided Automation Id. 94 // Sends a string with a provided Automation Id.
97 // Expects two javascript values; the first must be a number type and will be 95 // Expects two javascript values; the first must be a number type and will be
98 // used as the Automation Id, the second must be of type NPString. 96 // used as the Automation Id, the second must be of type NPString.
99 // The function returns true/false to the javascript based on the success 97 // The function returns true/false to the javascript based on the success
100 // of the send over IPC. It sets the javascript return value to null on 98 // of the send over IPC. It sets the javascript return value to null on
101 // unexpected errors or arguments. 99 // unexpected errors or arguments.
102 void SendWithId(const webkit_glue::CppArgumentList& args, 100 void SendWithId(const CppArgumentList& args, CppVariant* result);
103 webkit_glue::CppVariant* result);
104 101
105 void SetAutomationId(const webkit_glue::CppArgumentList& args, 102 void SetAutomationId(const CppArgumentList& args, CppVariant* result);
106 webkit_glue::CppVariant* result);
107 103
108 // TODO(vibhor): Implement later 104 // TODO(vibhor): Implement later
109 // static CppBindingObjectMethod sendLater; 105 // static CppBindingObjectMethod sendLater;
110 // static CppBindingObjectMethod sendNow; 106 // static CppBindingObjectMethod sendNow;
111 107
112 void set_routing_id(int routing_id) { routing_id_ = routing_id; } 108 void set_routing_id(int routing_id) { routing_id_ = routing_id; }
113 109
114 void set_message_sender(IPC::Sender* sender) { 110 void set_message_sender(IPC::Sender* sender) {
115 sender_ = sender; 111 sender_ = sender;
116 } 112 }
117 113
118 private: 114 private:
119 IPC::Sender* sender_; 115 IPC::Sender* sender_;
120 116
121 // Refer to the comments at the top of the file for more details. 117 // Refer to the comments at the top of the file for more details.
122 int routing_id_; // routing id to be used by first channel. 118 int routing_id_; // routing id to be used by first channel.
123 int automation_id_; // routing id to be used by the next channel. 119 int automation_id_; // routing id to be used by the next channel.
124 }; 120 };
125 121
126 } // namespace content 122 } // namespace content
127 123
128 #endif // CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_ 124 #endif // CONTENT_RENDERER_DOM_AUTOMATION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698