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

Side by Side Diff: chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc

Issue 700383008: Use setProperties for Cellular APN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_430113_internet_options_2
Patch Set: Allow Cellular in shill_property_util::CopyIdentifyingProperties to fix unit test Created 5 years, 10 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
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/ui/webui/options/chromeos/internet_options_handler.h" 5 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler.h"
6 6
7 #include <ctype.h> 7 #include <ctype.h>
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 16 matching lines...) Expand all
27 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h" 27 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h"
28 #include "chrome/browser/chromeos/ui/mobile_config_ui.h" 28 #include "chrome/browser/chromeos/ui/mobile_config_ui.h"
29 #include "chrome/browser/chromeos/ui_proxy_config_service.h" 29 #include "chrome/browser/chromeos/ui_proxy_config_service.h"
30 #include "chrome/browser/profiles/profile.h" 30 #include "chrome/browser/profiles/profile.h"
31 #include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h" 31 #include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h"
32 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler_stri ngs.h" 32 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler_stri ngs.h"
33 #include "chromeos/chromeos_switches.h" 33 #include "chromeos/chromeos_switches.h"
34 #include "chromeos/login/login_state.h" 34 #include "chromeos/login/login_state.h"
35 #include "chromeos/network/device_state.h" 35 #include "chromeos/network/device_state.h"
36 #include "chromeos/network/managed_network_configuration_handler.h" 36 #include "chromeos/network/managed_network_configuration_handler.h"
37 #include "chromeos/network/network_configuration_handler.h"
38 #include "chromeos/network/network_connection_handler.h" 37 #include "chromeos/network/network_connection_handler.h"
39 #include "chromeos/network/network_device_handler.h" 38 #include "chromeos/network/network_device_handler.h"
40 #include "chromeos/network/network_event_log.h" 39 #include "chromeos/network/network_event_log.h"
41 #include "chromeos/network/network_ip_config.h" 40 #include "chromeos/network/network_ip_config.h"
42 #include "chromeos/network/network_profile.h" 41 #include "chromeos/network/network_profile.h"
43 #include "chromeos/network/network_profile_handler.h" 42 #include "chromeos/network/network_profile_handler.h"
44 #include "chromeos/network/network_state.h" 43 #include "chromeos/network/network_state.h"
45 #include "chromeos/network/network_state_handler.h" 44 #include "chromeos/network/network_state_handler.h"
46 #include "chromeos/network/network_util.h" 45 #include "chromeos/network/network_util.h"
47 #include "chromeos/network/onc/onc_signature.h" 46 #include "chromeos/network/onc/onc_signature.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 "options.network.NetworkList.setDefaultNetworkIcons"; 80 "options.network.NetworkList.setDefaultNetworkIcons";
82 const char kGetManagedPropertiesResultFunction[] = 81 const char kGetManagedPropertiesResultFunction[] =
83 "options.internet.DetailsInternetPage.getManagedPropertiesResult"; 82 "options.internet.DetailsInternetPage.getManagedPropertiesResult";
84 const char kUpdateConnectionDataFunction[] = 83 const char kUpdateConnectionDataFunction[] =
85 "options.internet.DetailsInternetPage.updateConnectionData"; 84 "options.internet.DetailsInternetPage.updateConnectionData";
86 const char kUpdateCarrierFunction[] = 85 const char kUpdateCarrierFunction[] =
87 "options.internet.DetailsInternetPage.updateCarrier"; 86 "options.internet.DetailsInternetPage.updateCarrier";
88 87
89 // Setter methods called from JS that still need to be converted to match 88 // Setter methods called from JS that still need to be converted to match
90 // networkingPrivate methods. 89 // networkingPrivate methods.
91 const char kSetApnMessage[] = "setApn";
92 const char kSetCarrierMessage[] = "setCarrier"; 90 const char kSetCarrierMessage[] = "setCarrier";
93 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; 91 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo";
94 const char kSimOperationMessage[] = "simOperation"; 92 const char kSimOperationMessage[] = "simOperation";
95 93
96 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. 94 // TODO(stevenjb): Replace these with the matching networkingPrivate methods.
97 // crbug.com/279351. 95 // crbug.com/279351.
98 const char kDisableNetworkTypeMessage[] = "disableNetworkType"; 96 const char kDisableNetworkTypeMessage[] = "disableNetworkType";
99 const char kEnableNetworkTypeMessage[] = "enableNetworkType"; 97 const char kEnableNetworkTypeMessage[] = "enableNetworkType";
100 const char kGetManagedPropertiesMessage[] = "getManagedProperties"; 98 const char kGetManagedPropertiesMessage[] = "getManagedProperties";
101 const char kRequestNetworkScanMessage[] = "requestNetworkScan"; 99 const char kRequestNetworkScanMessage[] = "requestNetworkScan";
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 base::Unretained(this))); 274 base::Unretained(this)));
277 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, 275 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage,
278 base::Bind(&InternetOptionsHandler::ConfigureNetwork, 276 base::Bind(&InternetOptionsHandler::ConfigureNetwork,
279 base::Unretained(this))); 277 base::Unretained(this)));
280 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, 278 web_ui()->RegisterMessageCallback(kActivateNetworkMessage,
281 base::Bind(&InternetOptionsHandler::ActivateNetwork, 279 base::Bind(&InternetOptionsHandler::ActivateNetwork,
282 base::Unretained(this))); 280 base::Unretained(this)));
283 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, 281 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage,
284 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, 282 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback,
285 base::Unretained(this))); 283 base::Unretained(this)));
286 web_ui()->RegisterMessageCallback(kSetApnMessage,
287 base::Bind(&InternetOptionsHandler::SetApnCallback,
288 base::Unretained(this)));
289 web_ui()->RegisterMessageCallback(kSetCarrierMessage, 284 web_ui()->RegisterMessageCallback(kSetCarrierMessage,
290 base::Bind(&InternetOptionsHandler::SetCarrierCallback, 285 base::Bind(&InternetOptionsHandler::SetCarrierCallback,
291 base::Unretained(this))); 286 base::Unretained(this)));
292 web_ui()->RegisterMessageCallback(kSimOperationMessage, 287 web_ui()->RegisterMessageCallback(kSimOperationMessage,
293 base::Bind(&InternetOptionsHandler::SimOperationCallback, 288 base::Bind(&InternetOptionsHandler::SimOperationCallback,
294 base::Unretained(this))); 289 base::Unretained(this)));
295 290
296 // networkingPrivate methods 291 // networkingPrivate methods
297 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, 292 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage,
298 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, 293 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback,
(...skipping 23 matching lines...) Expand all
322 if (!web_ui()) 317 if (!web_ui())
323 return; 318 return;
324 std::string service_path; 319 std::string service_path;
325 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { 320 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) {
326 NOTREACHED(); 321 NOTREACHED();
327 return; 322 return;
328 } 323 }
329 ui::NetworkConnect::Get()->ShowMobileSetup(service_path); 324 ui::NetworkConnect::Get()->ShowMobileSetup(service_path);
330 } 325 }
331 326
332 void InternetOptionsHandler::SetApnCallback(const base::ListValue* args) {
333 std::string service_path;
334 if (!args->GetString(0, &service_path)) {
335 NOTREACHED();
336 return;
337 }
338 NetworkHandler::Get()->network_configuration_handler()->GetProperties(
339 service_path,
340 base::Bind(&InternetOptionsHandler::SetApnProperties,
341 weak_factory_.GetWeakPtr(), base::Owned(args->DeepCopy())),
342 base::Bind(&ShillError, "SetApnCallback"));
343 }
344
345 void InternetOptionsHandler::SetApnProperties(
346 const base::ListValue* args,
347 const std::string& service_path,
348 const base::DictionaryValue& shill_properties) {
349 std::string apn, username, password;
350 if (!args->GetString(1, &apn) ||
351 !args->GetString(2, &username) ||
352 !args->GetString(3, &password)) {
353 NOTREACHED();
354 return;
355 }
356 NET_LOG_EVENT("SetApnCallback", service_path);
357
358 if (apn.empty()) {
359 std::vector<std::string> properties_to_clear;
360 properties_to_clear.push_back(shill::kCellularApnProperty);
361 NetworkHandler::Get()->network_configuration_handler()->ClearProperties(
362 service_path, properties_to_clear,
363 base::Bind(&base::DoNothing),
364 base::Bind(&ShillError, "ClearCellularApnProperties"));
365 return;
366 }
367
368 const base::DictionaryValue* shill_apn_dict = NULL;
369 std::string network_id;
370 if (shill_properties.GetDictionaryWithoutPathExpansion(
371 shill::kCellularApnProperty, &shill_apn_dict)) {
372 shill_apn_dict->GetStringWithoutPathExpansion(
373 shill::kApnNetworkIdProperty, &network_id);
374 }
375 base::DictionaryValue properties;
376 base::DictionaryValue* apn_dict = new base::DictionaryValue;
377 apn_dict->SetStringWithoutPathExpansion(shill::kApnProperty, apn);
378 apn_dict->SetStringWithoutPathExpansion(shill::kApnNetworkIdProperty,
379 network_id);
380 apn_dict->SetStringWithoutPathExpansion(shill::kApnUsernameProperty,
381 username);
382 apn_dict->SetStringWithoutPathExpansion(shill::kApnPasswordProperty,
383 password);
384 properties.SetWithoutPathExpansion(shill::kCellularApnProperty, apn_dict);
385 NetworkHandler::Get()->network_configuration_handler()->SetProperties(
386 service_path, properties,
387 NetworkConfigurationObserver::SOURCE_USER_ACTION,
388 base::Bind(&base::DoNothing),
389 base::Bind(&ShillError, "SetApnProperties"));
390 }
391
392 void InternetOptionsHandler::CarrierStatusCallback() { 327 void InternetOptionsHandler::CarrierStatusCallback() {
393 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); 328 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler();
394 const DeviceState* device = 329 const DeviceState* device =
395 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); 330 handler->GetDeviceStateByType(NetworkTypePattern::Cellular());
396 if (device && (device->carrier() == shill::kCarrierSprint)) { 331 if (device && (device->carrier() == shill::kCarrierSprint)) {
397 const NetworkState* network = 332 const NetworkState* network =
398 handler->FirstNetworkByType(NetworkTypePattern::Cellular()); 333 handler->FirstNetworkByType(NetworkTypePattern::Cellular());
399 if (network && network->path() == details_path_) { 334 if (network && network->path() == details_path_) {
400 ui::NetworkConnect::Get()->ActivateCellular(network->path()); 335 ui::NetworkConnect::Get()->ActivateCellular(network->path());
401 UpdateConnectionData(network->path()); 336 UpdateConnectionData(network->path());
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 dictionary->SetBoolean( 739 dictionary->SetBoolean(
805 kTagWimaxAvailable, 740 kTagWimaxAvailable,
806 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); 741 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax()));
807 dictionary->SetBoolean( 742 dictionary->SetBoolean(
808 kTagWimaxEnabled, 743 kTagWimaxEnabled,
809 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); 744 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax()));
810 } 745 }
811 746
812 } // namespace options 747 } // namespace options
813 } // namespace chromeos 748 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/internet_options_handler.h ('k') | chromeos/dbus/fake_shill_manager_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698