blob: 281e851737394cc0a7ae276075d38917a6a70af3 [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', [
6 'content/public/renderer/service_provider',
7 'extensions/common/mojo/keep_alive.mojom',
8 'mojo/public/js/bindings/core',
9], function(serviceProvider, mojom, core) {
10
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 }
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});