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

Side by Side Diff: chrome/browser/automation/automation_provider.h

Issue 6756044: Remove extension automation support that was used only by CEEE. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to lkgr. Created 9 years, 8 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // This implements a browser-side endpoint for UI automation activity. 5 // This implements a browser-side endpoint for UI automation activity.
6 // The client-side endpoint is implemented by AutomationProxy. 6 // The client-side endpoint is implemented by AutomationProxy.
7 // The entire lifetime of this object should be contained within that of 7 // The entire lifetime of this object should be contained within that of
8 // the BrowserProcess, and in particular the NotificationService that's 8 // the BrowserProcess, and in particular the NotificationService that's
9 // hung off of it. 9 // hung off of it.
10 10
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 // Add or remove a non-owning reference to a tab's LoginHandler. This is for 117 // Add or remove a non-owning reference to a tab's LoginHandler. This is for
118 // when a login prompt is shown for HTTP/FTP authentication. 118 // when a login prompt is shown for HTTP/FTP authentication.
119 // TODO(mpcomplete): The login handling is a fairly special purpose feature. 119 // TODO(mpcomplete): The login handling is a fairly special purpose feature.
120 // Eventually we'll probably want ways to interact with the ChromeView of the 120 // Eventually we'll probably want ways to interact with the ChromeView of the
121 // login window in a generic manner, such that it can be used for anything, 121 // login window in a generic manner, such that it can be used for anything,
122 // not just logins. 122 // not just logins.
123 void AddLoginHandler(NavigationController* tab, LoginHandler* handler); 123 void AddLoginHandler(NavigationController* tab, LoginHandler* handler);
124 void RemoveLoginHandler(NavigationController* tab); 124 void RemoveLoginHandler(NavigationController* tab);
125 125
126 // Add an extension port container.
127 // Takes ownership of the container.
128 void AddPortContainer(ExtensionPortContainer* port);
129 // Remove and delete the port container.
130 void RemovePortContainer(ExtensionPortContainer* port);
131 // Get the port container for the given port id.
132 ExtensionPortContainer* GetPortContainer(int port_id) const;
133
134 // IPC implementations 126 // IPC implementations
135 virtual bool Send(IPC::Message* msg); 127 virtual bool Send(IPC::Message* msg);
136 virtual void OnChannelConnected(int pid); 128 virtual void OnChannelConnected(int pid);
137 virtual bool OnMessageReceived(const IPC::Message& msg); 129 virtual bool OnMessageReceived(const IPC::Message& msg);
138 virtual void OnChannelError(); 130 virtual void OnChannelError();
139 131
140 IPC::Message* reply_message_release() { 132 IPC::Message* reply_message_release() {
141 IPC::Message* reply_message = reply_message_; 133 IPC::Message* reply_message = reply_message_;
142 reply_message_ = NULL; 134 reply_message_ = NULL;
143 return reply_message; 135 return reply_message;
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 242
251 // Notify the JavaScript engine in the render to change its parameters 243 // Notify the JavaScript engine in the render to change its parameters
252 // while performing stress testing. See 244 // while performing stress testing. See
253 // |ViewHostMsg_JavaScriptStressTestControl_Commands| in render_messages.h 245 // |ViewHostMsg_JavaScriptStressTestControl_Commands| in render_messages.h
254 // for information on the arguments. 246 // for information on the arguments.
255 void JavaScriptStressTestControl(int handle, int cmd, int param); 247 void JavaScriptStressTestControl(int handle, int cmd, int param);
256 248
257 void InstallExtension(const FilePath& crx_path, 249 void InstallExtension(const FilePath& crx_path,
258 IPC::Message* reply_message); 250 IPC::Message* reply_message);
259 251
260 void LoadExpandedExtension(const FilePath& extension_dir,
261 IPC::Message* reply_message);
262
263 void GetEnabledExtensions(std::vector<FilePath>* result);
264
265 void WaitForExtensionTestResult(IPC::Message* reply_message); 252 void WaitForExtensionTestResult(IPC::Message* reply_message);
266 253
267 void InstallExtensionAndGetHandle(const FilePath& crx_path, 254 void InstallExtensionAndGetHandle(const FilePath& crx_path,
268 bool with_ui, 255 bool with_ui,
269 IPC::Message* reply_message); 256 IPC::Message* reply_message);
270 257
271 void UninstallExtension(int extension_handle, 258 void UninstallExtension(int extension_handle,
272 bool* success); 259 bool* success);
273 260
274 void ReloadExtension(int extension_handle, 261 void ReloadExtension(int extension_handle,
(...skipping 19 matching lines...) Expand all
294 281
295 // Asynchronous request for printing the current tab. 282 // Asynchronous request for printing the current tab.
296 void PrintAsync(int tab_handle); 283 void PrintAsync(int tab_handle);
297 284
298 // Uses the specified encoding to override the encoding of the page in the 285 // Uses the specified encoding to override the encoding of the page in the
299 // specified tab. 286 // specified tab.
300 void OverrideEncoding(int tab_handle, 287 void OverrideEncoding(int tab_handle,
301 const std::string& encoding_name, 288 const std::string& encoding_name,
302 bool* success); 289 bool* success);
303 290
304 // Enables extension automation (for e.g. UITests).
305 void SetEnableExtensionAutomation(
306 int tab_handle,
307 const std::vector<std::string>& functions_enabled);
308
309 // Selects all contents on the page. 291 // Selects all contents on the page.
310 void SelectAll(int tab_handle); 292 void SelectAll(int tab_handle);
311 293
312 // Edit operations on the page. 294 // Edit operations on the page.
313 void Cut(int tab_handle); 295 void Cut(int tab_handle);
314 void Copy(int tab_handle); 296 void Copy(int tab_handle);
315 void Paste(int tab_handle); 297 void Paste(int tab_handle);
316 298
317 void ReloadAsync(int tab_handle); 299 void ReloadAsync(int tab_handle);
318 void StopAsync(int tab_handle); 300 void StopAsync(int tab_handle);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 int handle, const GURL& url, const GURL& referrer, 351 int handle, const GURL& url, const GURL& referrer,
370 AutomationMsg_NavigationResponseValues* status); 352 AutomationMsg_NavigationResponseValues* status);
371 void NavigateExternalTabAtIndex( 353 void NavigateExternalTabAtIndex(
372 int handle, int index, AutomationMsg_NavigationResponseValues* status); 354 int handle, int index, AutomationMsg_NavigationResponseValues* status);
373 355
374 // Handler for a message sent by the automation client. 356 // Handler for a message sent by the automation client.
375 void OnMessageFromExternalHost(int handle, const std::string& message, 357 void OnMessageFromExternalHost(int handle, const std::string& message,
376 const std::string& origin, 358 const std::string& origin,
377 const std::string& target); 359 const std::string& target);
378 360
379 // Determine if the message from the external host represents a browser
380 // event, and if so dispatch it.
381 bool InterceptBrowserEventMessageFromExternalHost(const std::string& message,
382 const std::string& origin,
383 const std::string& target);
384
385 void OnBrowserMoved(int handle); 361 void OnBrowserMoved(int handle);
386 362
387 void OnRunUnloadHandlers(int handle, IPC::Message* reply_message); 363 void OnRunUnloadHandlers(int handle, IPC::Message* reply_message);
388 364
389 void OnSetZoomLevel(int handle, int zoom_level); 365 void OnSetZoomLevel(int handle, int zoom_level);
390 366
391 ExternalTabContainer* GetExternalTabForHandle(int handle); 367 ExternalTabContainer* GetExternalTabForHandle(int handle);
392 #endif // defined(OS_WIN) 368 #endif // defined(OS_WIN)
393 369
394 typedef std::map<int, ExtensionPortContainer*> PortContainerMap;
395
396 scoped_ptr<IPC::ChannelProxy> channel_; 370 scoped_ptr<IPC::ChannelProxy> channel_;
397 scoped_ptr<NotificationObserver> new_tab_ui_load_observer_; 371 scoped_ptr<NotificationObserver> new_tab_ui_load_observer_;
398 scoped_ptr<NotificationObserver> find_in_page_observer_; 372 scoped_ptr<NotificationObserver> find_in_page_observer_;
399 scoped_ptr<ExtensionTestResultNotificationObserver> 373 scoped_ptr<ExtensionTestResultNotificationObserver>
400 extension_test_result_observer_; 374 extension_test_result_observer_;
401 scoped_ptr<AutomationExtensionTracker> extension_tracker_; 375 scoped_ptr<AutomationExtensionTracker> extension_tracker_;
402 PortContainerMap port_containers_;
403 376
404 // True iff connected to an AutomationProxy. 377 // True iff connected to an AutomationProxy.
405 bool is_connected_; 378 bool is_connected_;
406 379
407 // True iff browser finished loading initial set of tabs. 380 // True iff browser finished loading initial set of tabs.
408 bool initial_tab_loads_complete_; 381 bool initial_tab_loads_complete_;
409 382
410 // True iff the Chrome OS network library finished initialization. 383 // True iff the Chrome OS network library finished initialization.
411 bool network_library_initialized_; 384 bool network_library_initialized_;
412 385
413 // ID of automation channel. 386 // ID of automation channel.
414 std::string channel_id_; 387 std::string channel_id_;
415 388
416 DISALLOW_COPY_AND_ASSIGN(AutomationProvider); 389 DISALLOW_COPY_AND_ASSIGN(AutomationProvider);
417 }; 390 };
418 391
419 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_H_ 392 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698