Chromium Code Reviews| Index: chromeos/dbus/shill_service_client_stub.cc |
| diff --git a/chromeos/dbus/shill_service_client_stub.cc b/chromeos/dbus/shill_service_client_stub.cc |
| index db59bf31f6368e949d0afa2995b4471250c69605..257d4bbbc918923e8dd23a8d35b058fd5e2b24b5 100644 |
| --- a/chromeos/dbus/shill_service_client_stub.cc |
| +++ b/chromeos/dbus/shill_service_client_stub.cc |
| @@ -366,12 +366,28 @@ bool ShillServiceClientStub::SetServiceProperty(const std::string& service_path, |
| MoveServiceToIndex(service_path, 0, true); |
| } |
| } |
| - dict->SetWithoutPathExpansion(property, value.DeepCopy()); |
| + base::DictionaryValue new_properties; |
| + std::string changed_property; |
| + if (property == flimflam::kOpenVPNCaCertNSSProperty || |
| + property == flimflam::kOpenVPNCaCertNSSProperty) { |
|
stevenjb
2013/07/29 17:53:03
Same property twice? I assume one should be kL2tpI
pneubeck (no reviews)
2013/08/05 08:51:22
Done.
|
| + // These properties are only nested within the Provider dictionary if read |
| + // from Shill. |
| + base::DictionaryValue* provider = new base::DictionaryValue; |
| + provider->SetWithoutPathExpansion(property, value.DeepCopy()); |
| + new_properties.SetWithoutPathExpansion(flimflam::kProviderProperty, |
| + provider); |
| + changed_property = flimflam::kProviderProperty; |
| + } else { |
| + new_properties.SetWithoutPathExpansion(property, value.DeepCopy()); |
| + changed_property = property; |
| + } |
| + |
| + dict->MergeDictionary(&new_properties); |
| base::MessageLoop::current()->PostTask( |
| FROM_HERE, |
| base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, |
| weak_ptr_factory_.GetWeakPtr(), |
| - dbus::ObjectPath(service_path), property)); |
| + dbus::ObjectPath(service_path), changed_property)); |
| return true; |
| } |