mirror of
https://github.com/roytam1/UXP.git
synced 2026-06-25 09:48:44 +00:00
7b6e3a2d4a
This removes a lot of the plumbing for having the platform embed itself through IPC which was required for B2G running the browser as both shell and browser application.
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; 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 "nsIDOMMozBrowserFrame.idl"
|
|
|
|
interface nsITabParent;
|
|
|
|
[scriptable, builtinclass, uuid(0c0a862c-1a47-43c0-ae9e-d51835e3e1a6)]
|
|
interface nsIMozBrowserFrame : nsIDOMMozBrowserFrame
|
|
{
|
|
/**
|
|
* Gets whether this frame really is a browser frame.
|
|
*
|
|
* In order to really be a browser frame, this frame's
|
|
* nsIDOMMozBrowserFrame::mozbrowser attribute must be true, and the frame
|
|
* may have to pass various security checks.
|
|
*/
|
|
[infallible] readonly attribute boolean reallyIsBrowser;
|
|
|
|
/**
|
|
* Normally, a frame tries to create its frame loader when its src is
|
|
* modified, or its contentWindow is accessed.
|
|
*
|
|
* disallowCreateFrameLoader prevents the frame element from creating its
|
|
* frame loader (in the same way that not being inside a document prevents the
|
|
* creation of a frame loader). allowCreateFrameLoader lifts this restriction.
|
|
*
|
|
* These methods are not re-entrant -- it is an error to call
|
|
* disallowCreateFrameLoader twice without first calling allowFrameLoader.
|
|
*
|
|
* It's also an error to call either method if we already have a frame loader.
|
|
*/
|
|
void disallowCreateFrameLoader();
|
|
void allowCreateFrameLoader();
|
|
|
|
/**
|
|
* Create a remote (i.e., out-of-process) frame loader attached to the given
|
|
* tab parent.
|
|
*
|
|
* It is an error to call this method if we already have a frame loader.
|
|
*/
|
|
void createRemoteFrameLoader(in nsITabParent aTabParent);
|
|
|
|
/**
|
|
* Initialize the API, and add frame message listener that supports API
|
|
* invocations.
|
|
*/
|
|
[noscript] void initializeBrowserAPI();
|
|
|
|
/**
|
|
* Notify frame scripts that support the API to destroy.
|
|
*/
|
|
[noscript] void destroyBrowserFrameScripts();
|
|
};
|