| 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 const char kSetVPNProvidersFunction[] = "options.VPNProviders.setProviders"; | 84 const char kSetVPNProvidersFunction[] = "options.VPNProviders.setProviders"; |
| 85 const char kRefreshNetworkDataFunction[] = | 85 const char kRefreshNetworkDataFunction[] = |
| 86 "options.network.NetworkList.refreshNetworkData"; | 86 "options.network.NetworkList.refreshNetworkData"; |
| 87 const char kUpdateConnectionDataFunction[] = | 87 const char kUpdateConnectionDataFunction[] = |
| 88 "options.internet.DetailsInternetPage.updateConnectionData"; | 88 "options.internet.DetailsInternetPage.updateConnectionData"; |
| 89 | 89 |
| 90 // JS methods to show additional UI. | 90 // JS methods to show additional UI. |
| 91 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; | 91 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; |
| 92 const char kSimOperationMessage[] = "simOperation"; | 92 const char kSimOperationMessage[] = "simOperation"; |
| 93 | 93 |
| 94 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. |
| 95 // crbug.com/279351. |
| 96 const char kStartConnectMessage[] = "startConnect"; |
| 97 |
| 94 // TODO(stevenjb): Deprecate this once we handle events in the JS. | 98 // TODO(stevenjb): Deprecate this once we handle events in the JS. |
| 95 const char kSetNetworkGuidMessage[] = "setNetworkGuid"; | 99 const char kSetNetworkGuidMessage[] = "setNetworkGuid"; |
| 96 | 100 |
| 97 // TODO(stevenjb): Deprecate these and integrate with settings Web UI. | 101 // TODO(stevenjb): Deprecate these and integrate with settings Web UI. |
| 98 const char kAddVPNConnectionMessage[] = "addVPNConnection"; | 102 const char kAddVPNConnectionMessage[] = "addVPNConnection"; |
| 99 const char kAddNonVPNConnectionMessage[] = "addNonVPNConnection"; | 103 const char kAddNonVPNConnectionMessage[] = "addNonVPNConnection"; |
| 100 const char kConfigureNetworkMessage[] = "configureNetwork"; | 104 const char kConfigureNetworkMessage[] = "configureNetwork"; |
| 101 | 105 |
| 102 const char kLoadVPNProviders[] = "loadVPNProviders"; | 106 const char kLoadVPNProviders[] = "loadVPNProviders"; |
| 103 | 107 |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 base::Bind(&InternetOptionsHandler::SimOperationCallback, | 253 base::Bind(&InternetOptionsHandler::SimOperationCallback, |
| 250 base::Unretained(this))); | 254 base::Unretained(this))); |
| 251 web_ui()->RegisterMessageCallback( | 255 web_ui()->RegisterMessageCallback( |
| 252 kLoadVPNProviders, | 256 kLoadVPNProviders, |
| 253 base::Bind(&InternetOptionsHandler::LoadVPNProvidersCallback, | 257 base::Bind(&InternetOptionsHandler::LoadVPNProvidersCallback, |
| 254 base::Unretained(this))); | 258 base::Unretained(this))); |
| 255 | 259 |
| 256 web_ui()->RegisterMessageCallback(kSetNetworkGuidMessage, | 260 web_ui()->RegisterMessageCallback(kSetNetworkGuidMessage, |
| 257 base::Bind(&InternetOptionsHandler::SetNetworkGuidCallback, | 261 base::Bind(&InternetOptionsHandler::SetNetworkGuidCallback, |
| 258 base::Unretained(this))); | 262 base::Unretained(this))); |
| 263 |
| 264 // networkingPrivate methods |
| 265 web_ui()->RegisterMessageCallback(kStartConnectMessage, |
| 266 base::Bind(&InternetOptionsHandler::StartConnectCallback, |
| 267 base::Unretained(this))); |
| 259 } | 268 } |
| 260 | 269 |
| 261 void InternetOptionsHandler::OnExtensionLoaded( | 270 void InternetOptionsHandler::OnExtensionLoaded( |
| 262 content::BrowserContext* browser_context, | 271 content::BrowserContext* browser_context, |
| 263 const extensions::Extension* extension) { | 272 const extensions::Extension* extension) { |
| 264 if (IsVPNProvider(extension)) | 273 if (IsVPNProvider(extension)) |
| 265 UpdateVPNProviders(); | 274 UpdateVPNProviders(); |
| 266 } | 275 } |
| 267 | 276 |
| 268 void InternetOptionsHandler::OnExtensionUnloaded( | 277 void InternetOptionsHandler::OnExtensionUnloaded( |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 void InternetOptionsHandler::SetNetworkGuidCallback( | 339 void InternetOptionsHandler::SetNetworkGuidCallback( |
| 331 const base::ListValue* args) { | 340 const base::ListValue* args) { |
| 332 std::string guid; | 341 std::string guid; |
| 333 if (args->GetSize() != 1 || !args->GetString(0, &guid)) { | 342 if (args->GetSize() != 1 || !args->GetString(0, &guid)) { |
| 334 NOTREACHED(); | 343 NOTREACHED(); |
| 335 return; | 344 return; |
| 336 } | 345 } |
| 337 details_guid_ = guid; | 346 details_guid_ = guid; |
| 338 } | 347 } |
| 339 | 348 |
| 349 |
| 350 //////////////////////////////////////////////////////////////////////////////// |
| 351 // networkingPrivate implementation methods. TODO(stevenjb): Use the |
| 352 // networkingPrivate API directly in the settings JS and deprecate these |
| 353 // methods. crbug.com/279351. |
| 354 |
| 355 void InternetOptionsHandler::StartConnectCallback(const base::ListValue* args) { |
| 356 std::string guid; |
| 357 if (!args->GetString(0, &guid)) { |
| 358 NOTREACHED(); |
| 359 return; |
| 360 } |
| 361 std::string service_path = ServicePathFromGuid(guid); |
| 362 if (!service_path.empty()) |
| 363 ui::NetworkConnect::Get()->ConnectToNetwork(service_path); |
| 364 } |
| 365 |
| 340 //////////////////////////////////////////////////////////////////////////////// | 366 //////////////////////////////////////////////////////////////////////////////// |
| 341 | 367 |
| 342 void InternetOptionsHandler::UpdateVPNProviders() { | 368 void InternetOptionsHandler::UpdateVPNProviders() { |
| 343 extensions::ExtensionRegistry* const registry = | 369 extensions::ExtensionRegistry* const registry = |
| 344 GetExtensionRegistryForPrimaryUser(); | 370 GetExtensionRegistryForPrimaryUser(); |
| 345 | 371 |
| 346 base::ListValue vpn_providers; | 372 base::ListValue vpn_providers; |
| 347 const extensions::ExtensionSet& extensions = registry->enabled_extensions(); | 373 const extensions::ExtensionSet& extensions = registry->enabled_extensions(); |
| 348 for (const auto& extension : extensions) { | 374 for (const auto& extension : extensions) { |
| 349 if (IsVPNProvider(extension.get())) { | 375 if (IsVPNProvider(extension.get())) { |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 dictionary->SetBoolean( | 621 dictionary->SetBoolean( |
| 596 kTagWimaxAvailable, | 622 kTagWimaxAvailable, |
| 597 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); | 623 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); |
| 598 dictionary->SetBoolean( | 624 dictionary->SetBoolean( |
| 599 kTagWimaxEnabled, | 625 kTagWimaxEnabled, |
| 600 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); | 626 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); |
| 601 } | 627 } |
| 602 | 628 |
| 603 } // namespace options | 629 } // namespace options |
| 604 } // namespace chromeos | 630 } // namespace chromeos |
| OLD | NEW |