Merge mozilla-central to autoland on a CLOSED TREE
[gecko.git] / dom / webidl / MozFrameLoaderOwner.webidl
blob6caee18ee2856f9b139e2d078c5f1ee6d042797a
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  */
7 dictionary RemotenessOptions {
8   required UTF8String? remoteType;
10   // Used to resume a given channel load within the target process. If present,
11   // it will be used rather than the `src` & `srcdoc` attributes on the
12   // frameloader to control the load behaviour.
13   unsigned long long pendingSwitchID;
15   // True if we have an existing channel that we will resume in the
16   // target process, either via pendingSwitchID or using messageManager.
17   boolean switchingInProgressLoad = false;
20 /**
21  * A mixin included by elements that are 'browsing context containers'
22  * in HTML5 terms (that is, elements such as iframe that creates a new
23  * browsing context):
24  *
25  * https://html.spec.whatwg.org/#browsing-context-container
26  *
27  * Objects including this mixin must implement nsFrameLoaderOwner in
28  * native C++ code.
29  */
30 interface mixin MozFrameLoaderOwner {
31   [ChromeOnly]
32   readonly attribute FrameLoader? frameLoader;
34   [ChromeOnly]
35   readonly attribute BrowsingContext? browsingContext;
37   [ChromeOnly, Throws]
38   undefined swapFrameLoaders(XULFrameElement aOtherLoaderOwner);
40   [ChromeOnly, Throws]
41   undefined swapFrameLoaders(HTMLIFrameElement aOtherLoaderOwner);
43   [ChromeOnly, Throws]
44   undefined changeRemoteness(RemotenessOptions aOptions);