| 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 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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" } |
| 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: { "command": "SetPrefs", "path": path, "value": value } |
| 3398 void TestingAutomationProvider::SetPrefs(Browser* browser, | 3402 void TestingAutomationProvider::SetPrefs(DictionaryValue* args, |
| 3399 DictionaryValue* args, | |
| 3400 IPC::Message* reply_message) { | 3403 IPC::Message* reply_message) { |
| 3404 AutomationJSONReply reply(this, reply_message); |
| 3405 Browser* browser; |
| 3406 std::string error_msg; |
| 3407 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { |
| 3408 reply.SendError(error_msg); |
| 3409 return; |
| 3410 } |
| 3401 std::string path; | 3411 std::string path; |
| 3402 Value* val; | 3412 Value* val; |
| 3403 AutomationJSONReply reply(this, reply_message); | |
| 3404 if (args->GetString("path", &path) && args->Get("value", &val)) { | 3413 if (args->GetString("path", &path) && args->Get("value", &val)) { |
| 3405 PrefService* pref_service = browser->profile()->GetPrefs(); | 3414 PrefService* pref_service = browser->profile()->GetPrefs(); |
| 3406 const PrefService::Preference* pref = | 3415 const PrefService::Preference* pref = |
| 3407 pref_service->FindPreference(path.c_str()); | 3416 pref_service->FindPreference(path.c_str()); |
| 3408 if (!pref) { // Not a registered pref. | 3417 if (!pref) { // Not a registered pref. |
| 3409 reply.SendError("pref not registered."); | 3418 reply.SendError("pref not registered."); |
| 3410 return; | 3419 return; |
| 3411 } else if (pref->IsManaged()) { // Do not attempt to change a managed pref. | 3420 } else if (pref->IsManaged()) { // Do not attempt to change a managed pref. |
| 3412 reply.SendError("pref is managed. cannot be changed."); | 3421 reply.SendError("pref is managed. cannot be changed."); |
| 3413 return; | 3422 return; |
| (...skipping 3232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6646 | 6655 |
| 6647 Send(reply_message_); | 6656 Send(reply_message_); |
| 6648 redirect_query_ = 0; | 6657 redirect_query_ = 0; |
| 6649 reply_message_ = NULL; | 6658 reply_message_ = NULL; |
| 6650 } | 6659 } |
| 6651 | 6660 |
| 6652 void TestingAutomationProvider::OnRemoveProvider() { | 6661 void TestingAutomationProvider::OnRemoveProvider() { |
| 6653 if (g_browser_process) | 6662 if (g_browser_process) |
| 6654 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 6663 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
| 6655 } | 6664 } |
| OLD | NEW |