Index: extensions/browser/api/vpn_provider/vpn_provider_api.cc |
diff --git a/extensions/browser/api/vpn_provider/vpn_provider_api.cc b/extensions/browser/api/vpn_provider/vpn_provider_api.cc |
index 194631c6a9d6920211636287db4e4506ba49c8fb..24b7f0e324eec2654196962cafbb96a4702889b1 100644 |
--- a/extensions/browser/api/vpn_provider/vpn_provider_api.cc |
+++ b/extensions/browser/api/vpn_provider/vpn_provider_api.cc |
@@ -150,6 +150,11 @@ void VpnThreadExtensionFunction::SignalCallCompletionSuccess() { |
Respond(NoArguments()); |
} |
+void VpnThreadExtensionFunction::SignalCallCompletionSuccessWithId( |
+ const std::string& configuration_id) { |
+ Respond(OneArgument(new base::StringValue(configuration_id))); |
+} |
+ |
void VpnThreadExtensionFunction::SignalCallCompletionFailure( |
const std::string& error_name, |
const std::string& error_message) { |
@@ -178,10 +183,13 @@ ExtensionFunction::ResponseAction VpnProviderCreateConfigFunction::Run() { |
return RespondNow(Error("Invalid profile.")); |
} |
+ // Use the configuration name as ID. In the future, a different ID scheme may |
+ // be used, requiring a mapping between the two. |
service->CreateConfiguration( |
extension_id(), extension()->name(), params->name, |
- base::Bind(&VpnProviderCreateConfigFunction::SignalCallCompletionSuccess, |
- this), |
+ base::Bind( |
+ &VpnProviderCreateConfigFunction::SignalCallCompletionSuccessWithId, |
+ this, params->name), |
base::Bind(&VpnProviderNotifyConnectionStateChangedFunction:: |
SignalCallCompletionFailure, |
this)); |
@@ -206,7 +214,7 @@ ExtensionFunction::ResponseAction VpnProviderDestroyConfigFunction::Run() { |
} |
service->DestroyConfiguration( |
- extension_id(), params->name, |
+ extension_id(), params->id, |
base::Bind(&VpnProviderDestroyConfigFunction::SignalCallCompletionSuccess, |
this), |
base::Bind(&VpnProviderNotifyConnectionStateChangedFunction:: |