dom/interfaces/html/nsIMozBrowserFrame.idl

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/interfaces/html/nsIMozBrowserFrame.idl	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,74 @@
     1.4 +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     1.5 +/* vim:set tw=80 expandtab softtabstop=2 ts=2 sw=2: */
     1.6 +
     1.7 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.8 + * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     1.9 + * You can obtain one at http://mozilla.org/MPL/2.0/. */
    1.10 +
    1.11 +#include "nsIDOMMozBrowserFrame.idl"
    1.12 +
    1.13 +interface nsITabParent;
    1.14 +
    1.15 +[scriptable, builtinclass, uuid(929AED00-3E15-49B7-8CA2-75003715B7E7)]
    1.16 +interface nsIMozBrowserFrame : nsIDOMMozBrowserFrame
    1.17 +{
    1.18 +  /**
    1.19 +   * Gets whether this frame really is a browser or app frame.
    1.20 +   *
    1.21 +   * In order to really be a browser frame, this frame's
    1.22 +   * nsIDOMMozBrowserFrame::mozbrowser attribute must be true, and the frame
    1.23 +   * may have to pass various security checks.
    1.24 +   */
    1.25 +  [infallible] readonly attribute boolean reallyIsBrowserOrApp;
    1.26 +
    1.27 +  /**
    1.28 +   * Gets whether this frame really is an app frame.
    1.29 +   *
    1.30 +   * In order to really be an app frame, this frame must really be a browser
    1.31 +   * frame (this requirement will go away eventually), and the frame's mozapp
    1.32 +   * attribute must point to the manifest of a valid app.
    1.33 +   */
    1.34 +  [infallible] readonly attribute boolean reallyIsApp;
    1.35 +
    1.36 +  /**
    1.37 +   * This corresponds to the expecting-system-message attribute, which tells us
    1.38 +   * whether we should expect that this frame will receive a system message once
    1.39 +   * it starts up.
    1.40 +   *
    1.41 +   * It's the embedder's job to set this attribute on a frame.  Its presence
    1.42 +   * might cause us to increase the priority of the frame's process.
    1.43 +   */
    1.44 +  [infallible] readonly attribute boolean isExpectingSystemMessage;
    1.45 +
    1.46 +  /**
    1.47 +   * Gets this frame's app manifest URL, if the frame really is an app frame.
    1.48 +   * Otherwise, returns the empty string.
    1.49 +   *
    1.50 +   * This method is guaranteed not to fail.
    1.51 +   */
    1.52 +  readonly attribute AString appManifestURL;
    1.53 +
    1.54 +  /**
    1.55 +   * Normally, a frame tries to create its frame loader when its src is
    1.56 +   * modified, or its contentWindow is accessed.
    1.57 +   *
    1.58 +   * disallowCreateFrameLoader prevents the frame element from creating its
    1.59 +   * frame loader (in the same way that not being inside a document prevents the
    1.60 +   * creation of a frame loader).  allowCreateFrameLoader lifts this restriction.
    1.61 +   *
    1.62 +   * These methods are not re-entrant -- it is an error to call
    1.63 +   * disallowCreateFrameLoader twice without first calling allowFrameLoader.
    1.64 +   *
    1.65 +   * It's also an error to call either method if we already have a frame loader.
    1.66 +   */
    1.67 +  void disallowCreateFrameLoader();
    1.68 +  void allowCreateFrameLoader();
    1.69 +
    1.70 +  /**
    1.71 +   * Create a remote (i.e., out-of-process) frame loader attached to the given
    1.72 +   * tab parent.
    1.73 +   *
    1.74 +   * It is an error to call this method if we already have a frame loader.
    1.75 +   */
    1.76 +  void createRemoteFrameLoader(in nsITabParent aTabParent);
    1.77 +};

mercurial