File: nsIOpenWindowInfo.idl

package info (click to toggle)
firefox 148.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,719,656 kB
  • sloc: cpp: 7,618,171; javascript: 6,701,506; ansic: 3,781,787; python: 1,418,364; xml: 638,647; asm: 438,962; java: 186,285; sh: 62,885; makefile: 19,010; objc: 13,092; perl: 12,763; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (144 lines) | stat: -rw-r--r-- 4,743 bytes parent folder | download
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/* -*- 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 "nsILoadInfo.idl"
#include "nsISupports.idl"

webidl BrowsingContext;

interface nsIPrincipal;
interface nsIPolicyContainer;
interface nsIURI;

%{ 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);
[ref] native MaybeCOEPRef(const mozilla::Maybe<nsILoadInfo::CrossOriginEmbedderPolicy>);

/*
 * 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;

  /**
   * The principal to inherit into the initial about:blank.
   */
  [notxpcom, nostdcall, binaryname(PrincipalToInheritForAboutBlank)]
  nsIPrincipal binaryGetPrincipalToInheritForAboutBlank();

  /**
   * The partitioned principal to inherit into the initial about:blank.
   */
  [notxpcom, nostdcall, binaryname(PartitionedPrincipalToInheritForAboutBlank)]
  nsIPrincipal binaryGetPartitionedPrincipalToInheritForAboutBlank();

  /**
   * The base URI to inherit into the initial about:blank.
   */
  [notxpcom, nostdcall, binaryname(BaseUriToInheritForAboutBlank)]
  nsIURI binaryGetBaseUriToInheritForAboutBlank();

  /**
   * The CSP to inherit into the initial about:blank.
   */
  [notxpcom, nostdcall, binaryname(PolicyContainerToInheritForAboutBlank)]
  nsIPolicyContainer binaryGetPolicyContainerToInheritForAboutBlank();

  /**
   * The COEP to inherit into the initial about:blank.
   */
  [notxpcom, nostdcall, binaryname(CoepToInheritForAboutBlank)]
  MaybeCOEPRef binaryGetCoepToInheritForAboutBlank();

  /** 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();

  /**
   * Clone this open window info and update the princpals to be inherited by the
   * initial about:blank document.
   */
  nsIOpenWindowInfo cloneWithPrincipals(in nsIPrincipal aPrincipal, in nsIPrincipal aPartitionedPrincipal);
};