xpfe/appshell/nsIWindowlessBrowser.idl
author Mike Hommey <mh+mozilla@glandium.org>
Fri, 22 Jan 2016 10:02:48 +0900
changeset 316315 e9996f9ea66f064494ac7f91aacefd142cb6babc
parent 315429 917c8d47b1c66e79342d3aa89009b3e0161eca8a
child 485029 cca51f08f1b557a68a7f5a6dcc51b8a8a9b54efb
permissions -rw-r--r--
Bug 1239217 - Make the RecursiveMake build system create backend files generically. r=gps The current rule is only for "backend.RecursiveMakeBackend", but, with the current default of generating both the RecursiveMake and FasterMake backends, the command creates/refreshes both backends. This is, in fact, how the FasterMake backend is refreshed in most cases. Moreover, with an hybrid backends, the generated file is not "backend.RecursiveMakeBackend" anymore, so we need a more generic way to handle this. Furthermore, it's not necessarily desirable for all backends to have a dependency file to handle the dependencies to refresh the backend, so generate a plain list instead. This has the side effect of making `mach build-backend --diff` more readable for changes to that file. Finally, make the backend.* files created like any other backend file, such that its diff appears in the `mach build-backend --diff` output.

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIWebNavigation.idl"

/**
 * This interface represents a nsIWebBrowser instance with no associated OS
 * window. Its main function is to manage the lifetimes of those windows.
 * A strong reference to this object must be held until the window is
 * ready to be destroyed.
 */
[scriptable, uuid(abb46f48-abfc-41bf-aa9a-7feccefcf977)]
interface nsIWindowlessBrowser : nsIWebNavigation
{
  /**
   * "Closes" the windowless browser and destroys its associated nsIWebBrowser
   * and docshell.
   *
   * This method *must* be called for every windowless browser before its last
   * reference is released.
   */
  void close();
};