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

Unified Diff: chromeos/network/network_state.cc

Issue 14846004: Migrate ProxyConfigServiceImpl to NetworkStateHandler and NetworkProfileHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 6 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
« no previous file with comments | « chromeos/network/network_state.h ('k') | net/proxy/proxy_config.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/network/network_state.cc
diff --git a/chromeos/network/network_state.cc b/chromeos/network/network_state.cc
index 1d916ee8ed7f17f0592aa0a4ef5b1f21fb9b3e12..e0ac1961b877d4d399b83c11b57673ed01993264 100644
--- a/chromeos/network/network_state.cc
+++ b/chromeos/network/network_state.cc
@@ -11,6 +11,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "chromeos/network/network_event_log.h"
+#include "chromeos/network/network_ui_data.h"
#include "chromeos/network/onc/onc_utils.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
@@ -56,6 +57,7 @@ NetworkState::NetworkState(const std::string& path)
auto_connect_(false),
favorite_(false),
priority_(0),
+ onc_source_(onc::ONC_SOURCE_NONE),
signal_strength_(0),
connectable_(false),
passphrase_required_(false),
@@ -117,7 +119,7 @@ bool NetworkState::PropertyChanged(const std::string& key,
scoped_ptr<base::DictionaryValue> proxy_config_dict(
onc::ReadDictionaryFromJson(proxy_config_str));
if (proxy_config_dict) {
- // Warning: The DictionaryValue return from
+ // Warning: The DictionaryValue returned from
// ReadDictionaryFromJson/JSONParser is an optimized derived class that
// doesn't allow releasing ownership of nested values. A Swap in the wrong
// order leads to memory access errors.
@@ -126,6 +128,24 @@ bool NetworkState::PropertyChanged(const std::string& key,
LOG(WARNING) << "Failed to parse dictionary value for: " << key;
}
return true;
+ } else if (key == flimflam::kUIDataProperty) {
+ std::string ui_data_str;
+ if (!value.GetAsString(&ui_data_str)) {
+ LOG(WARNING) << "Failed to parse string value for:" << key;
+ return false;
+ }
+
+ onc_source_ = onc::ONC_SOURCE_NONE;
+ if (ui_data_str.empty())
+ return true;
+
+ scoped_ptr<base::DictionaryValue> ui_data_dict(
+ onc::ReadDictionaryFromJson(ui_data_str));
+ if (ui_data_dict)
+ onc_source_ = NetworkUIData(*ui_data_dict).onc_source();
+ else
+ LOG(WARNING) << "Failed to parse dictionary value for: " << key;
+ return true;
} else if (key == flimflam::kNetworkTechnologyProperty) {
return GetStringValue(key, value, &technology_);
} else if (key == flimflam::kDeviceProperty) {
@@ -192,8 +212,8 @@ void NetworkState::GetProperties(base::DictionaryValue* dictionary) const {
favorite_);
dictionary->SetIntegerWithoutPathExpansion(flimflam::kPriorityProperty,
priority_);
- // Proxy config is intentionally omitted: This property is
- // placed in NetworkState to transition proxy configuration from
+ // Proxy config and ONC source are intentionally omitted: These properties are
+ // placed in NetworkState to transition ProxyConfigServiceImpl from
// NetworkLibrary to the new network stack. The networking extension API
// shouldn't depend on this member. Once ManagedNetworkConfigurationHandler
// is used instead of NetworkLibrary, we can remove them again.
« no previous file with comments | « chromeos/network/network_state.h ('k') | net/proxy/proxy_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698