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

Unified Diff: chrome/browser/extensions/api/networking_private/networking_private_chromeos.cc

Issue 870163002: Move networking_private to src/extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix GN 2 Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/networking_private/networking_private_chromeos.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_chromeos.cc b/chrome/browser/extensions/api/networking_private/networking_private_chromeos.cc
deleted file mode 100644
index 2bcc246a3b42b6680b331269ef30f9a7916b5e1d..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/networking_private/networking_private_chromeos.cc
+++ /dev/null
@@ -1,340 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/api/networking_private/networking_private_chromeos.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/callback.h"
-#include "chrome/browser/chromeos/profiles/profile_helper.h"
-#include "chrome/browser/extensions/api/networking_private/networking_private_api.h"
-#include "chrome/common/extensions/api/networking_private.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/shill_manager_client.h"
-#include "chromeos/login/login_state.h"
-#include "chromeos/network/managed_network_configuration_handler.h"
-#include "chromeos/network/network_connection_handler.h"
-#include "chromeos/network/network_device_handler.h"
-#include "chromeos/network/network_event_log.h"
-#include "chromeos/network/network_state.h"
-#include "chromeos/network/network_state_handler.h"
-#include "chromeos/network/network_util.h"
-#include "chromeos/network/onc/onc_signature.h"
-#include "chromeos/network/onc/onc_translator.h"
-#include "chromeos/network/onc/onc_utils.h"
-#include "chromeos/network/portal_detector/network_portal_detector.h"
-#include "components/onc/onc_constants.h"
-#include "content/public/browser/browser_context.h"
-
-using chromeos::NetworkHandler;
-using chromeos::NetworkTypePattern;
-using chromeos::ShillManagerClient;
-using extensions::NetworkingPrivateDelegate;
-
-namespace {
-
-chromeos::NetworkStateHandler* GetStateHandler() {
- return NetworkHandler::Get()->network_state_handler();
-}
-
-chromeos::ManagedNetworkConfigurationHandler* GetManagedConfigurationHandler() {
- return NetworkHandler::Get()->managed_network_configuration_handler();
-}
-
-bool GetServicePathFromGuid(const std::string& guid,
- std::string* service_path,
- std::string* error) {
- const chromeos::NetworkState* network =
- GetStateHandler()->GetNetworkStateFromGuid(guid);
- if (!network) {
- *error = extensions::networking_private::kErrorInvalidNetworkGuid;
- return false;
- }
- *service_path = network->path();
- return true;
-}
-
-bool GetUserIdHash(content::BrowserContext* browser_context,
- std::string* user_hash,
- std::string* error) {
- std::string profile_user_hash =
- chromeos::ProfileHelper::GetUserIdHashFromProfile(
- static_cast<Profile*>(browser_context));
-
- // Currently Chrome OS only configures networks for the primary user.
- // Configuration attempts from other browser contexts should fail.
- // TODO(stevenjb): use an ExtensionsBrowserClient method to access
- // ProfileHelper when moving this to src/extensions.
- if (profile_user_hash != chromeos::LoginState::Get()->primary_user_hash()) {
- // Disallow class requiring a user id hash from a non-primary user context
- // to avoid complexities with the policy code.
- LOG(ERROR) << "networkingPrivate API call from non primary user: "
- << profile_user_hash;
- *error = "Error.NonPrimaryUser";
- return false;
- }
- *user_hash = profile_user_hash;
- return true;
-}
-
-void NetworkHandlerDictionaryCallback(
- const NetworkingPrivateDelegate::DictionaryCallback& callback,
- const std::string& service_path,
- const base::DictionaryValue& dictionary) {
- scoped_ptr<base::DictionaryValue> dictionary_copy(dictionary.DeepCopy());
- callback.Run(dictionary_copy.Pass());
-}
-
-void NetworkHandlerFailureCallback(
- const NetworkingPrivateDelegate::FailureCallback& callback,
- const std::string& error_name,
- scoped_ptr<base::DictionaryValue> error_data) {
- callback.Run(error_name);
-}
-
-} // namespace
-
-////////////////////////////////////////////////////////////////////////////////
-
-namespace extensions {
-
-NetworkingPrivateChromeOS::NetworkingPrivateChromeOS(
- content::BrowserContext* browser_context,
- scoped_ptr<VerifyDelegate> verify_delegate)
- : NetworkingPrivateDelegate(verify_delegate.Pass()),
- browser_context_(browser_context) {
-}
-
-NetworkingPrivateChromeOS::~NetworkingPrivateChromeOS() {}
-
-void NetworkingPrivateChromeOS::GetProperties(
- const std::string& guid,
- const DictionaryCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- GetManagedConfigurationHandler()->GetProperties(
- service_path,
- base::Bind(&NetworkHandlerDictionaryCallback, success_callback),
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::GetManagedProperties(
- const std::string& guid,
- const DictionaryCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- std::string user_id_hash;
- if (!GetUserIdHash(browser_context_, &user_id_hash, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- GetManagedConfigurationHandler()->GetManagedProperties(
- user_id_hash,
- service_path,
- base::Bind(&NetworkHandlerDictionaryCallback, success_callback),
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::GetState(
- const std::string& guid,
- const DictionaryCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- const chromeos::NetworkState* network_state =
- GetStateHandler()->GetNetworkStateFromServicePath(
- service_path, false /* configured_only */);
- if (!network_state) {
- failure_callback.Run(networking_private::kErrorNetworkUnavailable);
- return;
- }
-
- scoped_ptr<base::DictionaryValue> network_properties =
- chromeos::network_util::TranslateNetworkStateToONC(network_state);
-
- success_callback.Run(network_properties.Pass());
-}
-
-void NetworkingPrivateChromeOS::SetProperties(
- const std::string& guid,
- scoped_ptr<base::DictionaryValue> properties,
- const VoidCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- GetManagedConfigurationHandler()->SetProperties(
- service_path,
- *properties,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::CreateNetwork(
- bool shared,
- scoped_ptr<base::DictionaryValue> properties,
- const StringCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string user_id_hash, error;
- // Do not allow configuring a non-shared network from a non-primary user.
- if (!shared && !GetUserIdHash(browser_context_, &user_id_hash, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- GetManagedConfigurationHandler()->CreateConfiguration(
- user_id_hash,
- *properties,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::GetNetworks(
- const std::string& network_type,
- bool configured_only,
- bool visible_only,
- int limit,
- const NetworkListCallback& success_callback,
- const FailureCallback& failure_callback) {
- NetworkTypePattern pattern =
- chromeos::onc::NetworkTypePatternFromOncType(network_type);
- scoped_ptr<base::ListValue> network_properties_list =
- chromeos::network_util::TranslateNetworkListToONC(
- pattern, configured_only, visible_only, limit, false /* debugging */);
- success_callback.Run(network_properties_list.Pass());
-}
-
-void NetworkingPrivateChromeOS::StartConnect(
- const std::string& guid,
- const VoidCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- const bool check_error_state = false;
- NetworkHandler::Get()->network_connection_handler()->ConnectToNetwork(
- service_path,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback),
- check_error_state);
-}
-
-void NetworkingPrivateChromeOS::StartDisconnect(
- const std::string& guid,
- const VoidCallback& success_callback,
- const FailureCallback& failure_callback) {
- std::string service_path, error;
- if (!GetServicePathFromGuid(guid, &service_path, &error)) {
- failure_callback.Run(error);
- return;
- }
-
- NetworkHandler::Get()->network_connection_handler()->DisconnectNetwork(
- service_path,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::SetWifiTDLSEnabledState(
- const std::string& ip_or_mac_address,
- bool enabled,
- const StringCallback& success_callback,
- const FailureCallback& failure_callback) {
- NetworkHandler::Get()->network_device_handler()->SetWifiTDLSEnabled(
- ip_or_mac_address,
- enabled,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::GetWifiTDLSStatus(
- const std::string& ip_or_mac_address,
- const StringCallback& success_callback,
- const FailureCallback& failure_callback) {
- NetworkHandler::Get()->network_device_handler()->GetWifiTDLSStatus(
- ip_or_mac_address,
- success_callback,
- base::Bind(&NetworkHandlerFailureCallback, failure_callback));
-}
-
-void NetworkingPrivateChromeOS::GetCaptivePortalStatus(
- const std::string& guid,
- const StringCallback& success_callback,
- const FailureCallback& failure_callback) {
- if (!chromeos::NetworkPortalDetector::IsInitialized()) {
- failure_callback.Run(networking_private::kErrorNotReady);
- return;
- }
-
- chromeos::NetworkPortalDetector::CaptivePortalState state =
- chromeos::NetworkPortalDetector::Get()->GetCaptivePortalState(guid);
- success_callback.Run(
- chromeos::NetworkPortalDetector::CaptivePortalStatusString(state.status));
-}
-
-scoped_ptr<base::ListValue>
-NetworkingPrivateChromeOS::GetEnabledNetworkTypes() {
- chromeos::NetworkStateHandler* state_handler = GetStateHandler();
-
- scoped_ptr<base::ListValue> network_list(new base::ListValue);
-
- if (state_handler->IsTechnologyEnabled(NetworkTypePattern::Ethernet()))
- network_list->AppendString(::onc::network_type::kEthernet);
- if (state_handler->IsTechnologyEnabled(NetworkTypePattern::WiFi()))
- network_list->AppendString(::onc::network_type::kWiFi);
- if (state_handler->IsTechnologyEnabled(NetworkTypePattern::Wimax()))
- network_list->AppendString(::onc::network_type::kWimax);
- if (state_handler->IsTechnologyEnabled(NetworkTypePattern::Cellular()))
- network_list->AppendString(::onc::network_type::kCellular);
-
- return network_list.Pass();
-}
-
-bool NetworkingPrivateChromeOS::EnableNetworkType(const std::string& type) {
- NetworkTypePattern pattern =
- chromeos::onc::NetworkTypePatternFromOncType(type);
-
- GetStateHandler()->SetTechnologyEnabled(
- pattern, true, chromeos::network_handler::ErrorCallback());
-
- return true;
-}
-
-bool NetworkingPrivateChromeOS::DisableNetworkType(const std::string& type) {
- NetworkTypePattern pattern =
- chromeos::onc::NetworkTypePatternFromOncType(type);
-
- GetStateHandler()->SetTechnologyEnabled(
- pattern, false, chromeos::network_handler::ErrorCallback());
-
- return true;
-}
-
-bool NetworkingPrivateChromeOS::RequestScan() {
- GetStateHandler()->RequestScan();
- return true;
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698