Add the ability to code generated prepopulated static nested structs
[chromium-blink-merge.git] / extensions / renderer / resources / keep_alive.js
blobaa5f6a0c1f8f2d0294a0edc7c971efdd84fa6a2c
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 define('keep_alive', [
6     'content/public/renderer/service_provider',
7     'extensions/common/mojo/keep_alive.mojom',
8     'mojo/public/js/core',
9 ], function(serviceProvider, mojom, core) {
11   /**
12    * An object that keeps the background page alive until closed.
13    * @constructor
14    * @alias module:keep_alive~KeepAlive
15    */
16   function KeepAlive() {
17     /**
18      * The handle to the keep-alive object in the browser.
19      * @type {!MojoHandle}
20      * @private
21      */
22     this.handle_ = serviceProvider.connectToService(mojom.KeepAlive.name);
23   }
25   /**
26    * Removes this keep-alive.
27    */
28   KeepAlive.prototype.close = function() {
29     core.close(this.handle_);
30   };
32   var exports = {};
34   return {
35     /**
36      * Creates a keep-alive.
37      * @return {!module:keep_alive~KeepAlive} A new keep-alive.
38      */
39     createKeepAlive: function() { return new KeepAlive(); }
40   };
41 });