1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this IDL file is
7 * http://www.whatwg.org/specs/web-apps/current-work/#the-iframe-element
8 * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
9 * https://wicg.github.io/feature-policy/#policy
10 *
11 * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
12 * Opera Software ASA. You are granted a license to use, reproduce
13 * and create derivative works of this document.
14 */
15
16[Exposed=Window]
17interface HTMLIFrameElement : HTMLElement {
18  [HTMLConstructor] constructor();
19
20  [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows, Pure]
21           attribute DOMString src;
22  [CEReactions, SetterThrows, Pure]
23           attribute DOMString srcdoc;
24  [CEReactions, SetterThrows, Pure]
25           attribute DOMString name;
26  [PutForwards=value] readonly attribute DOMTokenList sandbox;
27           // attribute boolean seamless;
28  [CEReactions, SetterThrows, Pure]
29           attribute boolean allowFullscreen;
30  [CEReactions, SetterThrows, Pure]
31           attribute DOMString width;
32  [CEReactions, SetterThrows, Pure]
33           attribute DOMString height;
34  [CEReactions, SetterThrows, Pure]
35           attribute DOMString referrerPolicy;
36  [NeedsSubjectPrincipal]
37  readonly attribute Document? contentDocument;
38  readonly attribute WindowProxy? contentWindow;
39};
40
41// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
42partial interface HTMLIFrameElement {
43  [CEReactions, SetterThrows, Pure]
44           attribute DOMString align;
45  [CEReactions, SetterThrows, Pure]
46           attribute DOMString scrolling;
47  [CEReactions, SetterThrows, Pure]
48           attribute DOMString frameBorder;
49  [CEReactions, SetterThrows, Pure]
50           attribute DOMString longDesc;
51
52  [CEReactions, SetterThrows, Pure]
53           attribute [LegacyNullToEmptyString] DOMString marginHeight;
54  [CEReactions, SetterThrows, Pure]
55           attribute [LegacyNullToEmptyString] DOMString marginWidth;
56};
57
58partial interface HTMLIFrameElement {
59  // GetSVGDocument
60  [NeedsSubjectPrincipal]
61  Document? getSVGDocument();
62};
63
64HTMLIFrameElement includes MozFrameLoaderOwner;
65
66// https://w3c.github.io/webappsec-feature-policy/#idl-index
67partial interface HTMLIFrameElement {
68  [SameObject, Pref="dom.security.featurePolicy.webidl.enabled"]
69  readonly attribute FeaturePolicy featurePolicy;
70
71  [CEReactions, SetterThrows, Pure]
72           attribute DOMString allow;
73};
74