Index: extensions/renderer/resources/binding.js |
diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js |
index d36f1edf494d4a9b84cd373125ead427a61a03f6..9804b617a4f3fb24a6f0ec26a7adbecd1a57c917 100644 |
--- a/extensions/renderer/resources/binding.js |
+++ b/extensions/renderer/resources/binding.js |
@@ -73,12 +73,19 @@ APIFunctions.prototype.setHandleRequestWithPromise = |
var stack = exceptionHandler.getExtensionStackTrace(); |
var callback = arguments[arguments.length - 1]; |
var args = $Array.slice(arguments, 0, arguments.length - 1); |
+ var keepAlivePromise = requireAsync('keep_alive').then(function(module) { |
+ return module.createKeepAlive(); |
+ }); |
$Function.apply(customizedFunction, this, args).then(function(result) { |
sendRequestHandler.safeCallbackApply( |
name, {'stack': stack}, callback, [result]); |
}).catch(function(error) { |
var message = exceptionHandler.safeErrorToString(error, true); |
lastError.run(name, message, stack, callback); |
+ }).then(function() { |
+ keepAlivePromise.then(function(keepAlive) { |
+ keepAlive.close(); |
+ }); |
}); |
}); |
}; |