// 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.

if ((typeof mojo === 'undefined') || !mojo.bindingsLibraryInitialized) {
  loadScript('mojo_bindings');
}
loadScript('extensions/common/mojo/keep_alive.mojom');

/**
 * An object that keeps the background page alive until closed.
 * @constructor
 * @alias module:keep_alive~KeepAlive
 */
function KeepAlive() {
  var pipe = Mojo.createMessagePipe();
  /**
   * The handle to the keep-alive object in the browser.
   * @type {!MojoHandle}
   * @private
   */
  this.handle_ = pipe.handle0;
  Mojo.bindInterface(extensions.KeepAlive.name, pipe.handle1);
}

/**
 * Removes this keep-alive.
 */
KeepAlive.prototype.close = function() {
  this.handle_.close();
};

/**
 * Creates a keep-alive.
 * @return {!module:keep_alive~KeepAlive} A new keep-alive.
 */
exports.$set('createKeepAlive', function() { return new KeepAlive(); });