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

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

Issue 3191015: GTTF: next batch of automation separation. (Closed)
Patch Set: tryservers Created 10 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/automation/automation_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 friend class PopupMenuWaiter; 160 friend class PopupMenuWaiter;
161 virtual ~AutomationProvider(); 161 virtual ~AutomationProvider();
162 162
163 // Helper function to find the browser window that contains a given 163 // Helper function to find the browser window that contains a given
164 // NavigationController and activate that tab. 164 // NavigationController and activate that tab.
165 // Returns the Browser if found. 165 // Returns the Browser if found.
166 Browser* FindAndActivateTab(NavigationController* contents); 166 Browser* FindAndActivateTab(NavigationController* contents);
167 167
168 scoped_ptr<AutomationBrowserTracker> browser_tracker_; 168 scoped_ptr<AutomationBrowserTracker> browser_tracker_;
169 scoped_ptr<AutomationTabTracker> tab_tracker_; 169 scoped_ptr<AutomationTabTracker> tab_tracker_;
170 scoped_ptr<AutomationWindowTracker> window_tracker_;
170 171
171 typedef std::map<NavigationController*, LoginHandler*> LoginHandlerMap; 172 typedef std::map<NavigationController*, LoginHandler*> LoginHandlerMap;
172 LoginHandlerMap login_handler_map_; 173 LoginHandlerMap login_handler_map_;
173 174
174 Profile* profile_; 175 Profile* profile_;
175 176
176 // A pointer to reply message used when we do asynchronous processing in the 177 // A pointer to reply message used when we do asynchronous processing in the
177 // message handler. 178 // message handler.
178 // TODO(phajdan.jr): Remove |reply_message_|, it is error-prone. 179 // TODO(phajdan.jr): Remove |reply_message_|, it is error-prone.
179 IPC::Message* reply_message_; 180 IPC::Message* reply_message_;
180 181
181 // Consumer for asynchronous history queries. 182 // Consumer for asynchronous history queries.
182 CancelableRequestConsumer consumer_; 183 CancelableRequestConsumer consumer_;
183 184
184 private: 185 private:
185 // IPC Message callbacks. 186 // IPC Message callbacks.
186 void GetBrowserLocale(string16* locale);
187 void GetShowingAppModalDialog(bool* showing_dialog, int* dialog_button); 187 void GetShowingAppModalDialog(bool* showing_dialog, int* dialog_button);
188 void ClickAppModalDialogButton(int button, bool* success); 188 void ClickAppModalDialogButton(int button, bool* success);
189 void ShutdownSessionService(int handle, bool* result); 189 void ShutdownSessionService(int handle, bool* result);
190 // Be aware that the browser window returned might be of non TYPE_NORMAL
191 // or in incognito mode.
192 void GetBrowserWindow(int index, int* handle);
193 void FindNormalBrowserWindow(int* handle);
194 void GetLastActiveBrowserWindow(int* handle);
195 void GetActiveWindow(int* handle);
196 void ExecuteBrowserCommandAsync(int handle, int command, bool* success);
197 void ExecuteBrowserCommand(int handle, int command,
198 IPC::Message* reply_message);
199 void TerminateSession(int handle, bool* success); 190 void TerminateSession(int handle, bool* success);
200 void WindowGetViewBounds(int handle, int view_id, bool screen_coordinates, 191 void WindowGetViewBounds(int handle, int view_id, bool screen_coordinates,
201 bool* success, gfx::Rect* bounds); 192 bool* success, gfx::Rect* bounds);
202 void WindowSimulateDrag(int handle, 193 void WindowSimulateDrag(int handle,
203 std::vector<gfx::Point> drag_path, 194 std::vector<gfx::Point> drag_path,
204 int flags, 195 int flags,
205 bool press_escape_en_route, 196 bool press_escape_en_route,
206 IPC::Message* reply_message); 197 IPC::Message* reply_message);
207 void WindowSimulateClick(const IPC::Message& message, 198 void WindowSimulateClick(const IPC::Message& message,
208 int handle, 199 int handle,
209 const gfx::Point& click, 200 const gfx::Point& click,
210 int flags); 201 int flags);
211 void WindowSimulateMouseMove(const IPC::Message& message, 202 void WindowSimulateMouseMove(const IPC::Message& message,
212 int handle, 203 int handle,
213 const gfx::Point& location); 204 const gfx::Point& location);
214 void WindowSimulateKeyPress(const IPC::Message& message, 205 void WindowSimulateKeyPress(const IPC::Message& message,
215 int handle, 206 int handle,
216 int key, 207 int key,
217 int flags); 208 int flags);
218 void GetWindowBounds(int handle, gfx::Rect* bounds, bool* result); 209 void GetWindowBounds(int handle, gfx::Rect* bounds, bool* result);
219 void SetWindowBounds(int handle, const gfx::Rect& bounds, bool* result); 210 void SetWindowBounds(int handle, const gfx::Rect& bounds, bool* result);
220 void SetWindowVisible(int handle, bool visible, bool* result); 211 void SetWindowVisible(int handle, bool visible, bool* result);
221 void IsWindowActive(int handle, bool* success, bool* is_active);
222 void ActivateWindow(int handle);
223 void IsWindowMaximized(int handle, bool* is_maximized, bool* success);
224 212
225 void GetTabCount(int handle, int* tab_count); 213 void GetTabCount(int handle, int* tab_count);
226 void GetType(int handle, int* type_as_int); 214 void GetType(int handle, int* type_as_int);
227 void GetTab(int win_handle, int tab_index, int* tab_handle); 215 void GetTab(int win_handle, int tab_index, int* tab_handle);
228 #if defined(OS_WIN) 216 #if defined(OS_WIN)
229 // TODO(port): Replace HWND. 217 // TODO(port): Replace HWND.
230 void GetTabHWND(int handle, HWND* tab_hwnd); 218 void GetTabHWND(int handle, HWND* tab_hwnd);
231 #endif // defined(OS_WIN) 219 #endif // defined(OS_WIN)
232 void GetTabProcessID(int handle, int* process_id); 220 void GetTabProcessID(int handle, int* process_id);
233 void GetTabTitle(int handle, int* title_string_size, std::wstring* title); 221 void GetTabTitle(int handle, int* title_string_size, std::wstring* title);
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 scoped_ptr<IPC::ChannelProxy> channel_; 901 scoped_ptr<IPC::ChannelProxy> channel_;
914 scoped_ptr<InitialLoadObserver> initial_load_observer_; 902 scoped_ptr<InitialLoadObserver> initial_load_observer_;
915 scoped_ptr<NotificationObserver> new_tab_ui_load_observer_; 903 scoped_ptr<NotificationObserver> new_tab_ui_load_observer_;
916 scoped_ptr<NotificationObserver> find_in_page_observer_; 904 scoped_ptr<NotificationObserver> find_in_page_observer_;
917 scoped_ptr<NotificationObserver> dom_operation_observer_; 905 scoped_ptr<NotificationObserver> dom_operation_observer_;
918 scoped_ptr<NotificationObserver> dom_inspector_observer_; 906 scoped_ptr<NotificationObserver> dom_inspector_observer_;
919 scoped_ptr<ExtensionTestResultNotificationObserver> 907 scoped_ptr<ExtensionTestResultNotificationObserver>
920 extension_test_result_observer_; 908 extension_test_result_observer_;
921 scoped_ptr<MetricEventDurationObserver> metric_event_duration_observer_; 909 scoped_ptr<MetricEventDurationObserver> metric_event_duration_observer_;
922 scoped_ptr<AutomationExtensionTracker> extension_tracker_; 910 scoped_ptr<AutomationExtensionTracker> extension_tracker_;
923 scoped_ptr<AutomationWindowTracker> window_tracker_;
924 scoped_ptr<AutomationAutocompleteEditTracker> autocomplete_edit_tracker_; 911 scoped_ptr<AutomationAutocompleteEditTracker> autocomplete_edit_tracker_;
925 scoped_ptr<NavigationControllerRestoredObserver> restore_tracker_; 912 scoped_ptr<NavigationControllerRestoredObserver> restore_tracker_;
926 PortContainerMap port_containers_; 913 PortContainerMap port_containers_;
927 NotificationObserverList notification_observer_list_; 914 NotificationObserverList notification_observer_list_;
928 scoped_refptr<AutomationResourceMessageFilter> 915 scoped_refptr<AutomationResourceMessageFilter>
929 automation_resource_message_filter_; 916 automation_resource_message_filter_;
930 917
931 // Keep track of whether a popup menu has been opened since the last time 918 // Keep track of whether a popup menu has been opened since the last time
932 // that StartTrackingPopupMenus has been called. 919 // that StartTrackingPopupMenus has been called.
933 bool popup_menu_opened_; 920 bool popup_menu_opened_;
934 921
935 // A temporary object that receives a notification when a popup menu opens. 922 // A temporary object that receives a notification when a popup menu opens.
936 PopupMenuWaiter* popup_menu_waiter_; 923 PopupMenuWaiter* popup_menu_waiter_;
937 924
938 DISALLOW_COPY_AND_ASSIGN(AutomationProvider); 925 DISALLOW_COPY_AND_ASSIGN(AutomationProvider);
939 }; 926 };
940 927
941 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_H_ 928 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/automation/automation_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698