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

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

Issue 8890026: Allow chromedriver to set local state preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years 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.cc
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index 6f316e4a84071276dcf5f817c6ca9117b16cce79..08109b2cd9a4c617bb029509df4c64b31b550332 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -2251,6 +2251,8 @@ void TestingAutomationProvider::SendJSONRequest(int handle,
&TestingAutomationProvider::GetLocalStatePrefsInfo;
handler_map["SetLocalStatePrefs"] =
&TestingAutomationProvider::SetLocalStatePrefs;
+ handler_map["GetPrefsInfo"] = &TestingAutomationProvider::GetPrefsInfo;
+ handler_map["SetPrefs"] = &TestingAutomationProvider::SetPrefs;
handler_map["ExecuteJavascript"] =
&TestingAutomationProvider::ExecuteJavascriptJSON;
handler_map["ExecuteJavascriptInRenderView"] =
@@ -2437,10 +2439,6 @@ void TestingAutomationProvider::SendJSONRequest(int handle,
browser_handler_map["PerformActionOnSearchEngine"] =
&TestingAutomationProvider::PerformActionOnSearchEngine;
- browser_handler_map["GetPrefsInfo"] =
- &TestingAutomationProvider::GetPrefsInfo;
- browser_handler_map["SetPrefs"] = &TestingAutomationProvider::SetPrefs;
-
browser_handler_map["SetWindowDimensions"] =
&TestingAutomationProvider::SetWindowDimensions;
@@ -3381,26 +3379,41 @@ void TestingAutomationProvider::SetLocalStatePrefs(
reply.SendSuccess(NULL);
}
-// Sample json input: { "command": "GetPrefsInfo" }
+// Sample json input: { "command": "GetPrefsInfo", "windex": 0 }
// Refer chrome/test/pyautolib/prefs_info.py for sample json output.
-void TestingAutomationProvider::GetPrefsInfo(Browser* browser,
- DictionaryValue* args,
+void TestingAutomationProvider::GetPrefsInfo(DictionaryValue* args,
IPC::Message* reply_message) {
+ AutomationJSONReply reply(this, reply_message);
+ Browser* browser;
+ std::string error_msg;
+ if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) {
+ reply.SendError(error_msg);
+ return;
+ }
DictionaryValue* items = browser->profile()->GetPrefs()->
GetPreferenceValues();
scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
return_value->Set("prefs", items); // return_value owns items.
- AutomationJSONReply(this, reply_message).SendSuccess(return_value.get());
+ reply.SendSuccess(return_value.get());
}
-// Sample json input: { "command": "SetPrefs", "path": path, "value": value }
-void TestingAutomationProvider::SetPrefs(Browser* browser,
- DictionaryValue* args,
+// Sample json input:
+// { "command": "SetPrefs",
+// "windex": 0,
+// "path": path,
+// "value": value }
+void TestingAutomationProvider::SetPrefs(DictionaryValue* args,
IPC::Message* reply_message) {
+ AutomationJSONReply reply(this, reply_message);
+ Browser* browser;
+ std::string error_msg;
+ if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) {
+ reply.SendError(error_msg);
+ return;
+ }
std::string path;
Value* val;
- AutomationJSONReply reply(this, reply_message);
if (args->GetString("path", &path) && args->Get("value", &val)) {
PrefService* pref_service = browser->profile()->GetPrefs();
const PrefService::Preference* pref =
« no previous file with comments | « chrome/browser/automation/testing_automation_provider.h ('k') | chrome/test/automation/automation_json_requests.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698