1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/* -*- 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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#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;
/** 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();
};
|