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

Unified Diff: chrome/browser/automation/testing_automation_provider.h

Issue 10534163: First pass at refactoring pyautolib in preparation for removing proxy dependencies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Switched AutomationMsg_SendJSONRequest to use a browser index, now only browser_proxy uses browser … Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/automation/testing_automation_provider.h
diff --git a/chrome/browser/automation/testing_automation_provider.h b/chrome/browser/automation/testing_automation_provider.h
index dcb77a92bb77a408ed810d4415bb8cca66028ad7..4306e4591044624214116991cc48964c8848001d 100644
--- a/chrome/browser/automation/testing_automation_provider.h
+++ b/chrome/browser/automation/testing_automation_provider.h
@@ -247,7 +247,13 @@ class TestingAutomationProvider : public AutomationProvider,
// Generic pattern for pyautolib
// Uses the JSON interface for input/output.
- void SendJSONRequest(int handle,
+ void SendJSONRequestWithBrowserHandle(int handle,
+ const std::string& json_request,
+ IPC::Message* reply_message);
+ void SendJSONRequestWithBrowserIndex(int index,
+ const std::string& json_request,
+ IPC::Message* reply_message);
+ void SendJSONRequest(Browser* browser,
const std::string& json_request,
IPC::Message* reply_message);
@@ -263,6 +269,13 @@ class TestingAutomationProvider : public AutomationProvider,
base::DictionaryValue*,
IPC::Message*);
+ // JSON interface helper functions.
+ static scoped_ptr<DictionaryValue> ParseJSONRequestCommand(
+ const std::string& json_request,
+ std::string* command,
+ std::string* error);
+ void BuildJSONHandlerMaps();
+
// Set window dimensions.
// Uses the JSON interface for input/output.
void SetWindowDimensions(Browser* browser,
@@ -1544,6 +1557,9 @@ class TestingAutomationProvider : public AutomationProvider,
PowerManagerClientObserverForTesting* power_manager_observer_;
#endif // defined(OS_CHROMEOS)
+ std::map<std::string, JsonHandler> handler_map_;
+ std::map<std::string, BrowserJsonHandler> browser_handler_map_;
+
// Used to wait on various browser sync events.
scoped_ptr<ProfileSyncServiceHarness> sync_waiter_;
« no previous file with comments | « no previous file | chrome/browser/automation/testing_automation_provider.cc » ('j') | chrome/common/automation_messages_internal.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698