| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 CHROME_TEST_AUTOMATION_TAB_PROXY_H_ | 5 #ifndef CHROME_TEST_AUTOMATION_TAB_PROXY_H_ |
| 6 #define CHROME_TEST_AUTOMATION_TAB_PROXY_H_ | 6 #define CHROME_TEST_AUTOMATION_TAB_PROXY_H_ |
| 7 | 7 |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 | 9 |
| 10 #if defined(OS_WIN) | 10 #if defined(OS_WIN) |
| 11 #include <wtypes.h> | 11 #include <wtypes.h> |
| 12 #endif | 12 #endif |
| 13 | 13 |
| 14 #include <string> | 14 #include <string> |
| 15 #include <vector> | 15 #include <vector> |
| 16 | 16 |
| 17 #include "base/observer_list.h" |
| 17 #include "chrome/browser/download/save_package.h" | 18 #include "chrome/browser/download/save_package.h" |
| 18 #include "chrome/browser/tab_contents/navigation_entry.h" | 19 #include "chrome/browser/tab_contents/navigation_entry.h" |
| 19 #include "chrome/browser/tab_contents/security_style.h" | 20 #include "chrome/browser/tab_contents/security_style.h" |
| 20 #include "chrome/test/automation/automation_constants.h" | 21 #include "chrome/test/automation/automation_constants.h" |
| 21 #include "chrome/test/automation/automation_handle_tracker.h" | 22 #include "chrome/test/automation/automation_handle_tracker.h" |
| 22 | 23 |
| 23 class ConstrainedWindowProxy; | 24 class ConstrainedWindowProxy; |
| 24 class GURL; | 25 class GURL; |
| 25 class Value; | 26 class Value; |
| 27 class IPC::Message; |
| 26 | 28 |
| 27 enum FindInPageDirection { BACK = 0, FWD = 1 }; | 29 enum FindInPageDirection { BACK = 0, FWD = 1 }; |
| 28 enum FindInPageCase { IGNORE_CASE = 0, CASE_SENSITIVE = 1 }; | 30 enum FindInPageCase { IGNORE_CASE = 0, CASE_SENSITIVE = 1 }; |
| 29 | 31 |
| 30 class TabProxy : public AutomationResourceProxy { | 32 class TabProxy : public AutomationResourceProxy { |
| 31 public: | 33 public: |
| 34 class TabProxyDelegate { |
| 35 public: |
| 36 virtual void OnMessageReceived(TabProxy* tab, const IPC::Message& msg) {} |
| 37 }; |
| 38 |
| 32 TabProxy(AutomationMessageSender* sender, | 39 TabProxy(AutomationMessageSender* sender, |
| 33 AutomationHandleTracker* tracker, | 40 AutomationHandleTracker* tracker, |
| 34 int handle) | 41 int handle) |
| 35 : AutomationResourceProxy(tracker, sender, handle) {} | 42 : AutomationResourceProxy(tracker, sender, handle) {} |
| 36 | 43 |
| 37 virtual ~TabProxy() {} | |
| 38 | |
| 39 // Gets the current url of the tab. | 44 // Gets the current url of the tab. |
| 40 bool GetCurrentURL(GURL* url) const; | 45 bool GetCurrentURL(GURL* url) const; |
| 41 | 46 |
| 42 // Gets the title of the tab. | 47 // Gets the title of the tab. |
| 43 bool GetTabTitle(std::wstring* title) const; | 48 bool GetTabTitle(std::wstring* title) const; |
| 44 | 49 |
| 45 // Gets the tabstrip index of the tab. | 50 // Gets the tabstrip index of the tab. |
| 46 bool GetTabIndex(int* index) const; | 51 bool GetTabIndex(int* index) const; |
| 47 | 52 |
| 48 // Gets the number of constrained window for this tab. | 53 // Gets the number of constrained window for this tab. |
| 49 bool GetConstrainedWindowCount(int* count) const; | 54 bool GetConstrainedWindowCount(int* count) const; |
| 50 | 55 |
| 51 // Gets the proxy object for constrained window within this tab. Ownership | 56 // Gets the proxy object for constrained window within this tab. Ownership |
| 52 // for the returned object is transfered to the caller. Returns NULL on | 57 // for the returned object is transfered to the caller. Returns NULL on |
| 53 // failure. | 58 // failure. |
| 54 ConstrainedWindowProxy* GetConstrainedWindow(int window_index) const; | 59 scoped_refptr<ConstrainedWindowProxy> GetConstrainedWindow( |
| 60 int window_index) const; |
| 55 | 61 |
| 56 // Executes a javascript in a frame's context whose xpath is provided as the | 62 // Executes a javascript in a frame's context whose xpath is provided as the |
| 57 // first parameter and extract the values from the resulting json string. | 63 // first parameter and extract the values from the resulting json string. |
| 58 // Examples: | 64 // Examples: |
| 59 // jscript = "window.domAutomationController.send('string');" | 65 // jscript = "window.domAutomationController.send('string');" |
| 60 // will result in value = "string" | 66 // will result in value = "string" |
| 61 // jscript = "window.domAutomationController.send(24);" | 67 // jscript = "window.domAutomationController.send(24);" |
| 62 // will result in value = 24 | 68 // will result in value = 24 |
| 63 bool ExecuteAndExtractString(const std::wstring& frame_xpath, | 69 bool ExecuteAndExtractString(const std::wstring& frame_xpath, |
| 64 const std::wstring& jscript, | 70 const std::wstring& jscript, |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 bool OverrideEncoding(const std::wstring& encoding); | 294 bool OverrideEncoding(const std::wstring& encoding); |
| 289 | 295 |
| 290 #if defined(OS_WIN) | 296 #if defined(OS_WIN) |
| 291 // Resizes the tab window. | 297 // Resizes the tab window. |
| 292 // The parent_window parameter allows a parent to be specified for the window | 298 // The parent_window parameter allows a parent to be specified for the window |
| 293 // passed in. | 299 // passed in. |
| 294 void Reposition(HWND window, HWND window_insert_after, int left, int top, | 300 void Reposition(HWND window, HWND window_insert_after, int left, int top, |
| 295 int width, int height, int flags, HWND parent_window); | 301 int width, int height, int flags, HWND parent_window); |
| 296 #endif // defined(OS_WIN) | 302 #endif // defined(OS_WIN) |
| 297 | 303 |
| 304 // Calls delegates |
| 305 void AddObserver(TabProxyDelegate* observer); |
| 306 void RemoveObserver(TabProxyDelegate* observer); |
| 307 void OnMessageReceived(const IPC::Message& message); |
| 308 protected: |
| 309 virtual ~TabProxy() {} |
| 298 private: | 310 private: |
| 311 Lock list_lock_; // Protects the observers_list_. |
| 312 ObserverList<TabProxyDelegate> observers_list_; |
| 299 DISALLOW_COPY_AND_ASSIGN(TabProxy); | 313 DISALLOW_COPY_AND_ASSIGN(TabProxy); |
| 300 }; | 314 }; |
| 301 | 315 |
| 302 #endif // CHROME_TEST_AUTOMATION_TAB_PROXY_H_ | 316 #endif // CHROME_TEST_AUTOMATION_TAB_PROXY_H_ |
| OLD | NEW |