2018-09-13 23:04:55 +03:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2018-08-29 05:00:00 +03:00
|
|
|
/* 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/. */
|
|
|
|
|
2018-10-18 09:52:30 +03:00
|
|
|
interface nsIDocShell;
|
|
|
|
|
2018-10-21 03:02:53 +03:00
|
|
|
[Exposed=Window, ChromeOnly]
|
2018-08-29 05:00:00 +03:00
|
|
|
interface BrowsingContext {
|
2019-01-30 19:07:21 +03:00
|
|
|
static BrowsingContext? get(unsigned long long aId);
|
|
|
|
|
2019-02-15 12:59:21 +03:00
|
|
|
BrowsingContext? findChildWithName(DOMString name);
|
|
|
|
BrowsingContext? findWithName(DOMString name);
|
|
|
|
|
|
|
|
readonly attribute DOMString name;
|
|
|
|
|
2018-08-29 05:00:00 +03:00
|
|
|
readonly attribute BrowsingContext? parent;
|
|
|
|
|
|
|
|
sequence<BrowsingContext> getChildren();
|
|
|
|
|
2018-10-18 09:52:30 +03:00
|
|
|
readonly attribute nsIDocShell? docShell;
|
|
|
|
|
2018-08-29 05:00:00 +03:00
|
|
|
readonly attribute unsigned long long id;
|
2018-11-09 11:53:53 +03:00
|
|
|
|
|
|
|
readonly attribute BrowsingContext? opener;
|
2019-01-30 19:07:21 +03:00
|
|
|
|
|
|
|
readonly attribute BrowsingContextGroup group;
|
2018-08-29 05:00:00 +03:00
|
|
|
};
|
2018-10-20 02:02:56 +03:00
|
|
|
|
|
|
|
[Exposed=Window, ChromeOnly]
|
2019-01-29 20:32:28 +03:00
|
|
|
interface CanonicalBrowsingContext : BrowsingContext {
|
2018-10-20 02:02:56 +03:00
|
|
|
sequence<WindowGlobalParent> getWindowGlobals();
|
2018-11-27 23:03:05 +03:00
|
|
|
|
|
|
|
readonly attribute WindowGlobalParent? currentWindowGlobal;
|
2019-03-20 06:15:36 +03:00
|
|
|
|
2019-04-08 19:29:08 +03:00
|
|
|
// XXX(nika): This feels kinda hacky, but will do for now while we don't
|
|
|
|
// synchronously create WindowGlobalParent. It can throw if somehow the
|
|
|
|
// content process has died.
|
|
|
|
[Throws]
|
|
|
|
readonly attribute DOMString? currentRemoteType;
|
|
|
|
|
2019-03-20 06:15:36 +03:00
|
|
|
void notifyStartDelayedAutoplayMedia();
|
2018-10-20 02:02:56 +03:00
|
|
|
};
|
2019-01-30 19:07:21 +03:00
|
|
|
|
|
|
|
[Exposed=Window, ChromeOnly]
|
|
|
|
interface BrowsingContextGroup {
|
|
|
|
sequence<BrowsingContext> getToplevels();
|
|
|
|
};
|