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

Unified Diff: chrome/test/automation/automation_json_requests.h

Issue 8649004: Allow chromedriver to install an extension and get all installed extension IDs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/automation/automation_json_requests.h
diff --git a/chrome/test/automation/automation_json_requests.h b/chrome/test/automation/automation_json_requests.h
index 28d607d334d6a466747a8cb020b6b1f32b4359e9..1c27f686d20383feb1931dab51a071b53b551b82 100644
--- a/chrome/test/automation/automation_json_requests.h
+++ b/chrome/test/automation/automation_json_requests.h
@@ -11,6 +11,7 @@
#include "base/compiler_specific.h"
#include "base/file_path.h"
+#include "chrome/browser/automation/automation_provider_json.h"
#include "chrome/common/automation_constants.h"
#include "ui/base/keycodes/keyboard_codes.h"
@@ -37,6 +38,87 @@ struct WebKeyEvent {
int modifiers;
};
+struct WebViewLocator {
+ enum Type {
+ kTypeIndexPair = 0,
+ kTypeViewId,
+ };
+ struct IndexPair {
+ int browser_index;
+ int tab_index;
+ };
+ struct Locator {
+ Locator() { }
+ ~Locator() { }
+
+ IndexPair index_pair;
+ AutomationId view_id;
+ };
+
+ WebViewLocator(){}
+ ~WebViewLocator(){}
+ void UpdateDictionary(base::DictionaryValue* dict) const;
+
+ Type type;
+ Locator locator;
+};
+
+struct WebViewId {
+ enum Type {
+ kTypeTabId = 0,
+ kTypeViewId,
+ kMaxTypes
+ };
+ struct Id {
+ Id() { }
+ ~Id() { }
+
+ int tab_id;
+ AutomationId view_id;
+ };
+
+ static WebViewId ForTab(int tab_id) {
+ WebViewId id;
+ id.type = kTypeTabId;
+ id.id.tab_id = tab_id;
+ return id;
+ }
+
+ static WebViewId ForView(const AutomationId& view_id) {
+ WebViewId id;
+ id.type = kTypeViewId;
+ id.id.view_id = view_id;
+ return id;
+ }
+
+ WebViewId() { }
+ ~WebViewId() {}
+ bool IsValid() const {
+ if (type == kTypeTabId) {
+ return id.tab_id != 0;
+ }
+ if (type == kTypeViewId) {
+ return id.view_id.is_valid();
+ }
+ return false;
+ }
+ void UpdateDictionary(base::DictionaryValue* dictionary) const;
+
+ Type type;
+ Id id;
+};
+
+struct WebViewInfo {
+ WebViewInfo(AutomationId::Type type,
+ const WebViewId& view_id,
+ const std::string& extension_id);
+ ~WebViewInfo();
+
+ AutomationId::Type type;
+ WebViewId view_id;
+ std::string extension_id;
+};
+
// Sends a JSON request to the chrome automation provider. Returns true
// if the JSON request was successfully sent and the reply was received.
// If true, |success| will be set to whether the JSON request was
@@ -89,8 +171,7 @@ bool SendNavigateToURLJSONRequest(
// result of the execution and ownership will be given to the caller.
bool SendExecuteJavascriptJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
const std::string& frame_xpath,
const std::string& javascript,
base::Value** result,
@@ -130,22 +211,6 @@ bool SendCaptureEntirePageJSONRequest(
const FilePath& path,
std::string* error_msg) WARN_UNUSED_RESULT;
-// Requests the url of the specified tab. Returns true on success.
-bool SendGetTabURLJSONRequest(
- AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
- std::string* url,
- std::string* error_msg) WARN_UNUSED_RESULT;
-
-// Requests the title of the specified tab. Returns true on success.
-bool SendGetTabTitleJSONRequest(
- AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
- std::string* tab_title,
- std::string* error_msg) WARN_UNUSED_RESULT;
-
// Requests all the cookies for the given URL. On success returns true and
// caller takes ownership of |cookies|, which is a list of all the cookies in
// dictionary format.
@@ -174,16 +239,29 @@ bool SendSetCookieJSONRequest(
// Requests the IDs for all open tabs. Returns true on success.
bool SendGetTabIdsJSONRequest(
AutomationMessageSender* sender,
- std::vector<int>* tab_ids,
+ std::vector<WebViewInfo>* views,
+ std::string* error_msg) WARN_UNUSED_RESULT;
+
+// Requests info for all open views. Returns true on success.
+bool SendGetWebViewsJSONRequest(
+ AutomationMessageSender* sender,
+ std::vector<WebViewInfo>* views,
std::string* error_msg) WARN_UNUSED_RESULT;
// Requests whether the given tab ID is valid. Returns true on success.
bool SendIsTabIdValidJSONRequest(
AutomationMessageSender* sender,
- int tab_id,
+ const WebViewId& view_id,
bool* is_valid,
std::string* error_msg) WARN_UNUSED_RESULT;
+// Requests whether the given view ID is valid. Returns true on success.
+bool SendDoesViewExistJSONRequest(
+ AutomationMessageSender* sender,
+ const WebViewId& view_id,
+ bool* does_exist,
+ std::string* error_msg) WARN_UNUSED_RESULT;
+
// Requests to close the given tab. Returns true on success.
bool SendCloseTabJSONRequest(
AutomationMessageSender* sender,
@@ -195,8 +273,7 @@ bool SendCloseTabJSONRequest(
// coordinate in the specified tab. Returns true on success.
bool SendMouseMoveJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int x,
int y,
std::string* error_msg) WARN_UNUSED_RESULT;
@@ -205,8 +282,7 @@ bool SendMouseMoveJSONRequest(
// coordinate in the specified tab. Returns true on success.
bool SendMouseClickJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
automation::MouseButton button,
int x,
int y,
@@ -216,8 +292,7 @@ bool SendMouseClickJSONRequest(
// coordinates given in the specified tab. Returns true on success.
bool SendMouseDragJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int start_x,
int start_y,
int end_x,
@@ -228,8 +303,7 @@ bool SendMouseDragJSONRequest(
// coordinate in the specified tab. Returns true on success.
bool SendMouseButtonDownJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int x,
int y,
std::string* error_msg) WARN_UNUSED_RESULT;
@@ -238,8 +312,7 @@ bool SendMouseButtonDownJSONRequest(
// coordinate in the specified tab. Returns true on success.
bool SendMouseButtonUpJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int x,
int y,
std::string* error_msg) WARN_UNUSED_RESULT;
@@ -248,8 +321,7 @@ bool SendMouseButtonUpJSONRequest(
// coordinate in the specified tab. Returns true on success.
bool SendMouseDoubleClickJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int x,
int y,
std::string* error_msg) WARN_UNUSED_RESULT;
@@ -258,8 +330,7 @@ bool SendMouseDoubleClickJSONRequest(
// specified tab. Returns true on success.
bool SendWebKeyEventJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
const WebKeyEvent& key_event,
std::string* error_msg) WARN_UNUSED_RESULT;
@@ -277,8 +348,7 @@ bool SendNativeKeyEventJSONRequest(
// specified tab. Returns true on success.
bool SendDragAndDropFilePathsJSONRequest(
AutomationMessageSender* sender,
- int browser_index,
- int tab_index,
+ const WebViewLocator& locator,
int x,
int y,
const std::vector<FilePath::StringType>& paths,
« no previous file with comments | « chrome/browser/automation/testing_automation_provider.cc ('k') | chrome/test/automation/automation_json_requests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698