mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
130 lines
5.7 KiB
Plaintext
130 lines
5.7 KiB
Plaintext
#import <Crypto/Crypto.idl>
|
|
#import <CSS/MediaQueryList.idl>
|
|
#import <CSS/Screen.idl>
|
|
#import <CSS/VisualViewport.idl>
|
|
#import <DOM/Document.idl>
|
|
#import <DOM/EventHandler.idl>
|
|
#import <DOM/EventTarget.idl>
|
|
#import <HighResolutionTime/Performance.idl>
|
|
#import <HTML/AnimationFrameProvider.idl>
|
|
#import <HTML/CustomElements/CustomElementRegistry.idl>
|
|
#import <HTML/History.idl>
|
|
#import <HTML/Navigation.idl>
|
|
#import <HTML/Navigator.idl>
|
|
#import <HTML/WindowLocalStorage.idl>
|
|
#import <HTML/WindowOrWorkerGlobalScope.idl>
|
|
#import <HTML/WindowSessionStorage.idl>
|
|
#import <RequestIdleCallback/IdleRequest.idl>
|
|
|
|
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#window
|
|
[Global=Window, Exposed=Window, LegacyUnenumerableNamedProperties]
|
|
interface Window : EventTarget {
|
|
// the current browsing context
|
|
[LegacyUnforgeable] readonly attribute WindowProxy window;
|
|
[Replaceable] readonly attribute WindowProxy self;
|
|
[LegacyUnforgeable] readonly attribute Document document;
|
|
attribute DOMString name;
|
|
attribute DOMString status;
|
|
[PutForwards=href, LegacyUnforgeable] readonly attribute Location location;
|
|
readonly attribute History history;
|
|
readonly attribute Navigation navigation;
|
|
readonly attribute CustomElementRegistry customElements;
|
|
undefined focus();
|
|
|
|
// other browsing contexts
|
|
[Replaceable] readonly attribute WindowProxy frames;
|
|
[Replaceable] readonly attribute unsigned long length;
|
|
[LegacyUnforgeable] readonly attribute WindowProxy? top;
|
|
[Replaceable] readonly attribute WindowProxy? parent;
|
|
readonly attribute Element? frameElement;
|
|
WindowProxy? open(optional USVString url = "", optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = "");
|
|
|
|
// Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic
|
|
// object on the prototype chain. Indeed, this does not make the global object an exotic object.
|
|
// Indexed access is taken care of by the WindowProxy exotic object.
|
|
getter object (DOMString name);
|
|
|
|
// the user agent
|
|
readonly attribute Navigator navigator;
|
|
[ImplementedAs=navigator] readonly attribute Navigator clientInformation; // legacy alias of .navigator
|
|
|
|
// user prompts
|
|
undefined alert();
|
|
undefined alert(DOMString message);
|
|
boolean confirm(optional DOMString message = "");
|
|
DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
|
|
|
|
undefined postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
|
|
undefined postMessage(any message, optional WindowPostMessageOptions options = {});
|
|
|
|
// https://dom.spec.whatwg.org/#interface-window-extensions
|
|
[Replaceable] readonly attribute (Event or undefined) event; // legacy
|
|
|
|
// https://w3c.github.io/csswg-drafts/cssom/#extensions-to-the-window-interface
|
|
[NewObject] CSSStyleDeclaration getComputedStyle(Element elt, optional CSSOMString? pseudoElt);
|
|
|
|
// https://w3c.github.io/csswg-drafts/cssom-view/#extensions-to-the-window-interface
|
|
[NewObject] MediaQueryList matchMedia(CSSOMString query);
|
|
[SameObject, Replaceable] readonly attribute Screen screen;
|
|
[SameObject, Replaceable] readonly attribute VisualViewport? visualViewport;
|
|
|
|
// viewport
|
|
[Replaceable] readonly attribute long innerWidth;
|
|
[Replaceable] readonly attribute long innerHeight;
|
|
|
|
// viewport scrolling
|
|
[Replaceable] readonly attribute double scrollX;
|
|
[Replaceable, ImplementedAs=scroll_x] readonly attribute double pageXOffset;
|
|
[Replaceable] readonly attribute double scrollY;
|
|
[Replaceable, ImplementedAs=scroll_y] readonly attribute double pageYOffset;
|
|
undefined scroll(optional ScrollToOptions options = {});
|
|
undefined scroll(unrestricted double x, unrestricted double y);
|
|
[ImplementedAs=scroll] undefined scrollTo(optional ScrollToOptions options = {});
|
|
[ImplementedAs=scroll] undefined scrollTo(unrestricted double x, unrestricted double y);
|
|
undefined scrollBy(optional ScrollToOptions options = {});
|
|
undefined scrollBy(unrestricted double x, unrestricted double y);
|
|
|
|
// client
|
|
[Replaceable] readonly attribute long screenX;
|
|
[Replaceable, ImplementedAs=screen_x] readonly attribute long screenLeft;
|
|
[Replaceable] readonly attribute long screenY;
|
|
[Replaceable, ImplementedAs=screen_y] readonly attribute long screenTop;
|
|
[Replaceable] readonly attribute long outerWidth;
|
|
[Replaceable] readonly attribute long outerHeight;
|
|
[Replaceable] readonly attribute double devicePixelRatio;
|
|
|
|
// https://w3c.github.io/requestidlecallback/#window_extensions
|
|
unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options = {});
|
|
undefined cancelIdleCallback(unsigned long handle);
|
|
|
|
// https://w3c.github.io/selection-api/#extensions-to-window-interface
|
|
Selection? getSelection();
|
|
|
|
// FIXME: Everything from here on should be shared through WindowOrWorkerGlobalScope
|
|
// https://w3c.github.io/hr-time/#the-performance-attribute
|
|
[Replaceable] readonly attribute Performance performance;
|
|
|
|
// https://w3c.github.io/webcrypto/#crypto-interface
|
|
[SameObject] readonly attribute Crypto crypto;
|
|
};
|
|
Window includes AnimationFrameProvider;
|
|
Window includes GlobalEventHandlers;
|
|
Window includes WindowEventHandlers;
|
|
Window includes WindowLocalStorage;
|
|
Window includes WindowSessionStorage;
|
|
Window includes WindowOrWorkerGlobalScope;
|
|
|
|
enum ScrollBehavior { "auto", "instant", "smooth" };
|
|
|
|
dictionary ScrollOptions {
|
|
ScrollBehavior behavior = "auto";
|
|
};
|
|
dictionary ScrollToOptions : ScrollOptions {
|
|
unrestricted double left;
|
|
unrestricted double top;
|
|
};
|
|
|
|
dictionary WindowPostMessageOptions : StructuredSerializeOptions {
|
|
USVString targetOrigin = "/";
|
|
};
|