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

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 498c512fb02716d7f102c0501a637d718000c08d..81dd132f798d82b8683ddbe6e00e61e0c393d139 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;
@@ -3383,24 +3381,35 @@ void TestingAutomationProvider::SetLocalStatePrefs(
// Sample json input: { "command": "GetPrefsInfo" }
// 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,
+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 =

Powered by Google App Engine
This is Rietveld 408576698