| 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::
|
|
|