blob: bbd4ff455136c830f313388051e8519594c31d71 [file] [log] [blame]
sammcd9fddbc2014-10-28 01:07:001// 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.
4
5define('keep_alive', [
ben55d10efd2016-08-02 20:46:316 'content/public/renderer/frame_interfaces',
sammcd9fddbc2014-10-28 01:07:007 'extensions/common/mojo/keep_alive.mojom',
jamesr60a7dbf2014-11-07 01:24:518 'mojo/public/js/core',
ben55d10efd2016-08-02 20:46:319], function(frameInterfaces, mojom, core) {
sammcd9fddbc2014-10-28 01:07:0010
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 */
ben55d10efd2016-08-02 20:46:3122 this.handle_ = frameInterfaces.getInterface(mojom.KeepAlive.name);
sammcd9fddbc2014-10-28 01:07:0023 }
24
25 /**
26 * Removes this keep-alive.
27 */
28 KeepAlive.prototype.close = function() {
29 core.close(this.handle_);
30 };
31
32 var exports = {};
33
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});