OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 2233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2244 handler_map["WaitForAllTabsToStopLoading"] = | 2244 handler_map["WaitForAllTabsToStopLoading"] = |
2245 &TestingAutomationProvider::WaitForAllViewsToStopLoading; | 2245 &TestingAutomationProvider::WaitForAllViewsToStopLoading; |
2246 handler_map["GetIndicesFromTab"] = | 2246 handler_map["GetIndicesFromTab"] = |
2247 &TestingAutomationProvider::GetIndicesFromTab; | 2247 &TestingAutomationProvider::GetIndicesFromTab; |
2248 handler_map["NavigateToURL"] = | 2248 handler_map["NavigateToURL"] = |
2249 &TestingAutomationProvider::NavigateToURL; | 2249 &TestingAutomationProvider::NavigateToURL; |
2250 handler_map["GetLocalStatePrefsInfo"] = | 2250 handler_map["GetLocalStatePrefsInfo"] = |
2251 &TestingAutomationProvider::GetLocalStatePrefsInfo; | 2251 &TestingAutomationProvider::GetLocalStatePrefsInfo; |
2252 handler_map["SetLocalStatePrefs"] = | 2252 handler_map["SetLocalStatePrefs"] = |
2253 &TestingAutomationProvider::SetLocalStatePrefs; | 2253 &TestingAutomationProvider::SetLocalStatePrefs; |
| 2254 handler_map["GetPrefsInfo"] = &TestingAutomationProvider::GetPrefsInfo; |
| 2255 handler_map["SetPrefs"] = &TestingAutomationProvider::SetPrefs; |
2254 handler_map["ExecuteJavascript"] = | 2256 handler_map["ExecuteJavascript"] = |
2255 &TestingAutomationProvider::ExecuteJavascriptJSON; | 2257 &TestingAutomationProvider::ExecuteJavascriptJSON; |
2256 handler_map["ExecuteJavascriptInRenderView"] = | 2258 handler_map["ExecuteJavascriptInRenderView"] = |
2257 &TestingAutomationProvider::ExecuteJavascriptInRenderView; | 2259 &TestingAutomationProvider::ExecuteJavascriptInRenderView; |
2258 handler_map["GoForward"] = | 2260 handler_map["GoForward"] = |
2259 &TestingAutomationProvider::GoForward; | 2261 &TestingAutomationProvider::GoForward; |
2260 handler_map["GoBack"] = | 2262 handler_map["GoBack"] = |
2261 &TestingAutomationProvider::GoBack; | 2263 &TestingAutomationProvider::GoBack; |
2262 handler_map["Reload"] = | 2264 handler_map["Reload"] = |
2263 &TestingAutomationProvider::ReloadJSON; | 2265 &TestingAutomationProvider::ReloadJSON; |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2430 | 2432 |
2431 browser_handler_map["LoadSearchEngineInfo"] = | 2433 browser_handler_map["LoadSearchEngineInfo"] = |
2432 &TestingAutomationProvider::LoadSearchEngineInfo; | 2434 &TestingAutomationProvider::LoadSearchEngineInfo; |
2433 browser_handler_map["GetSearchEngineInfo"] = | 2435 browser_handler_map["GetSearchEngineInfo"] = |
2434 &TestingAutomationProvider::GetSearchEngineInfo; | 2436 &TestingAutomationProvider::GetSearchEngineInfo; |
2435 browser_handler_map["AddOrEditSearchEngine"] = | 2437 browser_handler_map["AddOrEditSearchEngine"] = |
2436 &TestingAutomationProvider::AddOrEditSearchEngine; | 2438 &TestingAutomationProvider::AddOrEditSearchEngine; |
2437 browser_handler_map["PerformActionOnSearchEngine"] = | 2439 browser_handler_map["PerformActionOnSearchEngine"] = |
2438 &TestingAutomationProvider::PerformActionOnSearchEngine; | 2440 &TestingAutomationProvider::PerformActionOnSearchEngine; |
2439 | 2441 |
2440 browser_handler_map["GetPrefsInfo"] = | |
2441 &TestingAutomationProvider::GetPrefsInfo; | |
2442 browser_handler_map["SetPrefs"] = &TestingAutomationProvider::SetPrefs; | |
2443 | |
2444 browser_handler_map["SetWindowDimensions"] = | 2442 browser_handler_map["SetWindowDimensions"] = |
2445 &TestingAutomationProvider::SetWindowDimensions; | 2443 &TestingAutomationProvider::SetWindowDimensions; |
2446 | 2444 |
2447 browser_handler_map["GetDownloadsInfo"] = | 2445 browser_handler_map["GetDownloadsInfo"] = |
2448 &TestingAutomationProvider::GetDownloadsInfo; | 2446 &TestingAutomationProvider::GetDownloadsInfo; |
2449 browser_handler_map["WaitForAllDownloadsToComplete"] = | 2447 browser_handler_map["WaitForAllDownloadsToComplete"] = |
2450 &TestingAutomationProvider::WaitForAllDownloadsToComplete; | 2448 &TestingAutomationProvider::WaitForAllDownloadsToComplete; |
2451 browser_handler_map["PerformActionOnDownload"] = | 2449 browser_handler_map["PerformActionOnDownload"] = |
2452 &TestingAutomationProvider::PerformActionOnDownload; | 2450 &TestingAutomationProvider::PerformActionOnDownload; |
2453 | 2451 |
(...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3374 pref_service->Set(path.c_str(), *val); | 3372 pref_service->Set(path.c_str(), *val); |
3375 } | 3373 } |
3376 } else { | 3374 } else { |
3377 reply.SendError("no pref path or value given."); | 3375 reply.SendError("no pref path or value given."); |
3378 return; | 3376 return; |
3379 } | 3377 } |
3380 | 3378 |
3381 reply.SendSuccess(NULL); | 3379 reply.SendSuccess(NULL); |
3382 } | 3380 } |
3383 | 3381 |
3384 // Sample json input: { "command": "GetPrefsInfo" } | 3382 // Sample json input: { "command": "GetPrefsInfo", "windex": 0 } |
3385 // Refer chrome/test/pyautolib/prefs_info.py for sample json output. | 3383 // Refer chrome/test/pyautolib/prefs_info.py for sample json output. |
3386 void TestingAutomationProvider::GetPrefsInfo(Browser* browser, | 3384 void TestingAutomationProvider::GetPrefsInfo(DictionaryValue* args, |
3387 DictionaryValue* args, | |
3388 IPC::Message* reply_message) { | 3385 IPC::Message* reply_message) { |
| 3386 AutomationJSONReply reply(this, reply_message); |
| 3387 Browser* browser; |
| 3388 std::string error_msg; |
| 3389 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { |
| 3390 reply.SendError(error_msg); |
| 3391 return; |
| 3392 } |
3389 DictionaryValue* items = browser->profile()->GetPrefs()-> | 3393 DictionaryValue* items = browser->profile()->GetPrefs()-> |
3390 GetPreferenceValues(); | 3394 GetPreferenceValues(); |
3391 | 3395 |
3392 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 3396 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
3393 return_value->Set("prefs", items); // return_value owns items. | 3397 return_value->Set("prefs", items); // return_value owns items. |
3394 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); | 3398 reply.SendSuccess(return_value.get()); |
3395 } | 3399 } |
3396 | 3400 |
3397 // Sample json input: { "command": "SetPrefs", "path": path, "value": value } | 3401 // Sample json input: |
3398 void TestingAutomationProvider::SetPrefs(Browser* browser, | 3402 // { "command": "SetPrefs", |
3399 DictionaryValue* args, | 3403 // "windex": 0, |
| 3404 // "path": path, |
| 3405 // "value": value } |
| 3406 void TestingAutomationProvider::SetPrefs(DictionaryValue* args, |
3400 IPC::Message* reply_message) { | 3407 IPC::Message* reply_message) { |
| 3408 AutomationJSONReply reply(this, reply_message); |
| 3409 Browser* browser; |
| 3410 std::string error_msg; |
| 3411 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { |
| 3412 reply.SendError(error_msg); |
| 3413 return; |
| 3414 } |
3401 std::string path; | 3415 std::string path; |
3402 Value* val; | 3416 Value* val; |
3403 AutomationJSONReply reply(this, reply_message); | |
3404 if (args->GetString("path", &path) && args->Get("value", &val)) { | 3417 if (args->GetString("path", &path) && args->Get("value", &val)) { |
3405 PrefService* pref_service = browser->profile()->GetPrefs(); | 3418 PrefService* pref_service = browser->profile()->GetPrefs(); |
3406 const PrefService::Preference* pref = | 3419 const PrefService::Preference* pref = |
3407 pref_service->FindPreference(path.c_str()); | 3420 pref_service->FindPreference(path.c_str()); |
3408 if (!pref) { // Not a registered pref. | 3421 if (!pref) { // Not a registered pref. |
3409 reply.SendError("pref not registered."); | 3422 reply.SendError("pref not registered."); |
3410 return; | 3423 return; |
3411 } else if (pref->IsManaged()) { // Do not attempt to change a managed pref. | 3424 } else if (pref->IsManaged()) { // Do not attempt to change a managed pref. |
3412 reply.SendError("pref is managed. cannot be changed."); | 3425 reply.SendError("pref is managed. cannot be changed."); |
3413 return; | 3426 return; |
(...skipping 3232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6646 | 6659 |
6647 Send(reply_message_); | 6660 Send(reply_message_); |
6648 redirect_query_ = 0; | 6661 redirect_query_ = 0; |
6649 reply_message_ = NULL; | 6662 reply_message_ = NULL; |
6650 } | 6663 } |
6651 | 6664 |
6652 void TestingAutomationProvider::OnRemoveProvider() { | 6665 void TestingAutomationProvider::OnRemoveProvider() { |
6653 if (g_browser_process) | 6666 if (g_browser_process) |
6654 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 6667 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
6655 } | 6668 } |
OLD | NEW |