Index: extensions/renderer/resources/keep_alive.js |
diff --git a/extensions/renderer/resources/keep_alive.js b/extensions/renderer/resources/keep_alive.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..281e851737394cc0a7ae276075d38917a6a70af3 |
--- /dev/null |
+++ b/extensions/renderer/resources/keep_alive.js |
@@ -0,0 +1,41 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+define('keep_alive', [ |
+ 'content/public/renderer/service_provider', |
+ 'extensions/common/mojo/keep_alive.mojom', |
+ 'mojo/public/js/bindings/core', |
+], function(serviceProvider, mojom, core) { |
+ |
+ /** |
+ * An object that keeps the background page alive until closed. |
+ * @constructor |
+ * @alias module:keep_alive~KeepAlive |
+ */ |
+ function KeepAlive() { |
+ /** |
+ * The handle to the keep-alive object in the browser. |
+ * @type {!MojoHandle} |
+ * @private |
+ */ |
+ this.handle_ = serviceProvider.connectToService(mojom.KeepAlive.name); |
+ } |
+ |
+ /** |
+ * Removes this keep-alive. |
+ */ |
+ KeepAlive.prototype.close = function() { |
+ core.close(this.handle_); |
+ }; |
+ |
+ var exports = {}; |
+ |
+ return { |
+ /** |
+ * Creates a keep-alive. |
+ * @return {!module:keep_alive~KeepAlive} A new keep-alive. |
+ */ |
+ createKeepAlive: function() { return new KeepAlive(); } |
+ }; |
+}); |