Source code
Revision control
Copy as Markdown
Other Tools
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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
#include "nsISupports.idl"
webidl BrowsingContext;
%{ C++
namespace mozilla {
class OriginAttributes;
namespace dom {
class BrowserParent;
} // namespace dom
} // namespace mozilla
%}
[ref] native const_OriginAttributes(const mozilla::OriginAttributes);
[ptr] native BrowserParent(mozilla::dom::BrowserParent);
/*
* nsIBrowsingContextReadyCallback.browsingContextReady() is called within
* nsFrameLoader to indicate that the browsing context for a newly opened
* window/tab is ready.
*/
[uuid(0524ee06-7f4c-4cd3-ab80-084562745cad)]
interface nsIBrowsingContextReadyCallback : nsISupports
{
void browsingContextReady(in BrowsingContext bc);
};
/**
* nsIOpenWindowInfo is a helper type which contains details used when opening
* new content windows. This object is used to correctly create new initial
* content documents when creating a new window.
*/
[scriptable, builtinclass, uuid(30359edb-126c-4f65-ae80-07fb158697f9)]
interface nsIOpenWindowInfo : nsISupports {
/** BrowsingContext which requested the creation of this new window */
[infallible]
readonly attribute BrowsingContext parent;
/** If `true`, the content document should be created initially-remote */
[infallible]
readonly attribute boolean isRemote;
/** Should |opener| be set on the newly-created content window? */
[infallible]
readonly attribute boolean forceNoOpener;
/** Whether this is a window opened for printing */
[infallible]
readonly attribute boolean isForPrinting;
/**
* Whether this is a window opened for window.print().
* When this is true, isForPrinting is necessarily true as well.
*/
[infallible]
readonly attribute boolean isForWindowDotPrint;
/** Whether this new window creation was prompted by web content */
[infallible]
readonly attribute boolean isTopLevelCreatedByWebContent;
/**
* Whether there is a user gesture activation for the document
* opened in the window.
*/
[infallible]
readonly attribute boolean hasValidUserGestureActivation;
/**
* Whether there is a text directive user activation for the document
* opened in the window. If true, the first text directive may be scrolled
* into view.
*/
[infallible]
readonly attribute boolean textDirectiveUserActivation;
/** BrowserParent instance to use in the new window */
[notxpcom, nostdcall]
BrowserParent getNextRemoteBrowser();
/** Origin Attributes for the to-be-created toplevel BrowsingContext */
[implicit_jscontext, binaryname(ScriptableOriginAttributes)]
readonly attribute jsval originAttributes;
[notxpcom, nostdcall, binaryname(GetOriginAttributes)]
const_OriginAttributes binaryGetOriginAttributes();
/* Callback to invoke when the browsing context for a new window is ready. */
[notxpcom, nostdcall]
nsIBrowsingContextReadyCallback browsingContextReadyCallback();
/**
* When creating a window fails, we will be called to notify an error via
* callback. If no callback, do nothing.
*/
void cancel();
};