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/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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 const char kGetManagedPropertiesResultFunction[] = | 88 const char kGetManagedPropertiesResultFunction[] = |
89 "options.internet.DetailsInternetPage.getManagedPropertiesResult"; | 89 "options.internet.DetailsInternetPage.getManagedPropertiesResult"; |
90 const char kUpdateConnectionDataFunction[] = | 90 const char kUpdateConnectionDataFunction[] = |
91 "options.internet.DetailsInternetPage.updateConnectionData"; | 91 "options.internet.DetailsInternetPage.updateConnectionData"; |
92 const char kUpdateCarrierFunction[] = | 92 const char kUpdateCarrierFunction[] = |
93 "options.internet.DetailsInternetPage.updateCarrier"; | 93 "options.internet.DetailsInternetPage.updateCarrier"; |
94 | 94 |
95 // Setter methods called from JS that still need to be converted to match | 95 // Setter methods called from JS that still need to be converted to match |
96 // networkingPrivate methods. | 96 // networkingPrivate methods. |
97 const char kSetApnMessage[] = "setApn"; | 97 const char kSetApnMessage[] = "setApn"; |
98 const char kSetAutoConnectMessage[] = "setAutoConnect"; | |
99 const char kSetCarrierMessage[] = "setCarrier"; | 98 const char kSetCarrierMessage[] = "setCarrier"; |
100 const char kSetIPConfigMessage[] = "setIPConfig"; | 99 const char kSetIPConfigMessage[] = "setIPConfig"; |
101 const char kSetPreferNetworkMessage[] = "setPreferNetwork"; | |
102 const char kSetServerHostname[] = "setServerHostname"; | |
103 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; | 100 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; |
104 const char kSimOperationMessage[] = "simOperation"; | 101 const char kSimOperationMessage[] = "simOperation"; |
105 | 102 |
106 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. | 103 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. |
107 // crbug.com/279351. | 104 // crbug.com/279351. |
108 const char kDisableNetworkTypeMessage[] = "disableNetworkType"; | 105 const char kDisableNetworkTypeMessage[] = "disableNetworkType"; |
109 const char kEnableNetworkTypeMessage[] = "enableNetworkType"; | 106 const char kEnableNetworkTypeMessage[] = "enableNetworkType"; |
110 const char kGetManagedPropertiesMessage[] = "getManagedProperties"; | 107 const char kGetManagedPropertiesMessage[] = "getManagedProperties"; |
111 const char kRequestNetworkScanMessage[] = "requestNetworkScan"; | 108 const char kRequestNetworkScanMessage[] = "requestNetworkScan"; |
112 const char kStartConnectMessage[] = "startConnect"; | 109 const char kStartConnectMessage[] = "startConnect"; |
113 const char kStartDisconnectMessage[] = "startDisconnect"; | 110 const char kStartDisconnectMessage[] = "startDisconnect"; |
| 111 const char kSetPropertiesMessage[] = "setProperties"; |
114 | 112 |
115 // TODO(stevenjb): Add these to networkingPrivate. | 113 // TODO(stevenjb): Add these to networkingPrivate. |
116 const char kRemoveNetworkMessage[] = "removeNetwork"; | 114 const char kRemoveNetworkMessage[] = "removeNetwork"; |
117 | 115 |
118 // TODO(stevenjb): Deprecate these and integrate with settings Web UI. | 116 // TODO(stevenjb): Deprecate these and integrate with settings Web UI. |
119 const char kAddConnectionMessage[] = "addConnection"; | 117 const char kAddConnectionMessage[] = "addConnection"; |
120 const char kConfigureNetworkMessage[] = "configureNetwork"; | 118 const char kConfigureNetworkMessage[] = "configureNetwork"; |
121 const char kActivateNetworkMessage[] = "activateNetwork"; | 119 const char kActivateNetworkMessage[] = "activateNetwork"; |
122 | 120 |
123 // These are strings used to communicate with JavaScript. | 121 // These are strings used to communicate with JavaScript. |
(...skipping 14 matching lines...) Expand all Loading... |
138 const char kTagWimaxAvailable[] = "wimaxAvailable"; | 136 const char kTagWimaxAvailable[] = "wimaxAvailable"; |
139 const char kTagWimaxEnabled[] = "wimaxEnabled"; | 137 const char kTagWimaxEnabled[] = "wimaxEnabled"; |
140 const char kTagWiredList[] = "wiredList"; | 138 const char kTagWiredList[] = "wiredList"; |
141 const char kTagWirelessList[] = "wirelessList"; | 139 const char kTagWirelessList[] = "wirelessList"; |
142 | 140 |
143 // Pseudo-ONC chrome specific properties appended to the ONC dictionary. | 141 // Pseudo-ONC chrome specific properties appended to the ONC dictionary. |
144 const char kNetworkInfoKeyServicePath[] = "servicePath"; | 142 const char kNetworkInfoKeyServicePath[] = "servicePath"; |
145 const char kTagErrorMessage[] = "errorMessage"; | 143 const char kTagErrorMessage[] = "errorMessage"; |
146 const char kTagShowViewAccountButton[] = "showViewAccountButton"; | 144 const char kTagShowViewAccountButton[] = "showViewAccountButton"; |
147 | 145 |
148 const int kPreferredPriority = 1; | |
149 | |
150 void ShillError(const std::string& function, | 146 void ShillError(const std::string& function, |
151 const std::string& error_name, | 147 const std::string& error_name, |
152 scoped_ptr<base::DictionaryValue> error_data) { | 148 scoped_ptr<base::DictionaryValue> error_data) { |
153 // UpdateConnectionData may send requests for stale services; ignore | 149 // UpdateConnectionData may send requests for stale services; ignore |
154 // these errors. | 150 // these errors. |
155 if (function == "UpdateConnectionData" && | 151 if (function == "UpdateConnectionData" && |
156 error_name == network_handler::kDBusFailedError) | 152 error_name == network_handler::kDBusFailedError) |
157 return; | 153 return; |
158 NET_LOG_ERROR("Shill Error from InternetOptionsHandler: " + error_name, | 154 NET_LOG_ERROR("Shill Error from InternetOptionsHandler: " + error_name, |
159 function); | 155 function); |
160 } | 156 } |
161 | 157 |
162 const NetworkState* GetNetworkState(const std::string& service_path) { | 158 const NetworkState* GetNetworkState(const std::string& service_path) { |
163 return NetworkHandler::Get()->network_state_handler()-> | 159 return NetworkHandler::Get()->network_state_handler()-> |
164 GetNetworkState(service_path); | 160 GetNetworkState(service_path); |
165 } | 161 } |
166 | 162 |
167 void SetNetworkProperty(const std::string& service_path, | |
168 const std::string& property, | |
169 base::Value* value) { | |
170 NET_LOG_EVENT("SetNetworkProperty: " + property, service_path); | |
171 base::DictionaryValue properties; | |
172 properties.SetWithoutPathExpansion(property, value); | |
173 NetworkHandler::Get()->network_configuration_handler()->SetProperties( | |
174 service_path, properties, | |
175 base::Bind(&base::DoNothing), | |
176 base::Bind(&ShillError, "SetNetworkProperty")); | |
177 } | |
178 | |
179 // Builds a dictionary with network information and an icon used for the | 163 // Builds a dictionary with network information and an icon used for the |
180 // NetworkList on the settings page. Ownership of the returned pointer is | 164 // NetworkList on the settings page. Ownership of the returned pointer is |
181 // transferred to the caller. | 165 // transferred to the caller. |
182 base::DictionaryValue* BuildNetworkDictionary( | 166 base::DictionaryValue* BuildNetworkDictionary( |
183 const NetworkState* network, | 167 const NetworkState* network, |
184 float icon_scale_factor, | 168 float icon_scale_factor, |
185 const PrefService* profile_prefs) { | 169 const PrefService* profile_prefs) { |
186 scoped_ptr<base::DictionaryValue> network_info = | 170 scoped_ptr<base::DictionaryValue> network_info = |
187 network_util::TranslateNetworkStateToONC(network); | 171 network_util::TranslateNetworkStateToONC(network); |
188 | 172 |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 base::Unretained(this))); | 317 base::Unretained(this))); |
334 web_ui()->RegisterMessageCallback(kRemoveNetworkMessage, | 318 web_ui()->RegisterMessageCallback(kRemoveNetworkMessage, |
335 base::Bind(&InternetOptionsHandler::RemoveNetwork, | 319 base::Bind(&InternetOptionsHandler::RemoveNetwork, |
336 base::Unretained(this))); | 320 base::Unretained(this))); |
337 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, | 321 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, |
338 base::Bind(&InternetOptionsHandler::ConfigureNetwork, | 322 base::Bind(&InternetOptionsHandler::ConfigureNetwork, |
339 base::Unretained(this))); | 323 base::Unretained(this))); |
340 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, | 324 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, |
341 base::Bind(&InternetOptionsHandler::ActivateNetwork, | 325 base::Bind(&InternetOptionsHandler::ActivateNetwork, |
342 base::Unretained(this))); | 326 base::Unretained(this))); |
343 web_ui()->RegisterMessageCallback(kSetPreferNetworkMessage, | |
344 base::Bind(&InternetOptionsHandler::SetPreferNetworkCallback, | |
345 base::Unretained(this))); | |
346 web_ui()->RegisterMessageCallback(kSetAutoConnectMessage, | |
347 base::Bind(&InternetOptionsHandler::SetAutoConnectCallback, | |
348 base::Unretained(this))); | |
349 web_ui()->RegisterMessageCallback(kSetIPConfigMessage, | 327 web_ui()->RegisterMessageCallback(kSetIPConfigMessage, |
350 base::Bind(&InternetOptionsHandler::SetIPConfigCallback, | 328 base::Bind(&InternetOptionsHandler::SetIPConfigCallback, |
351 base::Unretained(this))); | 329 base::Unretained(this))); |
352 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, | 330 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, |
353 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, | 331 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, |
354 base::Unretained(this))); | 332 base::Unretained(this))); |
355 web_ui()->RegisterMessageCallback(kSetApnMessage, | 333 web_ui()->RegisterMessageCallback(kSetApnMessage, |
356 base::Bind(&InternetOptionsHandler::SetApnCallback, | 334 base::Bind(&InternetOptionsHandler::SetApnCallback, |
357 base::Unretained(this))); | 335 base::Unretained(this))); |
358 web_ui()->RegisterMessageCallback(kSetCarrierMessage, | 336 web_ui()->RegisterMessageCallback(kSetCarrierMessage, |
359 base::Bind(&InternetOptionsHandler::SetCarrierCallback, | 337 base::Bind(&InternetOptionsHandler::SetCarrierCallback, |
360 base::Unretained(this))); | 338 base::Unretained(this))); |
361 web_ui()->RegisterMessageCallback(kSimOperationMessage, | 339 web_ui()->RegisterMessageCallback(kSimOperationMessage, |
362 base::Bind(&InternetOptionsHandler::SimOperationCallback, | 340 base::Bind(&InternetOptionsHandler::SimOperationCallback, |
363 base::Unretained(this))); | 341 base::Unretained(this))); |
364 web_ui()->RegisterMessageCallback(kSetServerHostname, | |
365 base::Bind(&InternetOptionsHandler::SetServerHostnameCallback, | |
366 base::Unretained(this))); | |
367 | 342 |
368 // networkingPrivate methods | 343 // networkingPrivate methods |
369 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, | 344 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, |
370 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, | 345 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, |
371 base::Unretained(this))); | 346 base::Unretained(this))); |
372 web_ui()->RegisterMessageCallback(kEnableNetworkTypeMessage, | 347 web_ui()->RegisterMessageCallback(kEnableNetworkTypeMessage, |
373 base::Bind(&InternetOptionsHandler::EnableNetworkTypeCallback, | 348 base::Bind(&InternetOptionsHandler::EnableNetworkTypeCallback, |
374 base::Unretained(this))); | 349 base::Unretained(this))); |
375 web_ui()->RegisterMessageCallback(kGetManagedPropertiesMessage, | 350 web_ui()->RegisterMessageCallback(kGetManagedPropertiesMessage, |
376 base::Bind(&InternetOptionsHandler::GetManagedPropertiesCallback, | 351 base::Bind(&InternetOptionsHandler::GetManagedPropertiesCallback, |
377 base::Unretained(this))); | 352 base::Unretained(this))); |
378 web_ui()->RegisterMessageCallback(kRequestNetworkScanMessage, | 353 web_ui()->RegisterMessageCallback(kRequestNetworkScanMessage, |
379 base::Bind(&InternetOptionsHandler::RequestNetworkScanCallback, | 354 base::Bind(&InternetOptionsHandler::RequestNetworkScanCallback, |
380 base::Unretained(this))); | 355 base::Unretained(this))); |
381 web_ui()->RegisterMessageCallback(kStartConnectMessage, | 356 web_ui()->RegisterMessageCallback(kStartConnectMessage, |
382 base::Bind(&InternetOptionsHandler::StartConnectCallback, | 357 base::Bind(&InternetOptionsHandler::StartConnectCallback, |
383 base::Unretained(this))); | 358 base::Unretained(this))); |
384 web_ui()->RegisterMessageCallback(kStartDisconnectMessage, | 359 web_ui()->RegisterMessageCallback(kStartDisconnectMessage, |
385 base::Bind(&InternetOptionsHandler::StartDisconnectCallback, | 360 base::Bind(&InternetOptionsHandler::StartDisconnectCallback, |
386 base::Unretained(this))); | 361 base::Unretained(this))); |
| 362 web_ui()->RegisterMessageCallback(kSetPropertiesMessage, |
| 363 base::Bind(&InternetOptionsHandler::SetPropertiesCallback, |
| 364 base::Unretained(this))); |
387 } | 365 } |
388 | 366 |
389 void InternetOptionsHandler::ShowMorePlanInfoCallback( | 367 void InternetOptionsHandler::ShowMorePlanInfoCallback( |
390 const base::ListValue* args) { | 368 const base::ListValue* args) { |
391 if (!web_ui()) | 369 if (!web_ui()) |
392 return; | 370 return; |
393 std::string service_path; | 371 std::string service_path; |
394 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { | 372 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
395 NOTREACHED(); | 373 NOTREACHED(); |
396 return; | 374 return; |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 return; | 672 return; |
695 if (device->type() != shill::kTypeCellular) | 673 if (device->type() != shill::kTypeCellular) |
696 return; | 674 return; |
697 const NetworkState* network = | 675 const NetworkState* network = |
698 NetworkHandler::Get()->network_state_handler()->FirstNetworkByType( | 676 NetworkHandler::Get()->network_state_handler()->FirstNetworkByType( |
699 NetworkTypePattern::Cellular()); | 677 NetworkTypePattern::Cellular()); |
700 if (network && network->path() == details_path_) | 678 if (network && network->path() == details_path_) |
701 UpdateConnectionData(network->path()); | 679 UpdateConnectionData(network->path()); |
702 } | 680 } |
703 | 681 |
704 void InternetOptionsHandler::SetServerHostnameCallback( | 682 void InternetOptionsHandler::SetPropertiesCallback( |
705 const base::ListValue* args) { | 683 const base::ListValue* args) { |
706 std::string service_path, server_hostname; | 684 std::string service_path; |
| 685 const base::DictionaryValue* properties; |
707 if (args->GetSize() < 2 || | 686 if (args->GetSize() < 2 || |
708 !args->GetString(0, &service_path) || | 687 !args->GetString(0, &service_path) || |
709 !args->GetString(1, &server_hostname)) { | 688 !args->GetDictionary(1, &properties)) { |
710 NOTREACHED(); | 689 NOTREACHED(); |
711 return; | 690 return; |
712 } | 691 } |
713 SetNetworkProperty(service_path, | 692 NetworkHandler::Get()->managed_network_configuration_handler()->SetProperties( |
714 shill::kProviderHostProperty, | 693 service_path, *properties, |
715 new base::StringValue(server_hostname)); | 694 base::Bind(&base::DoNothing), |
716 } | 695 base::Bind(&ShillError, "SetProperties")); |
717 | |
718 void InternetOptionsHandler::SetPreferNetworkCallback( | |
719 const base::ListValue* args) { | |
720 std::string service_path; | |
721 bool prefer_network; | |
722 if (args->GetSize() < 2 || | |
723 !args->GetString(0, &service_path) || | |
724 !args->GetBoolean(1, &prefer_network)) { | |
725 NOTREACHED(); | |
726 return; | |
727 } | |
728 int priority = prefer_network ? kPreferredPriority : 0; | |
729 SetNetworkProperty(service_path, | |
730 shill::kPriorityProperty, | |
731 new base::FundamentalValue(priority)); | |
732 } | |
733 | |
734 void InternetOptionsHandler::SetAutoConnectCallback( | |
735 const base::ListValue* args) { | |
736 std::string service_path; | |
737 bool auto_connect; | |
738 if (args->GetSize() < 2 || | |
739 !args->GetString(0, &service_path) || | |
740 !args->GetBoolean(1, &auto_connect)) { | |
741 NOTREACHED(); | |
742 return; | |
743 } | |
744 SetNetworkProperty(service_path, | |
745 shill::kAutoConnectProperty, | |
746 new base::FundamentalValue(auto_connect)); | |
747 } | 696 } |
748 | 697 |
749 void InternetOptionsHandler::SetIPConfigCallback(const base::ListValue* args) { | 698 void InternetOptionsHandler::SetIPConfigCallback(const base::ListValue* args) { |
750 std::string service_path; | 699 std::string service_path; |
751 if (!args->GetString(0, &service_path)) { | 700 if (!args->GetString(0, &service_path)) { |
752 NOTREACHED(); | 701 NOTREACHED(); |
753 return; | 702 return; |
754 } | 703 } |
755 NetworkHandler::Get()->network_configuration_handler()->GetProperties( | 704 NetworkHandler::Get()->network_configuration_handler()->GetProperties( |
756 service_path, | 705 service_path, |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 dictionary->SetBoolean( | 952 dictionary->SetBoolean( |
1004 kTagWimaxAvailable, | 953 kTagWimaxAvailable, |
1005 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); | 954 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); |
1006 dictionary->SetBoolean( | 955 dictionary->SetBoolean( |
1007 kTagWimaxEnabled, | 956 kTagWimaxEnabled, |
1008 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); | 957 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); |
1009 } | 958 } |
1010 | 959 |
1011 } // namespace options | 960 } // namespace options |
1012 } // namespace chromeos | 961 } // namespace chromeos |
OLD | NEW |