Chromium Code Reviews| Index: chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc |
| diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc |
| index d84e355a0bcb34da53dfa9348ca7cf6fbd5b1741..ab91cc721377ce990145f190a25b87664df25155 100644 |
| --- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc |
| +++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc |
| @@ -71,8 +71,6 @@ const char kNetworkInfoKeyPolicyManaged[] = "policyManaged"; |
| // Functions we call in JavaScript. |
| const char kRefreshNetworkDataFunction[] = |
| "options.network.NetworkList.refreshNetworkData"; |
| -const char kGetManagedPropertiesResultFunction[] = |
| - "options.internet.DetailsInternetPage.getManagedPropertiesResult"; |
| const char kUpdateConnectionDataFunction[] = |
| "options.internet.DetailsInternetPage.updateConnectionData"; |
| const char kUpdateCarrierFunction[] = |
| @@ -86,9 +84,7 @@ const char kSimOperationMessage[] = "simOperation"; |
| // TODO(stevenjb): Replace these with the matching networkingPrivate methods. |
| // crbug.com/279351. |
| -const char kGetManagedPropertiesMessage[] = "getManagedProperties"; |
| const char kStartConnectMessage[] = "startConnect"; |
| -const char kSetPropertiesMessage[] = "setProperties"; |
| // TODO(stevenjb): Add these to networkingPrivate. |
| const char kRemoveNetworkMessage[] = "removeNetwork"; |
| @@ -119,8 +115,6 @@ const char kTagWiredList[] = "wiredList"; |
| const char kTagWirelessList[] = "wirelessList"; |
| // Pseudo-ONC chrome specific properties appended to the ONC dictionary. |
| -const char kNetworkInfoKeyServicePath[] = "servicePath"; |
| -const char kTagErrorMessage[] = "errorMessage"; |
| const char kTagShowViewAccountButton[] = "showViewAccountButton"; |
| void ShillError(const std::string& function, |
| @@ -140,6 +134,13 @@ const NetworkState* GetNetworkState(const std::string& service_path) { |
| GetNetworkState(service_path); |
| } |
| +std::string ServicePathFromGuid(const std::string& guid) { |
|
pneubeck (no reviews)
2015/03/12 20:53:58
to consider:
should this handle an empty |guid|?
stevenjb
2015/03/13 01:20:14
Do you mean log an error? It will already return a
|
| + const NetworkState* network = |
| + NetworkHandler::Get()->network_state_handler()->GetNetworkStateFromGuid( |
| + guid); |
| + return network ? network->path() : ""; |
| +} |
| + |
| // Builds a dictionary with network information for the NetworkList on the |
| // settings page. Ownership of the returned pointer is transferred to the |
| // caller. TODO(stevenjb): Replace with calls to networkingPrivate.getNetworks. |
| @@ -153,8 +154,6 @@ base::DictionaryValue* BuildNetworkDictionary( |
| profile_prefs, g_browser_process->local_state(), *network); |
| network_info->SetBoolean(kNetworkInfoKeyPolicyManaged, has_policy); |
| - network_info->SetString(kNetworkInfoKeyServicePath, network->path()); |
| - |
| return network_info.release(); |
| } |
| @@ -264,27 +263,23 @@ void InternetOptionsHandler::RegisterMessages() { |
| base::Unretained(this))); |
| // networkingPrivate methods |
| - web_ui()->RegisterMessageCallback(kGetManagedPropertiesMessage, |
| - base::Bind(&InternetOptionsHandler::GetManagedPropertiesCallback, |
| - base::Unretained(this))); |
| web_ui()->RegisterMessageCallback(kStartConnectMessage, |
| base::Bind(&InternetOptionsHandler::StartConnectCallback, |
| base::Unretained(this))); |
| - web_ui()->RegisterMessageCallback(kSetPropertiesMessage, |
| - base::Bind(&InternetOptionsHandler::SetPropertiesCallback, |
| - base::Unretained(this))); |
| } |
| void InternetOptionsHandler::ShowMorePlanInfoCallback( |
| const base::ListValue* args) { |
| if (!web_ui()) |
| return; |
| - std::string service_path; |
| - if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
| + std::string guid; |
| + if (args->GetSize() != 1 || !args->GetString(0, &guid)) { |
| NOTREACHED(); |
| return; |
| } |
| - ui::NetworkConnect::Get()->ShowMobileSetup(service_path); |
| + std::string service_path = ServicePathFromGuid(guid); |
| + if (!service_path.empty()) |
| + ui::NetworkConnect::Get()->ShowMobileSetup(service_path); |
| } |
| void InternetOptionsHandler::CarrierStatusCallback() { |
| @@ -294,7 +289,7 @@ void InternetOptionsHandler::CarrierStatusCallback() { |
| if (device && (device->carrier() == shill::kCarrierSprint)) { |
| const NetworkState* network = |
| handler->FirstNetworkByType(NetworkTypePattern::Cellular()); |
| - if (network && network->path() == details_path_) { |
| + if (network) { |
| ui::NetworkConnect::Get()->ActivateCellular(network->path()); |
| UpdateConnectionData(network->path()); |
| } |
| @@ -303,11 +298,8 @@ void InternetOptionsHandler::CarrierStatusCallback() { |
| } |
| void InternetOptionsHandler::SetCarrierCallback(const base::ListValue* args) { |
| - std::string service_path; |
| std::string carrier; |
| - if (args->GetSize() != 2 || |
| - !args->GetString(0, &service_path) || |
| - !args->GetString(1, &carrier)) { |
| + if (args->GetSize() != 1 || !args->GetString(1, &carrier)) { |
| NOTREACHED(); |
| return; |
| } |
| @@ -362,33 +354,15 @@ void InternetOptionsHandler::SimOperationCallback(const base::ListValue* args) { |
| // networkingPrivate API directly in the settings JS and deprecate these |
| // methods. crbug.com/279351. |
| -void InternetOptionsHandler::GetManagedPropertiesCallback( |
| - const base::ListValue* args) { |
| - std::string service_path; |
| - if (!args->GetString(0, &service_path)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| - // This is only ever called to provide properties for the details page, so |
| - // set |details_path_| (used by the NetworkState observers) here. |
| - details_path_ = service_path; |
| - NetworkHandler::Get() |
| - ->managed_network_configuration_handler() |
| - ->GetManagedProperties( |
| - LoginState::Get()->primary_user_hash(), service_path, |
| - base::Bind(&InternetOptionsHandler::GetManagedPropertiesResult, |
| - weak_factory_.GetWeakPtr(), |
| - kGetManagedPropertiesResultFunction), |
| - base::Bind(&ShillError, "GetManagedProperties")); |
| -} |
| - |
| void InternetOptionsHandler::StartConnectCallback(const base::ListValue* args) { |
| - std::string service_path; |
| - if (!args->GetString(0, &service_path)) { |
| + std::string guid; |
| + if (!args->GetString(0, &guid)) { |
| NOTREACHED(); |
| return; |
| } |
| - ui::NetworkConnect::Get()->ConnectToNetwork(service_path); |
| + std::string service_path = ServicePathFromGuid(guid); |
| + if (!service_path.empty()) |
| + ui::NetworkConnect::Get()->ConnectToNetwork(service_path); |
| } |
| //////////////////////////////////////////////////////////////////////////////// |
| @@ -415,17 +389,8 @@ void InternetOptionsHandler::GetManagedPropertiesResult( |
| const std::string& service_path, |
| const base::DictionaryValue& onc_properties) { |
| scoped_ptr<base::DictionaryValue> dictionary(onc_properties.DeepCopy()); |
| - // Add service path for now. |
| - dictionary->SetString(kNetworkInfoKeyServicePath, service_path); |
| - |
| const NetworkState* network = GetNetworkState(service_path); |
| if (network) { |
| - // Add a Chrome specific translated error message. TODO(stevenjb): Figure |
| - // out a more robust way to track errors. Service.Error is transient so we |
| - // use NetworkState.error() which accurately tracks the "last" error. |
| - dictionary->SetString(kTagErrorMessage, |
| - ui::NetworkConnect::Get()->GetShillErrorString( |
| - network->error(), service_path)); |
| // Add additional non-ONC cellular properties to inform the UI. |
| if (network->type() == shill::kTypeCellular) { |
| dictionary->SetBoolean(kTagShowViewAccountButton, |
| @@ -455,8 +420,7 @@ void InternetOptionsHandler::NetworkConnectionStateChanged( |
| const NetworkState* network) { |
| if (!web_ui()) |
| return; |
|
pneubeck (no reviews)
2015/03/12 20:53:58
is that such a good idea to send all network prope
stevenjb
2015/03/13 01:20:14
The JS already ignores updates to other networks.
pneubeck (no reviews)
2015/03/13 09:54:20
That's not what the API currently exposes.
All eve
stevenjb
2015/03/13 17:01:14
Sure, that's fair, this will send more data than j
|
| - if (network->path() == details_path_) |
| - UpdateConnectionData(network->path()); |
| + UpdateConnectionData(network->path()); |
| } |
| void InternetOptionsHandler::NetworkPropertiesUpdated( |
|
pneubeck (no reviews)
2015/03/12 20:53:58
this is triggered for every signalStrength change
stevenjb
2015/03/13 01:20:14
Still infrequent as these things go. Previously we
pneubeck (no reviews)
2015/03/13 09:54:20
fair enough.
|
| @@ -464,8 +428,7 @@ void InternetOptionsHandler::NetworkPropertiesUpdated( |
| if (!web_ui()) |
| return; |
| RefreshNetworkData(); |
| - if (network->path() == details_path_) |
| - UpdateConnectionData(network->path()); |
| + UpdateConnectionData(network->path()); |
| } |
| void InternetOptionsHandler::DevicePropertiesUpdated( |
| @@ -477,24 +440,7 @@ void InternetOptionsHandler::DevicePropertiesUpdated( |
| const NetworkState* network = |
| NetworkHandler::Get()->network_state_handler()->FirstNetworkByType( |
| NetworkTypePattern::Cellular()); |
| - if (network && network->path() == details_path_) |
| - UpdateConnectionData(network->path()); |
| -} |
| - |
| -void InternetOptionsHandler::SetPropertiesCallback( |
| - const base::ListValue* args) { |
| - std::string service_path; |
| - const base::DictionaryValue* properties; |
| - if (args->GetSize() < 2 || |
| - !args->GetString(0, &service_path) || |
| - !args->GetDictionary(1, &properties)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| - NetworkHandler::Get()->managed_network_configuration_handler()->SetProperties( |
| - service_path, *properties, |
| - base::Bind(&base::DoNothing), |
| - base::Bind(&ShillError, "SetProperties")); |
| + UpdateConnectionData(network->path()); |
| } |
| gfx::NativeWindow InternetOptionsHandler::GetNativeWindow() const { |
| @@ -523,29 +469,36 @@ void InternetOptionsHandler::AddConnection(const base::ListValue* args) { |
| } |
| void InternetOptionsHandler::ConfigureNetwork(const base::ListValue* args) { |
| - std::string service_path; |
| - if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
| + std::string guid; |
| + if (args->GetSize() != 1 || !args->GetString(0, &guid)) { |
| NOTREACHED(); |
| return; |
| } |
| - NetworkConfigView::Show(service_path, GetNativeWindow()); |
| + std::string service_path = ServicePathFromGuid(guid); |
| + if (!service_path.empty()) |
| + NetworkConfigView::Show(service_path, GetNativeWindow()); |
| } |
| void InternetOptionsHandler::ActivateNetwork(const base::ListValue* args) { |
| - std::string service_path; |
| - if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
| + std::string guid; |
| + if (args->GetSize() != 1 || !args->GetString(0, &guid)) { |
| NOTREACHED(); |
| return; |
| } |
| - ui::NetworkConnect::Get()->ActivateCellular(service_path); |
| + std::string service_path = ServicePathFromGuid(guid); |
| + if (!service_path.empty()) |
| + ui::NetworkConnect::Get()->ActivateCellular(service_path); |
| } |
| void InternetOptionsHandler::RemoveNetwork(const base::ListValue* args) { |
| - std::string service_path; |
| - if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
| + std::string guid; |
| + if (args->GetSize() != 1 || !args->GetString(0, &guid)) { |
| NOTREACHED(); |
| return; |
| } |
| + std::string service_path = ServicePathFromGuid(guid); |
| + if (service_path.empty()) |
| + return; |
| NetworkHandler::Get() |
| ->managed_network_configuration_handler() |
| ->RemoveConfiguration(service_path, base::Bind(&base::DoNothing), |