Index: chromeos/network/favorite_state.cc |
diff --git a/chromeos/network/favorite_state.cc b/chromeos/network/favorite_state.cc |
index 002ff4f463a7d1b7a72bd09b0d5abd5a431b07c5..65b26b391ce020ec8f156828d5e04ba28d7a8607 100644 |
--- a/chromeos/network/favorite_state.cc |
+++ b/chromeos/network/favorite_state.cc |
@@ -63,6 +63,8 @@ bool FavoriteState::PropertyChanged(const std::string& key, |
NET_LOG_ERROR("Failed to parse " + key, path()); |
} |
return true; |
+ } else if (key == shill::kSecurityProperty) { |
+ return GetStringValue(key, value, &security_); |
} |
return false; |
} |
@@ -79,8 +81,25 @@ void FavoriteState::GetStateProperties( |
ui_data_.GetONCSourceAsString()); |
} |
-bool FavoriteState::IsFavorite() const { |
- // kTypeEthernetEap is always a favorite. We need this check because it does |
+std::string FavoriteState::GetSpecifier() const { |
+ if (!update_received()) { |
+ NET_LOG_ERROR("GetSpecifier called before update", path()); |
+ return std::string(); |
+ } |
+ if (type() == shill::kTypeWifi) |
+ return name() + "_" + security_; |
+ if (!name().empty()) |
+ return name(); |
+ return type(); // For unnamed networks such as ethernet. |
+} |
+ |
+void FavoriteState::SetGuid(const std::string& guid) { |
+ DCHECK(guid_.empty()); |
+ guid_ = guid; |
+} |
+ |
+bool FavoriteState::IsInProfile() const { |
+ // kTypeEthernetEap is always saved. We need this check because it does |
// not show up in the visible list, but its properties may not be available |
// when it first shows up in ServiceCompleteList. See crbug.com/355117. |
return !profile_path_.empty() || type() == shill::kTypeEthernetEap; |