OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/shell_delegate.h" | 8 #include "ash/shell_delegate.h" |
9 #include "ash/system/tray/system_tray_delegate.h" | 9 #include "ash/system/tray/system_tray_delegate.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 } | 73 } |
74 | 74 |
75 DictionaryValue* GetWifiInfoDict(const chromeos::WifiNetwork* wifi) { | 75 DictionaryValue* GetWifiInfoDict(const chromeos::WifiNetwork* wifi) { |
76 DictionaryValue* item = GetNetworkInfoDict(wifi); | 76 DictionaryValue* item = GetNetworkInfoDict(wifi); |
77 item->SetInteger("strength", wifi->strength()); | 77 item->SetInteger("strength", wifi->strength()); |
78 item->SetBoolean("encrypted", wifi->encrypted()); | 78 item->SetBoolean("encrypted", wifi->encrypted()); |
79 item->SetString("encryption", wifi->GetEncryptionString()); | 79 item->SetString("encryption", wifi->GetEncryptionString()); |
80 return item; | 80 return item; |
81 } | 81 } |
82 | 82 |
83 base::Value* GetProxySetting(const std::string& setting_name, | |
84 Profile* profile) { | |
85 std::string setting_path = "cros.session.proxy."; | |
86 setting_path.append(setting_name); | |
87 base::Value* setting; | |
88 if (chromeos::proxy_cros_settings_parser::GetProxyPrefValue( | |
89 profile, setting_path, &setting)) { | |
90 scoped_ptr<DictionaryValue> setting_dict( | |
91 static_cast<DictionaryValue*>(setting)); | |
92 base::Value* value; | |
93 if (setting_dict->Remove("value", &value)) | |
94 return value; | |
95 } | |
96 | |
97 return NULL; | |
98 } | |
99 | |
100 const char* UpdateStatusToString( | 83 const char* UpdateStatusToString( |
101 UpdateEngineClient::UpdateStatusOperation status) { | 84 UpdateEngineClient::UpdateStatusOperation status) { |
102 switch (status) { | 85 switch (status) { |
103 case UpdateEngineClient::UPDATE_STATUS_IDLE: | 86 case UpdateEngineClient::UPDATE_STATUS_IDLE: |
104 return "idle"; | 87 return "idle"; |
105 case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE: | 88 case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE: |
106 return "checking for update"; | 89 return "checking for update"; |
107 case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE: | 90 case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE: |
108 return "update available"; | 91 return "update available"; |
109 case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING: | 92 case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING: |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 network_library->EnableWifiNetworkDevice(enable); | 657 network_library->EnableWifiNetworkDevice(enable); |
675 } else if (device == "cellular") { | 658 } else if (device == "cellular") { |
676 network_library->EnableCellularNetworkDevice(enable); | 659 network_library->EnableCellularNetworkDevice(enable); |
677 } else { | 660 } else { |
678 reply.SendError( | 661 reply.SendError( |
679 "Unknown device. Valid devices are ethernet, wifi, cellular."); | 662 "Unknown device. Valid devices are ethernet, wifi, cellular."); |
680 return; | 663 return; |
681 } | 664 } |
682 } | 665 } |
683 | 666 |
684 void TestingAutomationProvider::GetProxySettings(DictionaryValue* args, | |
685 IPC::Message* reply_message) { | |
686 const char* settings[] = { "pacurl", "singlehttp", "singlehttpport", | |
687 "httpurl", "httpport", "httpsurl", "httpsport", | |
688 "type", "single", "ftpurl", "ftpport", | |
689 "socks", "socksport", "ignorelist" }; | |
690 AutomationJSONReply reply(this, reply_message); | |
691 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | |
692 | |
693 std::string error_message; | |
694 Profile* profile = | |
695 automation_util::GetCurrentProfileOnChromeOS(&error_message); | |
696 if (!profile) { | |
697 reply.SendError(error_message); | |
698 return; | |
699 } | |
700 for (size_t i = 0; i < arraysize(settings); ++i) { | |
701 base::Value* setting = | |
702 GetProxySetting(settings[i], profile); | |
703 if (setting) | |
704 return_value->Set(settings[i], setting); | |
705 } | |
706 reply.SendSuccess(return_value.get()); | |
707 } | |
708 | |
709 void TestingAutomationProvider::SetSharedProxies( | 667 void TestingAutomationProvider::SetSharedProxies( |
710 DictionaryValue* args, | 668 DictionaryValue* args, |
711 IPC::Message* reply_message) { | 669 IPC::Message* reply_message) { |
712 | 670 |
713 AutomationJSONReply reply(this, reply_message); | 671 AutomationJSONReply reply(this, reply_message); |
714 base::Value* value; | 672 base::Value* value; |
715 if (!args->Get("value", &value)) { | 673 if (!args->Get("value", &value)) { |
716 reply.SendError("Invalid or missing value argument."); | 674 reply.SendError("Invalid or missing value argument."); |
717 return; | 675 return; |
718 } | 676 } |
719 std::string proxy_setting_type; | |
720 std::string setting_path = prefs::kUseSharedProxies; | |
721 std::string error_message; | 677 std::string error_message; |
722 Profile* profile = | 678 Profile* profile = |
723 automation_util::GetCurrentProfileOnChromeOS(&error_message); | 679 automation_util::GetCurrentProfileOnChromeOS(&error_message); |
724 if (!profile) { | 680 if (!profile) { |
725 reply.SendError(error_message); | 681 reply.SendError(error_message); |
726 return; | 682 return; |
727 } | 683 } |
728 PrefService* pref_service = profile->GetPrefs(); | 684 PrefService* pref_service = profile->GetPrefs(); |
729 pref_service->Set(setting_path.c_str(), *value); | 685 pref_service->Set(prefs::kUseSharedProxies, *value); |
730 reply.SendSuccess(NULL); | |
731 } | |
732 | |
733 void TestingAutomationProvider::RefreshInternetDetails( | |
734 DictionaryValue* args, | |
735 IPC::Message* reply_message) { | |
736 | |
737 AutomationJSONReply reply(this, reply_message); | |
738 std::string service_path; | |
739 if (!args->GetString("service path", &service_path)) { | |
740 reply.SendError("missing service path."); | |
741 return; | |
742 } | |
743 std::string error_message; | |
744 Profile* profile = | |
745 automation_util::GetCurrentProfileOnChromeOS(&error_message); | |
746 if (!profile) { | |
747 reply.SendError(error_message); | |
748 return; | |
749 } | |
750 chromeos::ProxyConfigServiceImpl* config_service = | |
751 profile->GetProxyConfigTracker(); | |
752 if (!config_service) { | |
753 reply.SendError("Unable to get proxy configuration."); | |
754 return; | |
755 } | |
756 config_service->UISetCurrentNetwork(service_path); | |
757 reply.SendSuccess(NULL); | 686 reply.SendSuccess(NULL); |
758 } | 687 } |
759 | 688 |
760 void TestingAutomationProvider::SetProxySettings(DictionaryValue* args, | 689 void TestingAutomationProvider::SetProxySettings(DictionaryValue* args, |
761 IPC::Message* reply_message) { | 690 IPC::Message* reply_message) { |
762 AutomationJSONReply reply(this, reply_message); | 691 AutomationJSONReply reply(this, reply_message); |
763 std::string key; | 692 std::string proxy_config; |
764 base::Value* value; | 693 if (!args->GetString("proxy_config", &proxy_config)) { |
765 if (!args->GetString("key", &key) || !args->Get("value", &value)) { | |
766 reply.SendError("Invalid or missing args."); | 694 reply.SendError("Invalid or missing args."); |
767 return; | 695 return; |
768 } | 696 } |
769 std::string error_message; | 697 |
770 Profile* profile = | 698 NetworkLibrary* network_library = CrosLibrary::Get()->GetNetworkLibrary(); |
771 automation_util::GetCurrentProfileOnChromeOS(&error_message); | 699 chromeos::Network* network = |
772 if (!profile) { | 700 const_cast<chromeos::Network*>(network_library->active_network()); |
773 reply.SendError(error_message); | 701 |
| 702 if (!network) { |
| 703 reply.SendError("No network connected."); |
774 return; | 704 return; |
775 } | 705 } |
776 // ProxyCrosSettingsProvider will own the Value* passed to Set(). | 706 |
777 std::string setting_path = "cros.session.proxy."; | 707 network->SetProxyConfig(proxy_config); |
778 setting_path.append(key); | |
779 chromeos::proxy_cros_settings_parser::SetProxyPrefValue( | |
780 profile, setting_path, value); | |
781 reply.SendSuccess(NULL); | 708 reply.SendSuccess(NULL); |
782 } | 709 } |
783 | 710 |
784 void TestingAutomationProvider::ConnectToCellularNetwork( | 711 void TestingAutomationProvider::ConnectToCellularNetwork( |
785 DictionaryValue* args, IPC::Message* reply_message) { | 712 DictionaryValue* args, IPC::Message* reply_message) { |
786 std::string service_path; | 713 std::string service_path; |
787 if (!args->GetString("service_path", &service_path)) { | 714 if (!args->GetString("service_path", &service_path)) { |
788 AutomationJSONReply(this, reply_message).SendError( | 715 AutomationJSONReply(this, reply_message).SendError( |
789 "Invalid or missing args."); | 716 "Invalid or missing args."); |
790 return; | 717 return; |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1340 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> | 1267 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
1341 AddObserver(power_manager_observer_); | 1268 AddObserver(power_manager_observer_); |
1342 } | 1269 } |
1343 | 1270 |
1344 void TestingAutomationProvider::RemoveChromeosObservers() { | 1271 void TestingAutomationProvider::RemoveChromeosObservers() { |
1345 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> | 1272 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
1346 RemoveObserver(power_manager_observer_); | 1273 RemoveObserver(power_manager_observer_); |
1347 delete power_manager_observer_; | 1274 delete power_manager_observer_; |
1348 power_manager_observer_ = NULL; | 1275 power_manager_observer_ = NULL; |
1349 } | 1276 } |
OLD | NEW |