typedef USVString CSSOMString;
[
CheckSecurity,
CustomDefineOwnProperty,
CustomDeleteProperty,
CustomGetOwnPropertyNames,
CustomGetOwnPropertySlot,
CustomGetPrototype,
CustomPreventExtensions,
CustomProxyToJSObject,
CustomPut,
CustomToStringName,
ExportMacro=WEBCORE_EXPORT,
ImplicitThis,
InterfaceName=Window,
IsImmutablePrototypeExoticObject,
IsImmutablePrototypeExoticObjectOnPrototype,
JSCustomMarkFunction,
JSCustomToNativeObject,
JSLegacyParent=JSDOMWindowBase,
LegacyUnenumerableNamedProperties,
PrimaryGlobal,
] interface DOMWindow : EventTarget {
[DoNotCheckSecurity, Unforgeable] readonly attribute DOMWindow window;
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow self;
[Unforgeable] readonly attribute Document document;
attribute DOMString name;
[DoNotCheckSecurity, PutForwards=href, Unforgeable] readonly attribute Location? location; readonly attribute History history;
[EnabledAtRuntime=CustomElements, ImplementedAs=ensureCustomElementRegistry] readonly attribute CustomElementRegistry customElements;
[Replaceable] readonly attribute BarProp locationbar;
[Replaceable] readonly attribute BarProp menubar;
[Replaceable] readonly attribute BarProp personalbar;
[Replaceable] readonly attribute BarProp scrollbars;
[Replaceable] readonly attribute BarProp statusbar;
[Replaceable] readonly attribute BarProp toolbar;
attribute DOMString status;
[DoNotCheckSecurity, CallWith=IncumbentDocument, ForwardDeclareInHeader] void close();
[DoNotCheckSecurity, ForwardDeclareInHeader] readonly attribute boolean closed;
void stop();
[DoNotCheckSecurity, CallWith=IncumbentWindow, ForwardDeclareInHeader] void focus();
[DoNotCheckSecurity, ForwardDeclareInHeader] void blur();
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow frames;
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute unsigned long length;
[DoNotCheckSecurityOnGetter, Unforgeable] readonly attribute DOMWindow? top;
[DoNotCheckSecurityOnGetter, CustomSetter] attribute DOMWindow? opener;
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow? parent;
[CheckSecurityForNode] readonly attribute Element? frameElement;
[CallWith=ActiveWindow&FirstWindow] DOMWindow? open(optional USVString url = "about:blank", optional DOMString target = "_blank", optional [TreatNullAs=EmptyString] DOMString features = "");
readonly attribute Navigator navigator;
readonly attribute DOMApplicationCache applicationCache;
void alert();
void alert(DOMString message);
boolean confirm(optional DOMString message = "");
DOMString? prompt(optional DOMString message = "", optional DOMString defaultValue = "");
void print();
long requestAnimationFrame(RequestAnimationFrameCallback callback); void cancelAnimationFrame(long handle);
[CallWith=ScriptState&IncumbentWindow, DoNotCheckSecurity, ForwardDeclareInHeader, MayThrowException] void postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
void captureEvents(); void releaseEvents();
readonly attribute Storage sessionStorage;
readonly attribute Storage localStorage;
[NewObject] CSSStyleDeclaration getComputedStyle(Element element, optional CSSOMString? pseudoElement = null);
[NewObject] MediaQueryList matchMedia(CSSOMString query);
[Replaceable] readonly attribute Screen screen;
void moveTo(optional unrestricted float x = NaN, optional unrestricted float y = NaN); void moveBy(optional unrestricted float x = NaN, optional unrestricted float y = NaN); void resizeTo(optional unrestricted float width = NaN, optional unrestricted float height = NaN); void resizeBy(optional unrestricted float x = NaN, optional unrestricted float y = NaN);
[Replaceable] readonly attribute long innerHeight;
[Replaceable] readonly attribute long innerWidth;
[Replaceable] readonly attribute double scrollX;
[Replaceable, ImplementedAs=scrollX] readonly attribute double pageXOffset;
[Replaceable] readonly attribute double scrollY;
[Replaceable, ImplementedAs=scrollY] readonly attribute double pageYOffset;
[ImplementedAs=scrollTo] void scroll(optional ScrollToOptions options);
[ImplementedAs=scrollTo] void scroll(unrestricted double x, unrestricted double y);
void scrollTo(optional ScrollToOptions options);
void scrollTo(unrestricted double x, unrestricted double y);
void scrollBy(optional ScrollToOptions option);
void scrollBy(unrestricted double x, unrestricted double y);
[EnabledBySetting=VisualViewportAPI, Replaceable] readonly attribute VisualViewport visualViewport;
[Replaceable] readonly attribute long screenX;
[Replaceable] readonly attribute long screenY;
[Replaceable] readonly attribute long outerWidth;
[Replaceable] readonly attribute long outerHeight;
[Replaceable] readonly attribute double devicePixelRatio;
DOMSelection? getSelection();
[Conditional=ORIENTATION_EVENTS] readonly attribute long orientation;
[Replaceable, CustomGetter] readonly attribute Event event;
attribute DOMString defaultStatus;
[ImplementedAs=defaultStatus] attribute DOMString defaultstatus; boolean find(optional DOMString string = "undefined", optional boolean caseSensitive = false, optional boolean backwards = false, optional boolean wrap = false, optional boolean wholeWord = false, optional boolean searchInFrames = false, optional boolean showDialog = false); [Replaceable] readonly attribute boolean offscreenBuffering;
[Replaceable] readonly attribute long screenLeft;
[Replaceable] readonly attribute long screenTop;
long webkitRequestAnimationFrame(RequestAnimationFrameCallback callback);
[ImplementedAs=cancelAnimationFrame] void webkitCancelAnimationFrame(long id);
[ImplementedAs=cancelAnimationFrame] void webkitCancelRequestAnimationFrame(long id);
[Replaceable] readonly attribute Navigator clientInformation;
readonly attribute StyleMedia styleMedia;
CSSRuleList getMatchedCSSRules(optional Element? element = null, optional DOMString? pseudoElement = null);
[Custom] any showModalDialog(DOMString url, optional any dialogArgs, optional DOMString featureArgs);
WebKitPoint webkitConvertPointFromPageToNode(optional Node? node = null, optional WebKitPoint? p = null);
WebKitPoint webkitConvertPointFromNodeToPage(optional Node? node = null, optional WebKitPoint? p = null);
[MayThrowException, EnabledForWorld=shadowRootIsAlwaysOpen] NodeList collectMatchingElementsInFlatTree(Node scope, DOMString selectors);
[MayThrowException, EnabledForWorld=shadowRootIsAlwaysOpen] Element? matchingElementInFlatTree(Node scope, DOMString selectors);
[NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturechange;
[NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongestureend;
[NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart;
[NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondevicemotion;
[NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondeviceorientation;
[NotEnumerable, ImplementedAs=onwebkitAnimationEnd] attribute EventHandler onwebkitanimationend;
[NotEnumerable, ImplementedAs=onwebkitAnimationIteration] attribute EventHandler onwebkitanimationiteration;
[NotEnumerable, ImplementedAs=onwebkitAnimationStart] attribute EventHandler onwebkitanimationstart;
[NotEnumerable, ImplementedAs=onwebkitTransitionEnd] attribute EventHandler onwebkittransitionend;
};
DOMWindow implements GlobalCrypto;
DOMWindow implements GlobalEventHandlers;
DOMWindow implements GlobalPerformance;
DOMWindow implements WindowEventHandlers;
DOMWindow implements WindowOrWorkerGlobalScope;