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

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

Issue 364883002: Replace additional network properties with ONC values (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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/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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 const char kTagCarrierUrl[] = "carrierUrl"; 138 const char kTagCarrierUrl[] = "carrierUrl";
139 const char kTagCellularAvailable[] = "cellularAvailable"; 139 const char kTagCellularAvailable[] = "cellularAvailable";
140 const char kTagCellularEnabled[] = "cellularEnabled"; 140 const char kTagCellularEnabled[] = "cellularEnabled";
141 const char kTagCellularSupportsScan[] = "cellularSupportsScan"; 141 const char kTagCellularSupportsScan[] = "cellularSupportsScan";
142 const char kTagConfigure[] = "configure"; 142 const char kTagConfigure[] = "configure";
143 const char kTagConnect[] = "connect"; 143 const char kTagConnect[] = "connect";
144 const char kTagControlledBy[] = "controlledBy"; 144 const char kTagControlledBy[] = "controlledBy";
145 const char kTagDeviceConnected[] = "deviceConnected"; 145 const char kTagDeviceConnected[] = "deviceConnected";
146 const char kTagDisconnect[] = "disconnect"; 146 const char kTagDisconnect[] = "disconnect";
147 const char kTagErrorState[] = "errorState"; 147 const char kTagErrorState[] = "errorState";
148 const char kTagEsn[] = "esn";
149 const char kTagFirmwareRevision[] = "firmwareRevision";
150 const char kTagForget[] = "forget"; 148 const char kTagForget[] = "forget";
151 const char kTagGsm[] = "gsm";
152 const char kTagHardwareRevision[] = "hardwareRevision";
153 const char kTagIdentity[] = "identity"; 149 const char kTagIdentity[] = "identity";
154 const char kTagIccid[] = "iccid";
155 const char kTagImei[] = "imei";
156 const char kTagImsi[] = "imsi";
157 const char kTagLanguage[] = "language"; 150 const char kTagLanguage[] = "language";
158 const char kTagLastGoodApn[] = "lastGoodApn"; 151 const char kTagLastGoodApn[] = "lastGoodApn";
159 const char kTagLocalizedName[] = "localizedName"; 152 const char kTagLocalizedName[] = "localizedName";
160 const char kTagCellularManufacturer[] = "cellularManufacturer";
161 const char kTagMdn[] = "mdn";
162 const char kTagMeid[] = "meid";
163 const char kTagMin[] = "min";
164 const char kTagModelId[] = "modelId";
165 const char kTagName[] = "name"; 153 const char kTagName[] = "name";
166 const char kTagNameServersGoogle[] = "nameServersGoogle"; 154 const char kTagNameServersGoogle[] = "nameServersGoogle";
167 const char kTagNameServerType[] = "nameServerType"; 155 const char kTagNameServerType[] = "nameServerType";
168 const char kTagNetworkId[] = "networkId"; 156 const char kTagNetworkId[] = "networkId";
169 const char kTagNetworkTechnology[] = "networkTechnology";
170 const char kTagOperatorCode[] = "operatorCode";
171 const char kTagOperatorName[] = "operatorName";
172 const char kTagOptions[] = "options"; 157 const char kTagOptions[] = "options";
173 const char kTagPassword[] = "password"; 158 const char kTagPassword[] = "password";
174 const char kTagPolicy[] = "policy"; 159 const char kTagPolicy[] = "policy";
175 const char kTagPreferred[] = "preferred"; 160 const char kTagPreferred[] = "preferred";
176 const char kTagPrlVersion[] = "prlVersion";
177 const char kTagProviderType[] = "providerType"; 161 const char kTagProviderType[] = "providerType";
178 const char kTagProviderApnList[] = "providerApnList"; 162 const char kTagProviderApnList[] = "providerApnList";
179 const char kTagRecommended[] = "recommended"; 163 const char kTagRecommended[] = "recommended";
180 const char kTagRecommendedValue[] = "recommendedValue"; 164 const char kTagRecommendedValue[] = "recommendedValue";
181 const char kTagRemembered[] = "remembered"; 165 const char kTagRemembered[] = "remembered";
182 const char kTagRememberedList[] = "rememberedList"; 166 const char kTagRememberedList[] = "rememberedList";
183 const char kTagRestrictedPool[] = "restrictedPool"; 167 const char kTagRestrictedPool[] = "restrictedPool";
184 const char kTagRoamingState[] = "roamingState"; 168 const char kTagRoamingState[] = "roamingState";
185 const char kTagServerHostname[] = "serverHostname"; 169 const char kTagServerHostname[] = "serverHostname";
186 const char kTagCarriers[] = "carriers"; 170 const char kTagCarriers[] = "carriers";
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 std::string name_servers; 326 std::string name_servers;
343 if (shill_properties.GetStringWithoutPathExpansion( 327 if (shill_properties.GetStringWithoutPathExpansion(
344 name_servers_key, &name_servers)) { 328 name_servers_key, &name_servers)) {
345 ip_info_dict->SetString(kIpConfigNameServers, name_servers); 329 ip_info_dict->SetString(kIpConfigNameServers, name_servers);
346 VLOG(2) << "Found " << name_servers_key << ": " << name_servers; 330 VLOG(2) << "Found " << name_servers_key << ": " << name_servers;
347 } 331 }
348 332
349 return ip_info_dict.release(); 333 return ip_info_dict.release();
350 } 334 }
351 335
352 bool CanForgetNetworkType(const std::string& type) {
353 return type == shill::kTypeWifi ||
354 type == shill::kTypeWimax ||
355 type == shill::kTypeVPN;
356 }
357
358 bool CanAddNetworkType(const std::string& type) {
359 return type == shill::kTypeWifi ||
360 type == shill::kTypeVPN ||
361 type == shill::kTypeCellular;
362 }
363
364 // Decorate dictionary |value_dict| with policy information from |ui_data|. 336 // Decorate dictionary |value_dict| with policy information from |ui_data|.
365 void DecorateValueDictionary(const NetworkPropertyUIData& ui_data, 337 void DecorateValueDictionary(const NetworkPropertyUIData& ui_data,
366 const base::Value& value, 338 const base::Value& value,
367 base::DictionaryValue* value_dict) { 339 base::DictionaryValue* value_dict) {
368 const base::Value* recommended_value = ui_data.default_value(); 340 const base::Value* recommended_value = ui_data.default_value();
369 if (ui_data.IsManaged()) 341 if (ui_data.IsManaged())
370 value_dict->SetString(kTagControlledBy, kTagPolicy); 342 value_dict->SetString(kTagControlledBy, kTagPolicy);
371 else if (recommended_value && recommended_value->Equals(&value)) 343 else if (recommended_value && recommended_value->Equals(&value))
372 value_dict->SetString(kTagControlledBy, kTagRecommended); 344 value_dict->SetString(kTagControlledBy, kTagRecommended);
373 345
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 std::string CopyStringFromDictionary(const base::DictionaryValue& source, 389 std::string CopyStringFromDictionary(const base::DictionaryValue& source,
418 const std::string& src_key, 390 const std::string& src_key,
419 const std::string& dest_key, 391 const std::string& dest_key,
420 base::DictionaryValue* dest) { 392 base::DictionaryValue* dest) {
421 std::string string_value; 393 std::string string_value;
422 if (source.GetStringWithoutPathExpansion(src_key, &string_value)) 394 if (source.GetStringWithoutPathExpansion(src_key, &string_value))
423 dest->SetStringWithoutPathExpansion(dest_key, string_value); 395 dest->SetStringWithoutPathExpansion(dest_key, string_value);
424 return string_value; 396 return string_value;
425 } 397 }
426 398
427 void CopyIntegerFromDictionary(const base::DictionaryValue& source,
428 const std::string& src_key,
429 const std::string& dest_key,
430 bool as_string,
431 base::DictionaryValue* dest) {
432 int int_value;
433 if (!source.GetIntegerWithoutPathExpansion(src_key, &int_value))
434 return;
435 if (as_string) {
436 dest->SetStringWithoutPathExpansion(dest_key, base::IntToString(int_value));
437 } else {
438 dest->SetIntegerWithoutPathExpansion(dest_key, int_value);
439 }
440 }
441
442 // Fills |dictionary| with the configuration details of |vpn|. |onc| is required 399 // Fills |dictionary| with the configuration details of |vpn|. |onc| is required
443 // for augmenting the policy-managed information. 400 // for augmenting the policy-managed information.
444 void PopulateVPNDetails(const NetworkState* vpn, 401 void PopulateVPNDetails(const NetworkState* vpn,
445 const base::DictionaryValue& shill_properties, 402 const base::DictionaryValue& shill_properties,
446 base::DictionaryValue* dictionary) { 403 base::DictionaryValue* dictionary) {
447 // Name and Remembered are set in PopulateConnectionDetails(). 404 // Name and Remembered are set in PopulateConnectionDetails().
448 // Provider properties are stored in the "Provider" dictionary. 405 // Provider properties are stored in the "Provider" dictionary.
449 const base::DictionaryValue* provider_properties = NULL; 406 const base::DictionaryValue* provider_properties = NULL;
450 if (!shill_properties.GetDictionaryWithoutPathExpansion( 407 if (!shill_properties.GetDictionaryWithoutPathExpansion(
451 shill::kProviderProperty, &provider_properties)) { 408 shill::kProviderProperty, &provider_properties)) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 *apn, shill::kApnLanguageProperty, kTagLanguage, dictionary); 491 *apn, shill::kApnLanguageProperty, kTagLanguage, dictionary);
535 } 492 }
536 493
537 void PopulateCellularDetails(const NetworkState* cellular, 494 void PopulateCellularDetails(const NetworkState* cellular,
538 const base::DictionaryValue& shill_properties, 495 const base::DictionaryValue& shill_properties,
539 base::DictionaryValue* dictionary) { 496 base::DictionaryValue* dictionary) {
540 dictionary->SetBoolean(kTagCarrierSelectFlag, 497 dictionary->SetBoolean(kTagCarrierSelectFlag,
541 CommandLine::ForCurrentProcess()->HasSwitch( 498 CommandLine::ForCurrentProcess()->HasSwitch(
542 chromeos::switches::kEnableCarrierSwitching)); 499 chromeos::switches::kEnableCarrierSwitching));
543 // Cellular network / connection settings. 500 // Cellular network / connection settings.
544 dictionary->SetString(kTagNetworkTechnology, cellular->network_technology());
545 dictionary->SetString(kTagActivationState, 501 dictionary->SetString(kTagActivationState,
546 internet_options_strings::ActivationStateString( 502 internet_options_strings::ActivationStateString(
547 cellular->activation_state())); 503 cellular->activation_state()));
548 dictionary->SetString(kTagRoamingState, 504 dictionary->SetString(kTagRoamingState,
549 internet_options_strings::RoamingStateString( 505 internet_options_strings::RoamingStateString(
550 cellular->roaming())); 506 cellular->roaming()));
551 dictionary->SetString( 507 dictionary->SetString(kTagRestrictedPool,
552 kTagRestrictedPool, 508 internet_options_strings::RestrictedStateString(
553 internet_options_strings::RestrictedStateString( 509 cellular->connection_state()));
554 cellular->connection_state()));
555
556 const base::DictionaryValue* serving_operator = NULL;
557 if (shill_properties.GetDictionaryWithoutPathExpansion(
558 shill::kServingOperatorProperty, &serving_operator)) {
559 CopyStringFromDictionary(*serving_operator,
560 shill::kOperatorNameKey,
561 kTagOperatorName,
562 dictionary);
563 CopyStringFromDictionary(*serving_operator,
564 shill::kOperatorCodeKey,
565 kTagOperatorCode,
566 dictionary);
567 }
568 510
569 const base::DictionaryValue* olp = NULL; 511 const base::DictionaryValue* olp = NULL;
570 if (shill_properties.GetDictionaryWithoutPathExpansion( 512 if (shill_properties.GetDictionaryWithoutPathExpansion(
571 shill::kPaymentPortalProperty, &olp)) { 513 shill::kPaymentPortalProperty, &olp)) {
572 std::string url; 514 std::string url;
573 olp->GetStringWithoutPathExpansion(shill::kPaymentPortalURL, &url); 515 olp->GetStringWithoutPathExpansion(shill::kPaymentPortalURL, &url);
574 dictionary->SetString(kTagSupportUrl, url); 516 dictionary->SetString(kTagSupportUrl, url);
575 } 517 }
576 518
577 base::DictionaryValue* apn = new base::DictionaryValue; 519 base::DictionaryValue* apn = new base::DictionaryValue;
(...skipping 13 matching lines...) Expand all
591 533
592 // These default to empty and are only set if device != NULL. 534 // These default to empty and are only set if device != NULL.
593 std::string carrier_id; 535 std::string carrier_id;
594 std::string mdn; 536 std::string mdn;
595 537
596 // Device settings. 538 // Device settings.
597 const DeviceState* device = 539 const DeviceState* device =
598 NetworkHandler::Get()->network_state_handler()->GetDeviceState( 540 NetworkHandler::Get()->network_state_handler()->GetDeviceState(
599 cellular->device_path()); 541 cellular->device_path());
600 if (device) { 542 if (device) {
601 // TODO(stevenjb): Add NetworkDeviceHandler::GetProperties() and use that
602 // to retrieve the complete dictionary of device properties, instead of
603 // caching them (will be done for the new UI).
604 const base::DictionaryValue& device_properties = device->properties(); 543 const base::DictionaryValue& device_properties = device->properties();
605 const NetworkPropertyUIData cellular_property_ui_data( 544 const NetworkPropertyUIData cellular_property_ui_data(
606 cellular->ui_data().onc_source()); 545 cellular->ui_data().onc_source());
607 CopyStringFromDictionary(device_properties,
608 shill::kManufacturerProperty,
609 kTagCellularManufacturer,
610 dictionary);
611 CopyStringFromDictionary(
612 device_properties, shill::kModelIDProperty, kTagModelId, dictionary);
613 CopyStringFromDictionary(device_properties,
614 shill::kFirmwareRevisionProperty,
615 kTagFirmwareRevision,
616 dictionary);
617 CopyStringFromDictionary(device_properties,
618 shill::kHardwareRevisionProperty,
619 kTagHardwareRevision,
620 dictionary);
621 CopyIntegerFromDictionary(device_properties,
622 shill::kPRLVersionProperty,
623 kTagPrlVersion,
624 true,
625 dictionary);
626 CopyStringFromDictionary(
627 device_properties, shill::kMeidProperty, kTagMeid, dictionary);
628 CopyStringFromDictionary(
629 device_properties, shill::kIccidProperty, kTagIccid, dictionary);
630 CopyStringFromDictionary(
631 device_properties, shill::kImeiProperty, kTagImei, dictionary);
632 mdn = CopyStringFromDictionary(
633 device_properties, shill::kMdnProperty, kTagMdn, dictionary);
634 CopyStringFromDictionary(
635 device_properties, shill::kImsiProperty, kTagImsi, dictionary);
636 CopyStringFromDictionary(
637 device_properties, shill::kEsnProperty, kTagEsn, dictionary);
638 CopyStringFromDictionary(
639 device_properties, shill::kMinProperty, kTagMin, dictionary);
640 std::string family;
641 device_properties.GetStringWithoutPathExpansion(
642 shill::kTechnologyFamilyProperty, &family);
643 dictionary->SetBoolean(kTagGsm, family == shill::kNetworkTechnologyGsm);
644
645 SetValueDictionary(dictionary, 546 SetValueDictionary(dictionary,
646 kTagSimCardLockEnabled, 547 kTagSimCardLockEnabled,
647 new base::FundamentalValue(device->sim_lock_enabled()), 548 new base::FundamentalValue(device->sim_lock_enabled()),
648 cellular_property_ui_data); 549 cellular_property_ui_data);
649 550
650 carrier_id = device->home_provider_id(); 551 carrier_id = device->home_provider_id();
552 device_properties.GetStringWithoutPathExpansion(shill::kMdnProperty, &mdn);
651 553
652 MobileConfig* config = MobileConfig::GetInstance(); 554 MobileConfig* config = MobileConfig::GetInstance();
653 if (config->IsReady()) { 555 if (config->IsReady()) {
654 const MobileConfig::Carrier* carrier = config->GetCarrier(carrier_id); 556 const MobileConfig::Carrier* carrier = config->GetCarrier(carrier_id);
655 if (carrier && !carrier->top_up_url().empty()) 557 if (carrier && !carrier->top_up_url().empty())
656 dictionary->SetString(kTagCarrierUrl, carrier->top_up_url()); 558 dictionary->SetString(kTagCarrierUrl, carrier->top_up_url());
657 } 559 }
658 560
659 base::ListValue* apn_list_value = new base::ListValue(); 561 base::ListValue* apn_list_value = new base::ListValue();
660 const base::ListValue* apn_list; 562 const base::ListValue* apn_list;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 // carrier specific portal. 642 // carrier specific portal.
741 if (cellular->IsConnectedState() || force_show_view_account_button) 643 if (cellular->IsConnectedState() || force_show_view_account_button)
742 dictionary->SetBoolean(kTagShowViewAccountButton, true); 644 dictionary->SetBoolean(kTagShowViewAccountButton, true);
743 } 645 }
744 } 646 }
745 } 647 }
746 648
747 scoped_ptr<base::DictionaryValue> PopulateConnectionDetails( 649 scoped_ptr<base::DictionaryValue> PopulateConnectionDetails(
748 const NetworkState* network, 650 const NetworkState* network,
749 const base::DictionaryValue& shill_properties) { 651 const base::DictionaryValue& shill_properties) {
652 // TODO(stevenjb): Once we eliminate all references to Shill properties,
653 // we can switch to using managed_network_configuration_handler which
654 // includes Device properties for Cellular (and skip the call to
655 // onc::TranslateShillServiceToONCPart). For now we copy them over here.
656 scoped_ptr<base::DictionaryValue> shill_properties_with_device(
657 shill_properties.DeepCopy());
658 const DeviceState* device =
659 NetworkHandler::Get()->network_state_handler()->GetDeviceState(
660 network->device_path());
661 if (device) {
662 shill_properties_with_device->Set(shill::kDeviceProperty,
663 device->properties().DeepCopy());
664 }
750 scoped_ptr<base::DictionaryValue> dictionary = 665 scoped_ptr<base::DictionaryValue> dictionary =
751 onc::TranslateShillServiceToONCPart( 666 onc::TranslateShillServiceToONCPart(
752 shill_properties, &onc::kNetworkWithStateSignature); 667 *shill_properties_with_device, &onc::kNetworkWithStateSignature);
753 668
754 dictionary->SetString(kNetworkInfoKeyServicePath, network->path()); 669 dictionary->SetString(kNetworkInfoKeyServicePath, network->path());
755 dictionary->SetString( 670 dictionary->SetString(
756 kTagErrorState, 671 kTagErrorState,
757 ash::network_connect::ErrorString(network->error(), network->path())); 672 ash::network_connect::ErrorString(network->error(), network->path()));
758 673
759 dictionary->SetBoolean(kTagRemembered, !network->profile_path().empty()); 674 dictionary->SetBoolean(kTagRemembered, !network->profile_path().empty());
760 bool shared = !network->IsPrivate(); 675 bool shared = !network->IsPrivate();
761 dictionary->SetBoolean(kTagShared, shared); 676 dictionary->SetBoolean(kTagShared, shared);
762 677
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 gfx::ImageSkia* icon = 1060 gfx::ImageSkia* icon =
1146 ResourceBundle::GetSharedInstance().GetImageSkiaNamed(resource_id); 1061 ResourceBundle::GetSharedInstance().GetImageSkiaNamed(resource_id);
1147 gfx::ImageSkiaRep image_rep = icon->GetRepresentation( 1062 gfx::ImageSkiaRep image_rep = icon->GetRepresentation(
1148 web_ui()->GetDeviceScaleFactor()); 1063 web_ui()->GetDeviceScaleFactor());
1149 return webui::GetBitmapDataUrl(image_rep.sk_bitmap()); 1064 return webui::GetBitmapDataUrl(image_rep.sk_bitmap());
1150 } 1065 }
1151 1066
1152 void InternetOptionsHandler::RefreshNetworkData() { 1067 void InternetOptionsHandler::RefreshNetworkData() {
1153 base::DictionaryValue dictionary; 1068 base::DictionaryValue dictionary;
1154 FillNetworkInfo(&dictionary); 1069 FillNetworkInfo(&dictionary);
1155 web_ui()->CallJavascriptFunction( 1070 web_ui()->CallJavascriptFunction(kRefreshNetworkDataFunction, dictionary);
1156 kRefreshNetworkDataFunction, dictionary);
1157 } 1071 }
1158 1072
1159 void InternetOptionsHandler::UpdateConnectionData( 1073 void InternetOptionsHandler::UpdateConnectionData(
1160 const std::string& service_path) { 1074 const std::string& service_path) {
1161 NetworkHandler::Get()->network_configuration_handler()->GetProperties( 1075 NetworkHandler::Get()->network_configuration_handler()->GetProperties(
1162 service_path, 1076 service_path,
1163 base::Bind(&InternetOptionsHandler::UpdateConnectionDataCallback, 1077 base::Bind(&InternetOptionsHandler::UpdateConnectionDataCallback,
1164 weak_factory_.GetWeakPtr()), 1078 weak_factory_.GetWeakPtr()),
1165 base::Bind(&ShillError, "UpdateConnectionData")); 1079 base::Bind(&ShillError, "UpdateConnectionData"));
1166 } 1080 }
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
1533 return; 1447 return;
1534 } 1448 }
1535 std::string type; // Shill type 1449 std::string type; // Shill type
1536 if (!onc_type.empty()) { 1450 if (!onc_type.empty()) {
1537 type = network_util::TranslateONCTypeToShill(onc_type); 1451 type = network_util::TranslateONCTypeToShill(onc_type);
1538 if (type.empty()) 1452 if (type.empty())
1539 LOG(ERROR) << "Unable to translate ONC type: " << onc_type; 1453 LOG(ERROR) << "Unable to translate ONC type: " << onc_type;
1540 } 1454 }
1541 // Process commands that do not require an existing network. 1455 // Process commands that do not require an existing network.
1542 if (command == kTagAddConnection) { 1456 if (command == kTagAddConnection) {
1543 if (CanAddNetworkType(type)) 1457 AddConnection(type);
1544 AddConnection(type);
1545 } else if (command == kTagForget) { 1458 } else if (command == kTagForget) {
1546 if (CanForgetNetworkType(type)) { 1459 NetworkHandler::Get()->network_configuration_handler()->
1547 NetworkHandler::Get()->network_configuration_handler()-> 1460 RemoveConfiguration(
1548 RemoveConfiguration( 1461 service_path,
1549 service_path, 1462 base::Bind(&base::DoNothing),
1550 base::Bind(&base::DoNothing), 1463 base::Bind(&ShillError, "NetworkCommand: " + command));
1551 base::Bind(&ShillError, "NetworkCommand: " + command));
1552 }
1553 } else if (command == kTagOptions) { 1464 } else if (command == kTagOptions) {
1554 NetworkHandler::Get()->network_configuration_handler()->GetProperties( 1465 NetworkHandler::Get()->network_configuration_handler()->GetProperties(
1555 service_path, 1466 service_path,
1556 base::Bind(&InternetOptionsHandler::PopulateDictionaryDetailsCallback, 1467 base::Bind(&InternetOptionsHandler::PopulateDictionaryDetailsCallback,
1557 weak_factory_.GetWeakPtr()), 1468 weak_factory_.GetWeakPtr()),
1558 base::Bind(&ShillError, "NetworkCommand: " + command)); 1469 base::Bind(&ShillError, "NetworkCommand: " + command));
1559 } else if (command == kTagConnect) { 1470 } else if (command == kTagConnect) {
1560 const NetworkState* network = GetNetworkState(service_path); 1471 const NetworkState* network = GetNetworkState(service_path);
1561 if (network && network->type() == shill::kTypeWifi) 1472 if (network && network->type() == shill::kTypeWifi)
1562 content::RecordAction( 1473 content::RecordAction(
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1595 content::RecordAction( 1506 content::RecordAction(
1596 base::UserMetricsAction("Options_NetworkJoinOtherWifi")); 1507 base::UserMetricsAction("Options_NetworkJoinOtherWifi"));
1597 NetworkConfigView::ShowForType(shill::kTypeWifi, GetNativeWindow()); 1508 NetworkConfigView::ShowForType(shill::kTypeWifi, GetNativeWindow());
1598 } else if (type == shill::kTypeVPN) { 1509 } else if (type == shill::kTypeVPN) {
1599 content::RecordAction( 1510 content::RecordAction(
1600 base::UserMetricsAction("Options_NetworkJoinOtherVPN")); 1511 base::UserMetricsAction("Options_NetworkJoinOtherVPN"));
1601 NetworkConfigView::ShowForType(shill::kTypeVPN, GetNativeWindow()); 1512 NetworkConfigView::ShowForType(shill::kTypeVPN, GetNativeWindow());
1602 } else if (type == shill::kTypeCellular) { 1513 } else if (type == shill::kTypeCellular) {
1603 ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow()); 1514 ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow());
1604 } else { 1515 } else {
1605 NOTREACHED(); 1516 LOG(ERROR) << "Unsupported type for AddConnection";
1606 } 1517 }
1607 } 1518 }
1608 1519
1609 base::ListValue* InternetOptionsHandler::GetWiredList() { 1520 base::ListValue* InternetOptionsHandler::GetWiredList() {
1610 base::ListValue* list = new base::ListValue(); 1521 base::ListValue* list = new base::ListValue();
1611 const NetworkState* network = NetworkHandler::Get()->network_state_handler()-> 1522 const NetworkState* network = NetworkHandler::Get()->network_state_handler()->
1612 FirstNetworkByType(NetworkTypePattern::Ethernet()); 1523 FirstNetworkByType(NetworkTypePattern::Ethernet());
1613 if (!network) 1524 if (!network)
1614 return list; 1525 return list;
1615 list->Append(BuildNetworkDictionary(network, GetScaleFactor(), GetPrefs())); 1526 list->Append(BuildNetworkDictionary(network, GetScaleFactor(), GetPrefs()));
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1699 dictionary->SetBoolean( 1610 dictionary->SetBoolean(
1700 kTagWimaxAvailable, 1611 kTagWimaxAvailable,
1701 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); 1612 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax()));
1702 dictionary->SetBoolean( 1613 dictionary->SetBoolean(
1703 kTagWimaxEnabled, 1614 kTagWimaxEnabled,
1704 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); 1615 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax()));
1705 } 1616 }
1706 1617
1707 } // namespace options 1618 } // namespace options
1708 } // namespace chromeos 1619 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/chromeos/internet_detail.js ('k') | chromeos/network/network_configuration_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698