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

Side by Side Diff: chrome/browser/automation/testing_automation_provider_chromeos.cc

Issue 11946017: Remove old cloud policy code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address nits. Created 7 years, 11 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 20 matching lines...) Expand all
31 #include "chrome/browser/chromeos/login/update_screen.h" 31 #include "chrome/browser/chromeos/login/update_screen.h"
32 #include "chrome/browser/chromeos/login/user_image_screen.h" 32 #include "chrome/browser/chromeos/login/user_image_screen.h"
33 #include "chrome/browser/chromeos/login/webui_login_display.h" 33 #include "chrome/browser/chromeos/login/webui_login_display.h"
34 #include "chrome/browser/chromeos/login/webui_login_display_host.h" 34 #include "chrome/browser/chromeos/login/webui_login_display_host.h"
35 #include "chrome/browser/chromeos/login/wizard_controller.h" 35 #include "chrome/browser/chromeos/login/wizard_controller.h"
36 #include "chrome/browser/chromeos/proxy_config_service_impl.h" 36 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
37 #include "chrome/browser/chromeos/proxy_cros_settings_parser.h" 37 #include "chrome/browser/chromeos/proxy_cros_settings_parser.h"
38 #include "chrome/browser/chromeos/settings/cros_settings.h" 38 #include "chrome/browser/chromeos/settings/cros_settings.h"
39 #include "chrome/browser/chromeos/settings/cros_settings_names.h" 39 #include "chrome/browser/chromeos/settings/cros_settings_names.h"
40 #include "chrome/browser/chromeos/system/timezone_settings.h" 40 #include "chrome/browser/chromeos/system/timezone_settings.h"
41 #include "chrome/browser/policy/browser_policy_connector.h"
42 #include "chrome/browser/policy/cloud_policy_cache_base.h"
43 #include "chrome/browser/policy/cloud_policy_data_store.h"
44 #include "chrome/browser/policy/cloud_policy_subsystem.h"
45 #include "chrome/browser/policy/enterprise_install_attributes.h"
46 #include "chrome/browser/prefs/pref_service.h" 41 #include "chrome/browser/prefs/pref_service.h"
47 #include "chrome/browser/ui/browser.h" 42 #include "chrome/browser/ui/browser.h"
48 #include "chrome/browser/ui/browser_window.h" 43 #include "chrome/browser/ui/browser_window.h"
49 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 44 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
50 #include "chrome/common/pref_names.h" 45 #include "chrome/common/pref_names.h"
51 #include "chromeos/dbus/dbus_thread_manager.h" 46 #include "chromeos/dbus/dbus_thread_manager.h"
52 #include "chromeos/dbus/power_manager_client.h" 47 #include "chromeos/dbus/power_manager_client.h"
53 #include "chromeos/dbus/session_manager_client.h" 48 #include "chromeos/dbus/session_manager_client.h"
54 #include "chromeos/dbus/update_engine_client.h" 49 #include "chromeos/dbus/update_engine_client.h"
55 #include "content/public/browser/web_contents.h" 50 #include "content/public/browser/web_contents.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 return std::string("L2TP_IPSEC_PSK"); 164 return std::string("L2TP_IPSEC_PSK");
170 case chromeos::PROVIDER_TYPE_L2TP_IPSEC_USER_CERT: 165 case chromeos::PROVIDER_TYPE_L2TP_IPSEC_USER_CERT:
171 return std::string("L2TP_IPSEC_USER_CERT"); 166 return std::string("L2TP_IPSEC_USER_CERT");
172 case chromeos::PROVIDER_TYPE_OPEN_VPN: 167 case chromeos::PROVIDER_TYPE_OPEN_VPN:
173 return std::string("OPEN_VPN"); 168 return std::string("OPEN_VPN");
174 default: 169 default:
175 return std::string("UNSUPPORTED_PROVIDER_TYPE"); 170 return std::string("UNSUPPORTED_PROVIDER_TYPE");
176 } 171 }
177 } 172 }
178 173
179 const char* EnterpriseStatusToString(
180 policy::CloudPolicySubsystem::PolicySubsystemState state) {
181 switch (state) {
182 case policy::CloudPolicySubsystem::UNENROLLED:
183 return "UNENROLLED";
184 case policy::CloudPolicySubsystem::BAD_GAIA_TOKEN:
185 return "BAD_GAIA_TOKEN";
186 case policy::CloudPolicySubsystem::UNMANAGED:
187 return "UNMANAGED";
188 case policy::CloudPolicySubsystem::NETWORK_ERROR:
189 return "NETWORK_ERROR";
190 case policy::CloudPolicySubsystem::LOCAL_ERROR:
191 return "LOCAL_ERROR";
192 case policy::CloudPolicySubsystem::TOKEN_FETCHED:
193 return "TOKEN_FETCHED";
194 case policy::CloudPolicySubsystem::SUCCESS:
195 return "SUCCESS";
196 default:
197 return "UNKNOWN_STATE";
198 }
199 }
200
201 // Fills the supplied DictionaryValue with all policy settings held by the
202 // given CloudPolicySubsystem (Device or User subsystems) at the given
203 // PolicyLevel (Mandatory or Recommended policies).
204 DictionaryValue* CreateDictionaryWithPolicies(
205 policy::CloudPolicySubsystem* policy_subsystem,
206 policy::PolicyLevel policy_level) {
207 DictionaryValue* dict = new DictionaryValue;
208 policy::CloudPolicyCacheBase* policy_cache =
209 policy_subsystem->GetCloudPolicyCacheBase();
210 if (policy_cache) {
211 const policy::PolicyMap* policy_map = policy_cache->policy();
212 if (policy_map) {
213 policy::PolicyMap::const_iterator i;
214 for (i = policy_map->begin(); i != policy_map->end(); i++) {
215 if (i->second.level == policy_level)
216 dict->Set(i->first, i->second.value->DeepCopy());
217 }
218 }
219 }
220 return dict;
221 }
222
223 // Last reported power status. 174 // Last reported power status.
224 chromeos::PowerSupplyStatus global_power_status; 175 chromeos::PowerSupplyStatus global_power_status;
225 176
226 } // namespace 177 } // namespace
227 178
228 class PowerManagerClientObserverForTesting 179 class PowerManagerClientObserverForTesting
229 : public chromeos::PowerManagerClient::Observer { 180 : public chromeos::PowerManagerClient::Observer {
230 public: 181 public:
231 virtual ~PowerManagerClientObserverForTesting() {} 182 virtual ~PowerManagerClientObserverForTesting() {}
232 183
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 const chromeos::VirtualNetwork* virt = network_library->virtual_network(); 1116 const chromeos::VirtualNetwork* virt = network_library->virtual_network();
1166 if (!virt) { 1117 if (!virt) {
1167 reply.SendError("Not connected to any virtual network."); 1118 reply.SendError("Not connected to any virtual network.");
1168 return; 1119 return;
1169 } 1120 }
1170 1121
1171 network_library->DisconnectFromNetwork(virt); 1122 network_library->DisconnectFromNetwork(virt);
1172 reply.SendSuccess(NULL); 1123 reply.SendSuccess(NULL);
1173 } 1124 }
1174 1125
1175 void TestingAutomationProvider::IsEnterpriseDevice(
1176 DictionaryValue* args, IPC::Message* reply_message) {
1177 AutomationJSONReply reply(this, reply_message);
1178 policy::BrowserPolicyConnector* connector =
1179 g_browser_process->browser_policy_connector();
1180 if (!connector) {
1181 reply.SendError("Unable to access BrowserPolicyConnector");
1182 return;
1183 }
1184 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
1185 return_value->SetBoolean("enterprise", connector->IsEnterpriseManaged());
1186 reply.SendSuccess(return_value.get());
1187 }
1188
1189 void TestingAutomationProvider::EnrollEnterpriseDevice(
1190 DictionaryValue* args, IPC::Message* reply_message) {
1191 std::string user, password;
1192 if (!args->GetString("user", &user) ||
1193 !args->GetString("password", &password)) {
1194 AutomationJSONReply(this, reply_message)
1195 .SendError("Invalid or missing args.");
1196 return;
1197 }
1198 ExistingUserController* user_controller =
1199 ExistingUserController::current_controller();
1200 if (!user_controller) {
1201 AutomationJSONReply(this, reply_message).SendError(
1202 "Unable to access ExistingUserController");
1203 return;
1204 }
1205 user_controller->login_display_host()->StartWizard(
1206 chromeos::WizardController::kEnterpriseEnrollmentScreenName,
1207 NULL);
1208 WizardController* wizard_controller = WizardController::default_controller();
1209 if (!wizard_controller) {
1210 AutomationJSONReply(this, reply_message).SendError(
1211 "Unable to access WizardController");
1212 return;
1213 }
1214 chromeos::EnterpriseEnrollmentScreen* enroll_screen =
1215 wizard_controller->GetEnterpriseEnrollmentScreen();
1216 if (!enroll_screen) {
1217 AutomationJSONReply(this, reply_message).SendError(
1218 "Unable to access EnterpriseEnrollmentScreen");
1219 return;
1220 }
1221 // Set up an observer (it will delete itself).
1222 new EnrollmentObserver(this, reply_message, enroll_screen);
1223 enroll_screen->GetActor()->SubmitTestCredentials(user, password);
1224 }
1225
1226 void TestingAutomationProvider::ExecuteJavascriptInOOBEWebUI( 1126 void TestingAutomationProvider::ExecuteJavascriptInOOBEWebUI(
1227 DictionaryValue* args, IPC::Message* reply_message) { 1127 DictionaryValue* args, IPC::Message* reply_message) {
1228 std::string javascript, frame_xpath; 1128 std::string javascript, frame_xpath;
1229 if (!args->GetString("javascript", &javascript)) { 1129 if (!args->GetString("javascript", &javascript)) {
1230 AutomationJSONReply(this, reply_message) 1130 AutomationJSONReply(this, reply_message)
1231 .SendError("'javascript' missing or invalid"); 1131 .SendError("'javascript' missing or invalid");
1232 return; 1132 return;
1233 } 1133 }
1234 if (!args->GetString("frame_xpath", &frame_xpath)) { 1134 if (!args->GetString("frame_xpath", &frame_xpath)) {
1235 AutomationJSONReply(this, reply_message) 1135 AutomationJSONReply(this, reply_message)
(...skipping 24 matching lines...) Expand all
1260 content::WebContents* web_contents = 1160 content::WebContents* web_contents =
1261 webui_login_display_host->GetOobeUI()->web_ui()->GetWebContents(); 1161 webui_login_display_host->GetOobeUI()->web_ui()->GetWebContents();
1262 1162
1263 new DomOperationMessageSender(this, reply_message, true); 1163 new DomOperationMessageSender(this, reply_message, true);
1264 ExecuteJavascriptInRenderViewFrame(ASCIIToUTF16(frame_xpath), 1164 ExecuteJavascriptInRenderViewFrame(ASCIIToUTF16(frame_xpath),
1265 ASCIIToUTF16(javascript), 1165 ASCIIToUTF16(javascript),
1266 reply_message, 1166 reply_message,
1267 web_contents->GetRenderViewHost()); 1167 web_contents->GetRenderViewHost());
1268 } 1168 }
1269 1169
1270 void TestingAutomationProvider::GetEnterprisePolicyInfo(
1271 DictionaryValue* args, IPC::Message* reply_message) {
1272 AutomationJSONReply reply(this, reply_message);
1273 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
1274
1275 policy::BrowserPolicyConnector* connector =
1276 g_browser_process->browser_policy_connector();
1277 if (!connector) {
1278 reply.SendError("Unable to access BrowserPolicyConnector");
1279 return;
1280 }
1281 policy::CloudPolicySubsystem* user_cloud_policy =
1282 connector->user_cloud_policy_subsystem();
1283 policy::CloudPolicySubsystem* device_cloud_policy =
1284 connector->device_cloud_policy_subsystem();
1285 const policy::CloudPolicyDataStore* user_data_store =
1286 connector->GetUserCloudPolicyDataStore();
1287 const policy::CloudPolicyDataStore* device_data_store =
1288 connector->GetDeviceCloudPolicyDataStore();
1289 if (!user_cloud_policy || !device_cloud_policy) {
1290 reply.SendError("Unable to access a CloudPolicySubsystem");
1291 return;
1292 }
1293 if (!user_data_store || !device_data_store) {
1294 reply.SendError("Unable to access a CloudPolicyDataStore");
1295 return;
1296 }
1297
1298 // Get various policy related fields.
1299 return_value->SetString("enterprise_domain",
1300 connector->GetEnterpriseDomain());
1301 return_value->SetString("user_cloud_policy",
1302 EnterpriseStatusToString(user_cloud_policy->state()));
1303 return_value->SetString("device_cloud_policy",
1304 EnterpriseStatusToString(device_cloud_policy->state()));
1305 return_value->SetString("device_id", device_data_store->device_id());
1306 return_value->SetString("device_token", device_data_store->device_token());
1307 return_value->SetString("gaia_token", device_data_store->gaia_token());
1308 return_value->SetString("machine_id", device_data_store->machine_id());
1309 return_value->SetString("machine_model", device_data_store->machine_model());
1310 return_value->SetString("user_name", device_data_store->user_name());
1311 return_value->SetBoolean("device_token_cache_loaded",
1312 device_data_store->token_cache_loaded());
1313 return_value->SetBoolean("user_token_cache_loaded",
1314 user_data_store->token_cache_loaded());
1315 // Get PolicyMaps.
1316 return_value->Set("device_mandatory_policies",
1317 CreateDictionaryWithPolicies(device_cloud_policy,
1318 policy::POLICY_LEVEL_MANDATORY));
1319 return_value->Set("user_mandatory_policies",
1320 CreateDictionaryWithPolicies(user_cloud_policy,
1321 policy::POLICY_LEVEL_MANDATORY));
1322 return_value->Set("device_recommended_policies",
1323 CreateDictionaryWithPolicies(device_cloud_policy,
1324 policy::POLICY_LEVEL_RECOMMENDED));
1325 return_value->Set("user_recommended_policies",
1326 CreateDictionaryWithPolicies(user_cloud_policy,
1327 policy::POLICY_LEVEL_RECOMMENDED));
1328 reply.SendSuccess(return_value.get());
1329 }
1330
1331 void TestingAutomationProvider::EnableSpokenFeedback( 1170 void TestingAutomationProvider::EnableSpokenFeedback(
1332 DictionaryValue* args, IPC::Message* reply_message) { 1171 DictionaryValue* args, IPC::Message* reply_message) {
1333 AutomationJSONReply reply(this, reply_message); 1172 AutomationJSONReply reply(this, reply_message);
1334 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 1173 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
1335 bool enabled; 1174 bool enabled;
1336 if (!args->GetBoolean("enabled", &enabled)) { 1175 if (!args->GetBoolean("enabled", &enabled)) {
1337 reply.SendError("Invalid or missing args."); 1176 reply.SendError("Invalid or missing args.");
1338 return; 1177 return;
1339 } 1178 }
1340 const UserManager* user_manager = UserManager::Get(); 1179 const UserManager* user_manager = UserManager::Get();
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1495 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> 1334 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
1496 AddObserver(power_manager_observer_); 1335 AddObserver(power_manager_observer_);
1497 } 1336 }
1498 1337
1499 void TestingAutomationProvider::RemoveChromeosObservers() { 1338 void TestingAutomationProvider::RemoveChromeosObservers() {
1500 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> 1339 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
1501 RemoveObserver(power_manager_observer_); 1340 RemoveObserver(power_manager_observer_);
1502 delete power_manager_observer_; 1341 delete power_manager_observer_;
1503 power_manager_observer_ = NULL; 1342 power_manager_observer_ = NULL;
1504 } 1343 }
OLDNEW
« no previous file with comments | « chrome/browser/automation/testing_automation_provider.cc ('k') | chrome/browser/chromeos/chrome_browser_main_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698