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

Unified Diff: chromeos/dbus/fake_shill_service_client.cc

Issue 2754903002: Prevent networkingPrivate.forgetNetwork from removing shared configs (Closed)
Patch Set: . Created 3 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 side-by-side diff with in-line comments
Download patch
Index: chromeos/dbus/fake_shill_service_client.cc
diff --git a/chromeos/dbus/fake_shill_service_client.cc b/chromeos/dbus/fake_shill_service_client.cc
index 254f603d469a6d9eb1caa325adec8889aabe57ec..c3b6aa3c64d7e6f673a73eb10baf0a8f5bf60454 100644
--- a/chromeos/dbus/fake_shill_service_client.cc
+++ b/chromeos/dbus/fake_shill_service_client.cc
@@ -262,21 +262,19 @@ void FakeShillServiceClient::CompleteCellularActivation(
void FakeShillServiceClient::GetLoadableProfileEntries(
const dbus::ObjectPath& service_path,
const DictionaryValueCallback& callback) {
- // Provide a dictionary with a single { profile_path, service_path } entry
- // if the Profile property is set, or an empty dictionary.
+ ShillProfileClient::TestInterface* profile_client =
+ DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface();
+ std::vector<std::string> profiles;
+ profile_client->GetProfilePathsContainingService(service_path.value(),
+ &profiles);
+
+ // Provide a dictionary with {profile_path: service_path} entries for
+ // profile_paths that contain the service.
std::unique_ptr<base::DictionaryValue> result_properties(
new base::DictionaryValue);
- base::DictionaryValue* service_properties =
- GetModifiableServiceProperties(service_path.value(), false);
- if (service_properties) {
- std::string profile_path;
- if (service_properties->GetStringWithoutPathExpansion(
- shill::kProfileProperty, &profile_path)) {
- result_properties->SetStringWithoutPathExpansion(
- profile_path, service_path.value());
- }
- } else {
- LOG(WARNING) << "Service not in profile: " << service_path.value();
+ for (const auto& profile : profiles) {
+ result_properties->SetStringWithoutPathExpansion(profile,
+ service_path.value());
}
DBusMethodCallStatus call_status = DBUS_METHOD_CALL_SUCCESS;

Powered by Google App Engine
This is Rietveld 408576698