| 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 =
|
|
|