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

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

Issue 694533007: Add 'setProperties' to InternetOptionsHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + feedback Created 6 years, 1 month 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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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 NetworkConfigurationObserver::SOURCE_USER_ACTION,
176 base::Bind(&base::DoNothing),
177 base::Bind(&ShillError, "SetNetworkProperty"));
178 }
179
180 // 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
181 // NetworkList on the settings page. Ownership of the returned pointer is 164 // NetworkList on the settings page. Ownership of the returned pointer is
182 // transferred to the caller. 165 // transferred to the caller.
183 base::DictionaryValue* BuildNetworkDictionary( 166 base::DictionaryValue* BuildNetworkDictionary(
184 const NetworkState* network, 167 const NetworkState* network,
185 float icon_scale_factor, 168 float icon_scale_factor,
186 const PrefService* profile_prefs) { 169 const PrefService* profile_prefs) {
187 scoped_ptr<base::DictionaryValue> network_info = 170 scoped_ptr<base::DictionaryValue> network_info =
188 network_util::TranslateNetworkStateToONC(network); 171 network_util::TranslateNetworkStateToONC(network);
189 172
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 base::Unretained(this))); 317 base::Unretained(this)));
335 web_ui()->RegisterMessageCallback(kRemoveNetworkMessage, 318 web_ui()->RegisterMessageCallback(kRemoveNetworkMessage,
336 base::Bind(&InternetOptionsHandler::RemoveNetwork, 319 base::Bind(&InternetOptionsHandler::RemoveNetwork,
337 base::Unretained(this))); 320 base::Unretained(this)));
338 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, 321 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage,
339 base::Bind(&InternetOptionsHandler::ConfigureNetwork, 322 base::Bind(&InternetOptionsHandler::ConfigureNetwork,
340 base::Unretained(this))); 323 base::Unretained(this)));
341 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, 324 web_ui()->RegisterMessageCallback(kActivateNetworkMessage,
342 base::Bind(&InternetOptionsHandler::ActivateNetwork, 325 base::Bind(&InternetOptionsHandler::ActivateNetwork,
343 base::Unretained(this))); 326 base::Unretained(this)));
344 web_ui()->RegisterMessageCallback(kSetPreferNetworkMessage,
345 base::Bind(&InternetOptionsHandler::SetPreferNetworkCallback,
346 base::Unretained(this)));
347 web_ui()->RegisterMessageCallback(kSetAutoConnectMessage,
348 base::Bind(&InternetOptionsHandler::SetAutoConnectCallback,
349 base::Unretained(this)));
350 web_ui()->RegisterMessageCallback(kSetIPConfigMessage, 327 web_ui()->RegisterMessageCallback(kSetIPConfigMessage,
351 base::Bind(&InternetOptionsHandler::SetIPConfigCallback, 328 base::Bind(&InternetOptionsHandler::SetIPConfigCallback,
352 base::Unretained(this))); 329 base::Unretained(this)));
353 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, 330 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage,
354 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, 331 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback,
355 base::Unretained(this))); 332 base::Unretained(this)));
356 web_ui()->RegisterMessageCallback(kSetApnMessage, 333 web_ui()->RegisterMessageCallback(kSetApnMessage,
357 base::Bind(&InternetOptionsHandler::SetApnCallback, 334 base::Bind(&InternetOptionsHandler::SetApnCallback,
358 base::Unretained(this))); 335 base::Unretained(this)));
359 web_ui()->RegisterMessageCallback(kSetCarrierMessage, 336 web_ui()->RegisterMessageCallback(kSetCarrierMessage,
360 base::Bind(&InternetOptionsHandler::SetCarrierCallback, 337 base::Bind(&InternetOptionsHandler::SetCarrierCallback,
361 base::Unretained(this))); 338 base::Unretained(this)));
362 web_ui()->RegisterMessageCallback(kSimOperationMessage, 339 web_ui()->RegisterMessageCallback(kSimOperationMessage,
363 base::Bind(&InternetOptionsHandler::SimOperationCallback, 340 base::Bind(&InternetOptionsHandler::SimOperationCallback,
364 base::Unretained(this))); 341 base::Unretained(this)));
365 web_ui()->RegisterMessageCallback(kSetServerHostname,
366 base::Bind(&InternetOptionsHandler::SetServerHostnameCallback,
367 base::Unretained(this)));
368 342
369 // networkingPrivate methods 343 // networkingPrivate methods
370 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, 344 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage,
371 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, 345 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback,
372 base::Unretained(this))); 346 base::Unretained(this)));
373 web_ui()->RegisterMessageCallback(kEnableNetworkTypeMessage, 347 web_ui()->RegisterMessageCallback(kEnableNetworkTypeMessage,
374 base::Bind(&InternetOptionsHandler::EnableNetworkTypeCallback, 348 base::Bind(&InternetOptionsHandler::EnableNetworkTypeCallback,
375 base::Unretained(this))); 349 base::Unretained(this)));
376 web_ui()->RegisterMessageCallback(kGetManagedPropertiesMessage, 350 web_ui()->RegisterMessageCallback(kGetManagedPropertiesMessage,
377 base::Bind(&InternetOptionsHandler::GetManagedPropertiesCallback, 351 base::Bind(&InternetOptionsHandler::GetManagedPropertiesCallback,
378 base::Unretained(this))); 352 base::Unretained(this)));
379 web_ui()->RegisterMessageCallback(kRequestNetworkScanMessage, 353 web_ui()->RegisterMessageCallback(kRequestNetworkScanMessage,
380 base::Bind(&InternetOptionsHandler::RequestNetworkScanCallback, 354 base::Bind(&InternetOptionsHandler::RequestNetworkScanCallback,
381 base::Unretained(this))); 355 base::Unretained(this)));
382 web_ui()->RegisterMessageCallback(kStartConnectMessage, 356 web_ui()->RegisterMessageCallback(kStartConnectMessage,
383 base::Bind(&InternetOptionsHandler::StartConnectCallback, 357 base::Bind(&InternetOptionsHandler::StartConnectCallback,
384 base::Unretained(this))); 358 base::Unretained(this)));
385 web_ui()->RegisterMessageCallback(kStartDisconnectMessage, 359 web_ui()->RegisterMessageCallback(kStartDisconnectMessage,
386 base::Bind(&InternetOptionsHandler::StartDisconnectCallback, 360 base::Bind(&InternetOptionsHandler::StartDisconnectCallback,
387 base::Unretained(this))); 361 base::Unretained(this)));
362 web_ui()->RegisterMessageCallback(kSetPropertiesMessage,
363 base::Bind(&InternetOptionsHandler::SetPropertiesCallback,
364 base::Unretained(this)));
388 } 365 }
389 366
390 void InternetOptionsHandler::ShowMorePlanInfoCallback( 367 void InternetOptionsHandler::ShowMorePlanInfoCallback(
391 const base::ListValue* args) { 368 const base::ListValue* args) {
392 if (!web_ui()) 369 if (!web_ui())
393 return; 370 return;
394 std::string service_path; 371 std::string service_path;
395 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { 372 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) {
396 NOTREACHED(); 373 NOTREACHED();
397 return; 374 return;
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 return; 673 return;
697 if (device->type() != shill::kTypeCellular) 674 if (device->type() != shill::kTypeCellular)
698 return; 675 return;
699 const NetworkState* network = 676 const NetworkState* network =
700 NetworkHandler::Get()->network_state_handler()->FirstNetworkByType( 677 NetworkHandler::Get()->network_state_handler()->FirstNetworkByType(
701 NetworkTypePattern::Cellular()); 678 NetworkTypePattern::Cellular());
702 if (network && network->path() == details_path_) 679 if (network && network->path() == details_path_)
703 UpdateConnectionData(network->path()); 680 UpdateConnectionData(network->path());
704 } 681 }
705 682
706 void InternetOptionsHandler::SetServerHostnameCallback( 683 void InternetOptionsHandler::SetPropertiesCallback(
707 const base::ListValue* args) { 684 const base::ListValue* args) {
708 std::string service_path, server_hostname; 685 std::string service_path;
686 const base::DictionaryValue* properties;
709 if (args->GetSize() < 2 || 687 if (args->GetSize() < 2 ||
710 !args->GetString(0, &service_path) || 688 !args->GetString(0, &service_path) ||
711 !args->GetString(1, &server_hostname)) { 689 !args->GetDictionary(1, &properties)) {
712 NOTREACHED(); 690 NOTREACHED();
713 return; 691 return;
714 } 692 }
715 SetNetworkProperty(service_path, 693 NetworkHandler::Get()->managed_network_configuration_handler()->SetProperties(
716 shill::kProviderHostProperty, 694 service_path, *properties,
717 new base::StringValue(server_hostname)); 695 base::Bind(&base::DoNothing),
718 } 696 base::Bind(&ShillError, "SetProperties"));
719
720 void InternetOptionsHandler::SetPreferNetworkCallback(
721 const base::ListValue* args) {
722 std::string service_path;
723 bool prefer_network;
724 if (args->GetSize() < 2 ||
725 !args->GetString(0, &service_path) ||
726 !args->GetBoolean(1, &prefer_network)) {
727 NOTREACHED();
728 return;
729 }
730 int priority = prefer_network ? kPreferredPriority : 0;
731 SetNetworkProperty(service_path,
732 shill::kPriorityProperty,
733 new base::FundamentalValue(priority));
734 }
735
736 void InternetOptionsHandler::SetAutoConnectCallback(
737 const base::ListValue* args) {
738 std::string service_path;
739 bool auto_connect;
740 if (args->GetSize() < 2 ||
741 !args->GetString(0, &service_path) ||
742 !args->GetBoolean(1, &auto_connect)) {
743 NOTREACHED();
744 return;
745 }
746 SetNetworkProperty(service_path,
747 shill::kAutoConnectProperty,
748 new base::FundamentalValue(auto_connect));
749 } 697 }
750 698
751 void InternetOptionsHandler::SetIPConfigCallback(const base::ListValue* args) { 699 void InternetOptionsHandler::SetIPConfigCallback(const base::ListValue* args) {
752 std::string service_path; 700 std::string service_path;
753 if (!args->GetString(0, &service_path)) { 701 if (!args->GetString(0, &service_path)) {
754 NOTREACHED(); 702 NOTREACHED();
755 return; 703 return;
756 } 704 }
757 NetworkHandler::Get()->network_configuration_handler()->GetProperties( 705 NetworkHandler::Get()->network_configuration_handler()->GetProperties(
758 service_path, 706 service_path,
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1006 dictionary->SetBoolean( 954 dictionary->SetBoolean(
1007 kTagWimaxAvailable, 955 kTagWimaxAvailable,
1008 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); 956 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax()));
1009 dictionary->SetBoolean( 957 dictionary->SetBoolean(
1010 kTagWimaxEnabled, 958 kTagWimaxEnabled,
1011 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); 959 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax()));
1012 } 960 }
1013 961
1014 } // namespace options 962 } // namespace options
1015 } // namespace chromeos 963 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698