OLD | NEW |
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 #ifndef CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ |
6 #define CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ | 6 #define CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/scoped_ptr.h" | 10 #include "base/scoped_ptr.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 void GetWindowBounds(int handle, gfx::Rect* bounds, bool* result); | 111 void GetWindowBounds(int handle, gfx::Rect* bounds, bool* result); |
112 void SetWindowBounds(int handle, const gfx::Rect& bounds, bool* result); | 112 void SetWindowBounds(int handle, const gfx::Rect& bounds, bool* result); |
113 void SetWindowVisible(int handle, bool visible, bool* result); | 113 void SetWindowVisible(int handle, bool visible, bool* result); |
114 void WindowSimulateClick(const IPC::Message& message, | 114 void WindowSimulateClick(const IPC::Message& message, |
115 int handle, | 115 int handle, |
116 const gfx::Point& click, | 116 const gfx::Point& click, |
117 int flags); | 117 int flags); |
118 void WindowSimulateMouseMove(const IPC::Message& message, | 118 void WindowSimulateMouseMove(const IPC::Message& message, |
119 int handle, | 119 int handle, |
120 const gfx::Point& location); | 120 const gfx::Point& location); |
121 // The Webkit mouse functions below work on the currently selected | |
122 // tab. | |
123 void WebkitMouseClick(Browser* browser, | |
124 DictionaryValue* args, | |
125 IPC::Message* message); | |
126 void WebkitMouseMove(Browser* browser, | |
127 DictionaryValue* args, | |
128 IPC::Message* message); | |
129 void WebkitMouseDrag(Browser* browser, | |
130 DictionaryValue* args, | |
131 IPC::Message* message); | |
132 void WindowSimulateKeyPress(const IPC::Message& message, | 121 void WindowSimulateKeyPress(const IPC::Message& message, |
133 int handle, | 122 int handle, |
134 int key, | 123 int key, |
135 int flags); | 124 int flags); |
136 void GetTabCount(int handle, int* tab_count); | 125 void GetTabCount(int handle, int* tab_count); |
137 void GetType(int handle, int* type_as_int); | 126 void GetType(int handle, int* type_as_int); |
138 void GetTab(int win_handle, int tab_index, int* tab_handle); | 127 void GetTab(int win_handle, int tab_index, int* tab_handle); |
139 void GetTabProcessID(int handle, int* process_id); | 128 void GetTabProcessID(int handle, int* process_id); |
140 void GetTabTitle(int handle, int* title_string_size, std::wstring* title); | 129 void GetTabTitle(int handle, int* title_string_size, std::wstring* title); |
141 void GetTabIndex(int handle, int* tabstrip_index); | 130 void GetTabIndex(int handle, int* tabstrip_index); |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 // Puts or removes the specified section of the NTP into/from menu mode. | 781 // Puts or removes the specified section of the NTP into/from menu mode. |
793 void SetNTPMenuMode(Browser* browser, | 782 void SetNTPMenuMode(Browser* browser, |
794 DictionaryValue* args, | 783 DictionaryValue* args, |
795 IPC::Message* reply_message); | 784 IPC::Message* reply_message); |
796 | 785 |
797 // Waits for all tabs to stop loading. | 786 // Waits for all tabs to stop loading. |
798 void WaitForAllTabsToStopLoading(DictionaryValue* args, | 787 void WaitForAllTabsToStopLoading(DictionaryValue* args, |
799 IPC::Message* reply_message); | 788 IPC::Message* reply_message); |
800 | 789 |
801 // Gets the browser and tab index of the given tab. Uses the JSON interface. | 790 // Gets the browser and tab index of the given tab. Uses the JSON interface. |
| 791 // Either "tab_id" or "tab_handle" must be specified, but not both. "tab_id" |
| 792 // refers to the ID from the |NavigationController|, while "tab_handle" is |
| 793 // the handle number assigned by the automation system. |
802 // Example: | 794 // Example: |
803 // input: { "tab_handle": 3 } | 795 // input: { "tab_id": 1, // optional |
804 // output: { "browser_index": 1, "tab_index": 5 } | 796 // "tab_handle": 3 // optional |
| 797 // } |
| 798 // output: { "windex": 1, "tab_index": 5 } |
805 void GetIndicesFromTab(DictionaryValue* args, IPC::Message* reply_message); | 799 void GetIndicesFromTab(DictionaryValue* args, IPC::Message* reply_message); |
806 | 800 |
807 // Navigates to the given URL. Uses the JSON interface. | 801 // Navigates to the given URL. Uses the JSON interface. |
808 // Example: | 802 // Example: |
809 // input: { "browser_index": 1, | 803 // input: { "windex": 1, |
810 // "tab_index": 3, | 804 // "tab_index": 3, |
811 // "url": "http://www.google.com", | 805 // "url": "http://www.google.com", |
812 // "navigation_count": 1 // number of navigations to wait for | 806 // "navigation_count": 1 // number of navigations to wait for |
813 // } | 807 // } |
814 // output: { "result": AUTOMATION_MSG_NAVIGATION_SUCCESS } | 808 // output: { "result": AUTOMATION_MSG_NAVIGATION_SUCCESS } |
815 void NavigateToURL(DictionaryValue* args, IPC::Message* reply_message); | 809 void NavigateToURL(DictionaryValue* args, IPC::Message* reply_message); |
816 | 810 |
| 811 // Executes javascript in the specified frame. Uses the JSON interface. |
| 812 // Waits for a result from the |DOMAutomationController|. The javascript |
| 813 // must send a string. |
| 814 // Example: |
| 815 // input: { "windex": 1, |
| 816 // "tab_index": 1, |
| 817 // "frame_xpath": "//frames[1]", |
| 818 // "javascript": |
| 819 // "window.domAutomationController.send(window.name)", |
| 820 // } |
| 821 // output: { "result": "My Window Name" } |
| 822 void ExecuteJavascriptJSON( |
| 823 DictionaryValue* args, IPC::Message* reply_message); |
| 824 |
| 825 // Goes forward in the specified tab. Uses the JSON interface. |
| 826 // Example: |
| 827 // input: { "windex": 1, "tab_index": 1 } |
| 828 // output: { "did_go_forward": true, // optional |
| 829 // "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional |
| 830 // } |
| 831 void GoForward(DictionaryValue* args, IPC::Message* reply_message); |
| 832 |
| 833 // Goes back in the specified tab. Uses the JSON interface. |
| 834 // Example: |
| 835 // input: { "windex": 1, "tab_index": 1 } |
| 836 // output: { "did_go_back": true, // optional |
| 837 // "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional |
| 838 // } |
| 839 void GoBack(DictionaryValue* args, IPC::Message* reply_message); |
| 840 |
| 841 // Reload the specified tab. Uses the JSON interface. |
| 842 // Example: |
| 843 // input: { "windex": 1, "tab_index": 1 } |
| 844 // output: { "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional } |
| 845 void ReloadJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 846 |
| 847 // Get the current url of the specified tab. Uses the JSON interface. |
| 848 // Example: |
| 849 // input: { "windex": 1, "tab_index": 1 } |
| 850 // output: { "url": "http://www.google.com" } |
| 851 void GetTabURLJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 852 |
| 853 // Get the current url of the specified tab. Uses the JSON interface. |
| 854 // Example: |
| 855 // input: { "windex": 1, "tab_index": 1 } |
| 856 // output: { "title": "Google" } |
| 857 void GetTabTitleJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 858 |
| 859 // Gets the cookies for the given URL. Uses the JSON interface. |
| 860 // Example: |
| 861 // input: { "windex": 1, "tab_index": 1, "url": "http://www.google.com" } |
| 862 // output: { "cookies": "PREF=12012" } |
| 863 void GetCookiesJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 864 |
| 865 // Deletes the cookie with the given name for the URL. Uses the JSON |
| 866 // interface. |
| 867 // Example: |
| 868 // input: { "windex": 1, |
| 869 // "tab_index": 1, |
| 870 // "url": "http://www.google.com", |
| 871 // "name": "my_cookie" |
| 872 // } |
| 873 // output: none |
| 874 void DeleteCookieJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 875 |
| 876 // Sets a cookie for the given URL. Uses the JSON interface. |
| 877 // Example: |
| 878 // input: { "windex": 1, |
| 879 // "tab_index": 1, |
| 880 // "url": "http://www.google.com", |
| 881 // "cookie": "PREF=21321" |
| 882 // } |
| 883 // output: none |
| 884 void SetCookieJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 885 |
| 886 // Gets the ID for every open tab. This ID is unique per session. |
| 887 // Example: |
| 888 // input: none |
| 889 // output: { "ids": [4124, 213, 1] } |
| 890 void GetTabIds(DictionaryValue* args, IPC::Message* reply_message); |
| 891 |
| 892 // Checks if the given tab ID refers to an open tab. |
| 893 // Example: |
| 894 // input: { "id": 41 } |
| 895 // output: { "is_valid": false } |
| 896 void IsTabIdValid(DictionaryValue* args, IPC::Message* reply_message); |
| 897 |
| 898 // Closes the specified tab. |
| 899 // Example: |
| 900 // input: { "windex": 1, "tab_index": 1 } |
| 901 // output: none |
| 902 void CloseTabJSON(DictionaryValue* args, IPC::Message* reply_message); |
| 903 |
| 904 // Sends the WebKit events for a mouse click at a given coordinate. |
| 905 // Example: |
| 906 // input: { "windex": 1, |
| 907 // "tab_index": 1, |
| 908 // "button": automation::kLeftButton, |
| 909 // "x": 100, |
| 910 // "y": 100 |
| 911 // } |
| 912 // output: none |
| 913 void WebkitMouseClick(DictionaryValue* args, |
| 914 IPC::Message* message); |
| 915 |
| 916 // Sends the WebKit event for a mouse move to a given coordinate. |
| 917 // Example: |
| 918 // input: { "windex": 1, |
| 919 // "tab_index": 1, |
| 920 // "x": 100, |
| 921 // "y": 100 |
| 922 // } |
| 923 // output: none |
| 924 void WebkitMouseMove(DictionaryValue* args, |
| 925 IPC::Message* message); |
| 926 |
| 927 // Sends the WebKit events for a mouse drag between two coordinates. |
| 928 // Example: |
| 929 // input: { "windex": 1, |
| 930 // "tab_index": 1, |
| 931 // "start_x": 100, |
| 932 // "start_y": 100, |
| 933 // "end_x": 100, |
| 934 // "end_y": 100 |
| 935 // } |
| 936 // output: none |
| 937 void WebkitMouseDrag(DictionaryValue* args, |
| 938 IPC::Message* message); |
| 939 |
| 940 // Sends the WebKit key event with the specified properties. |
| 941 // Example: |
| 942 // input: { "windex": 1, |
| 943 // "tab_index": 1, |
| 944 // "type": automation::kRawKeyDownType, |
| 945 // "nativeKeyCode": ui::VKEY_X, |
| 946 // "windowsKeyCode": ui::VKEY_X, |
| 947 // "unmodifiedText": "x", |
| 948 // "text": "X", |
| 949 // "modifiers": automation::kShiftKeyMask, |
| 950 // "isSystemKey": false |
| 951 // } |
| 952 // output: none |
| 953 void SendWebkitKeyEvent(DictionaryValue* args, |
| 954 IPC::Message* message); |
| 955 |
| 956 // Activates the given tab. |
| 957 // Example: |
| 958 // input: { "windex": 1, |
| 959 // "tab_index": 1, |
| 960 // } |
| 961 // output: none |
| 962 void ActivateTabJSON(DictionaryValue* args, IPC::Message* message); |
| 963 |
817 #if defined(OS_CHROMEOS) | 964 #if defined(OS_CHROMEOS) |
818 void LoginAsGuest(DictionaryValue* args, IPC::Message* reply_message); | 965 void LoginAsGuest(DictionaryValue* args, IPC::Message* reply_message); |
819 | 966 |
820 void Login(DictionaryValue* args, IPC::Message* reply_message); | 967 void Login(DictionaryValue* args, IPC::Message* reply_message); |
821 | 968 |
822 void Logout(DictionaryValue* args, IPC::Message* reply_message); | 969 void Logout(DictionaryValue* args, IPC::Message* reply_message); |
823 | 970 |
824 void ScreenLock(DictionaryValue* args, IPC::Message* reply_message); | 971 void ScreenLock(DictionaryValue* args, IPC::Message* reply_message); |
825 | 972 |
826 void ScreenUnlock(DictionaryValue* args, IPC::Message* reply_message); | 973 void ScreenUnlock(DictionaryValue* args, IPC::Message* reply_message); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
889 // Used to enumerate browser profiles. | 1036 // Used to enumerate browser profiles. |
890 scoped_refptr<ImporterList> importer_list_; | 1037 scoped_refptr<ImporterList> importer_list_; |
891 | 1038 |
892 // The stored data for the ImportSettings operation. | 1039 // The stored data for the ImportSettings operation. |
893 ImportSettingsData import_settings_data_; | 1040 ImportSettingsData import_settings_data_; |
894 | 1041 |
895 DISALLOW_COPY_AND_ASSIGN(TestingAutomationProvider); | 1042 DISALLOW_COPY_AND_ASSIGN(TestingAutomationProvider); |
896 }; | 1043 }; |
897 | 1044 |
898 #endif // CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ | 1045 #endif // CHROME_BROWSER_AUTOMATION_TESTING_AUTOMATION_PROVIDER_H_ |
OLD | NEW |