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

Side by Side Diff: chrome/browser/chromeos/ui_proxy_config_service.cc

Issue 983823002: Use GUID instead of servicePath in network settings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_430115_internet_options_enable_extension_apis
Patch Set: . Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/chromeos/ui_proxy_config_service.h" 5 #include "chrome/browser/chromeos/ui_proxy_config_service.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/chromeos/net/proxy_config_handler.h" 10 #include "chrome/browser/chromeos/net/proxy_config_handler.h"
11 #include "chrome/browser/chromeos/proxy_config_service_impl.h" 11 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
12 #include "chromeos/network/network_state.h" 12 #include "chromeos/network/network_state.h"
13 #include "chromeos/network/network_state_handler.h" 13 #include "chromeos/network/network_state_handler.h"
14 #include "components/device_event_log/device_event_log.h"
14 #include "net/proxy/proxy_config.h" 15 #include "net/proxy/proxy_config.h"
15 16
16 namespace chromeos { 17 namespace chromeos {
17 18
18 namespace { 19 namespace {
19 20
20 const char* ModeToString(UIProxyConfig::Mode mode) { 21 const char* ModeToString(UIProxyConfig::Mode mode) {
21 switch (mode) { 22 switch (mode) {
22 case UIProxyConfig::MODE_DIRECT: 23 case UIProxyConfig::MODE_DIRECT:
23 return "direct"; 24 return "direct";
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 66
66 UIProxyConfigService::~UIProxyConfigService() { 67 UIProxyConfigService::~UIProxyConfigService() {
67 } 68 }
68 69
69 void UIProxyConfigService::SetPrefs(PrefService* profile_prefs, 70 void UIProxyConfigService::SetPrefs(PrefService* profile_prefs,
70 PrefService* local_state_prefs) { 71 PrefService* local_state_prefs) {
71 profile_prefs_ = profile_prefs; 72 profile_prefs_ = profile_prefs;
72 local_state_prefs_ = local_state_prefs; 73 local_state_prefs_ = local_state_prefs;
73 } 74 }
74 75
75 void UIProxyConfigService::SetCurrentNetwork( 76 void UIProxyConfigService::SetCurrentNetworkGuid(
76 const std::string& current_network) { 77 const std::string& current_guid) {
77 current_ui_network_ = current_network; 78 current_ui_network_guid_ = current_guid;
78 } 79 }
79 80
80 void UIProxyConfigService::UpdateFromPrefs() { 81 void UIProxyConfigService::UpdateFromPrefs() {
81 const NetworkState* network = NULL; 82 const NetworkState* network = NULL;
pneubeck (no reviews) 2015/03/12 20:53:57 indentation
stevenjb 2015/03/13 01:20:14 Done.
82 if (!current_ui_network_.empty()) { 83 if (!current_ui_network_guid_.empty()) {
83 network = NetworkHandler::Get() 84 network =
84 ->network_state_handler() 85 NetworkHandler::Get()->network_state_handler()->GetNetworkStateFromGuid(
85 ->GetNetworkStateFromServicePath(current_ui_network_, 86 current_ui_network_guid_);
86 true /* configured_only */);
87 LOG_IF(ERROR, !network) << "Couldn't find NetworkState for network "
88 << current_ui_network_;
89 } 87 }
90 if (!network) { 88 if (!network || !network->IsInProfile()) {
91 current_ui_network_.clear(); 89 NET_LOG(ERROR) << "No configured NetworkState for guid: "
90 << current_ui_network_guid_;
91 current_ui_network_guid_.clear();
92 current_ui_config_ = UIProxyConfig(); 92 current_ui_config_ = UIProxyConfig();
93 return; 93 return;
94 } 94 }
95 95
96 DetermineEffectiveConfig(*network); 96 DetermineEffectiveConfig(*network);
97 VLOG(1) << "Current ui network: " << network->name() << ", " 97 VLOG(1) << "Current ui network: " << network->name() << ", "
98 << ModeToString(current_ui_config_.mode) << ", " 98 << ModeToString(current_ui_config_.mode) << ", "
99 << ProxyPrefs::ConfigStateToDebugString(current_ui_config_.state) 99 << ProxyPrefs::ConfigStateToDebugString(current_ui_config_.state)
100 << ", modifiable:" << current_ui_config_.user_modifiable; 100 << ", modifiable:" << current_ui_config_.user_modifiable;
101 } 101 }
102 102
103 void UIProxyConfigService::GetProxyConfig(UIProxyConfig* config) const { 103 void UIProxyConfigService::GetProxyConfig(UIProxyConfig* config) const {
104 *config = current_ui_config_; 104 *config = current_ui_config_;
105 } 105 }
106 106
107 void UIProxyConfigService::SetProxyConfig(const UIProxyConfig& config) { 107 void UIProxyConfigService::SetProxyConfig(const UIProxyConfig& config) {
108 current_ui_config_ = config; 108 current_ui_config_ = config;
109 if (current_ui_network_.empty()) 109 if (current_ui_network_guid_.empty())
110 return; 110 return;
111 111
112 const NetworkState* network = 112 const NetworkState* network =
113 NetworkHandler::Get() 113 NetworkHandler::Get()->network_state_handler()->GetNetworkStateFromGuid(
114 ->network_state_handler() 114 current_ui_network_guid_);
115 ->GetNetworkStateFromServicePath(current_ui_network_, 115 if (!network || !network->IsInProfile()) {
116 true /* configured_only */); 116 NET_LOG(ERROR) << "No configured NetworkState for guid: "
117 if (!network) { 117 << current_ui_network_guid_;
118 LOG(ERROR) << "Couldn't find NetworkState for network "
119 << current_ui_network_;
120 return; 118 return;
121 } 119 }
122 120
123 // Store config for this network. 121 // Store config for this network.
124 scoped_ptr<base::DictionaryValue> proxy_config_value( 122 scoped_ptr<base::DictionaryValue> proxy_config_value(
125 config.ToPrefProxyConfig()); 123 config.ToPrefProxyConfig());
126 ProxyConfigDictionary proxy_config_dict(proxy_config_value.get()); 124 ProxyConfigDictionary proxy_config_dict(proxy_config_value.get());
127 125
128 VLOG(1) << "Set proxy for " << current_ui_network_ 126 VLOG(1) << "Set proxy for " << current_ui_network_guid_
129 << " to " << *proxy_config_value; 127 << " to " << *proxy_config_value;
130 128
131 proxy_config::SetProxyConfigForNetwork(proxy_config_dict, *network); 129 proxy_config::SetProxyConfigForNetwork(proxy_config_dict, *network);
132 current_ui_config_.state = ProxyPrefs::CONFIG_SYSTEM; 130 current_ui_config_.state = ProxyPrefs::CONFIG_SYSTEM;
133 } 131 }
134 132
135 void UIProxyConfigService::DetermineEffectiveConfig( 133 void UIProxyConfigService::DetermineEffectiveConfig(
136 const NetworkState& network) { 134 const NetworkState& network) {
137 DCHECK(local_state_prefs_); 135 DCHECK(local_state_prefs_);
138 136
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 } else if (!IsNetworkProxySettingsEditable(onc_source)) { 175 } else if (!IsNetworkProxySettingsEditable(onc_source)) {
178 current_ui_config_.state = ProxyPrefs::CONFIG_POLICY; 176 current_ui_config_.state = ProxyPrefs::CONFIG_POLICY;
179 current_ui_config_.user_modifiable = false; 177 current_ui_config_.user_modifiable = false;
180 } else { 178 } else {
181 current_ui_config_.user_modifiable = !ProxyConfigServiceImpl::IgnoreProxy( 179 current_ui_config_.user_modifiable = !ProxyConfigServiceImpl::IgnoreProxy(
182 profile_prefs_, network.profile_path(), onc_source); 180 profile_prefs_, network.profile_path(), onc_source);
183 } 181 }
184 } 182 }
185 183
186 } // namespace chromeos 184 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698