From b8afa0abde9da31886a35f867d00a63a9cc69cc8 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Wed, 15 Aug 2018 16:32:06 -0700 Subject: [PATCH] web-sys: Use mixins instead of `[NoInterfaceObject]` interfaces and `implements` I think these might all be from before WebIDL mixins existed. Either way, multiple inheritance of interfaces that don't have exposed interface objects is equivalent to mixins. --- .../webidls/enabled/AbstractWorker.webidl | 4 +- .../webidls/enabled/BrowserElement.webidl | 13 +- .../webidls/enabled/CSSPseudoElement.webidl | 2 +- .../enabled/CanvasRenderingContext2D.webidl | 86 +++++------ .../webidls/enabled/CharacterData.webidl | 4 +- .../web-sys/webidls/enabled/ChildNode.webidl | 6 +- crates/web-sys/webidls/enabled/Crypto.webidl | 4 +- .../webidls/enabled/DOMException.webidl | 11 +- .../web-sys/webidls/enabled/DOMRequest.webidl | 6 +- .../web-sys/webidls/enabled/Document.webidl | 18 +-- .../webidls/enabled/DocumentFragment.webidl | 2 +- .../enabled/DocumentOrShadowRoot.webidl | 3 +- .../webidls/enabled/DocumentType.webidl | 2 +- crates/web-sys/webidls/enabled/Element.webidl | 10 +- .../webidls/enabled/EventHandler.webidl | 15 +- crates/web-sys/webidls/enabled/Fetch.webidl | 4 +- .../webidls/enabled/FontFaceSource.webidl | 4 +- .../webidls/enabled/FrameLoader.webidl | 5 +- .../webidls/enabled/GeometryUtils.webidl | 5 +- .../webidls/enabled/HTMLAnchorElement.webidl | 2 +- .../webidls/enabled/HTMLAreaElement.webidl | 2 +- .../webidls/enabled/HTMLBodyElement.webidl | 2 +- .../webidls/enabled/HTMLElement.webidl | 11 +- .../webidls/enabled/HTMLEmbedElement.webidl | 6 +- .../webidls/enabled/HTMLFrameElement.webidl | 2 +- .../enabled/HTMLFrameSetElement.webidl | 2 +- .../webidls/enabled/HTMLIFrameElement.webidl | 4 +- .../webidls/enabled/HTMLImageElement.webidl | 52 ------- .../webidls/enabled/HTMLInputElement.webidl | 4 +- .../webidls/enabled/HTMLLinkElement.webidl | 2 +- .../webidls/enabled/HTMLObjectElement.webidl | 145 +----------------- .../webidls/enabled/HTMLStyleElement.webidl | 3 +- .../enabled/HTMLTextAreaElement.webidl | 2 +- .../enabled/LegacyQueryInterface.webidl | 31 ---- .../web-sys/webidls/enabled/LinkStyle.webidl | 4 +- .../webidls/enabled/MessagePort.webidl | 2 +- .../web-sys/webidls/enabled/Navigator.webidl | 47 +++--- .../webidls/enabled/OffscreenCanvas.webidl | 2 +- .../web-sys/webidls/enabled/ParentNode.webidl | 3 +- .../enabled/ProcessingInstruction.webidl | 2 +- crates/web-sys/webidls/enabled/Request.webidl | 2 +- .../web-sys/webidls/enabled/Response.webidl | 2 +- .../webidls/enabled/SVGAElement.webidl | 3 +- .../enabled/SVGAnimatedPathData.webidl | 4 +- .../webidls/enabled/SVGAnimatedPoints.webidl | 4 +- .../enabled/SVGAnimationElement.webidl | 3 +- .../web-sys/webidls/enabled/SVGElement.webidl | 8 +- .../webidls/enabled/SVGFEBlendElement.webidl | 2 +- .../enabled/SVGFEColorMatrixElement.webidl | 2 +- .../SVGFEComponentTransferElement.webidl | 2 +- .../enabled/SVGFECompositeElement.webidl | 2 +- .../enabled/SVGFEConvolveMatrixElement.webidl | 2 +- .../SVGFEDiffuseLightingElement.webidl | 2 +- .../SVGFEDisplacementMapElement.webidl | 2 +- .../enabled/SVGFEDropShadowElement.webidl | 2 +- .../webidls/enabled/SVGFEFloodElement.webidl | 2 +- .../enabled/SVGFEGaussianBlurElement.webidl | 2 +- .../webidls/enabled/SVGFEImageElement.webidl | 4 +- .../webidls/enabled/SVGFEMergeElement.webidl | 2 +- .../enabled/SVGFEMorphologyElement.webidl | 2 +- .../webidls/enabled/SVGFEOffsetElement.webidl | 2 +- .../SVGFESpecularLightingElement.webidl | 2 +- .../webidls/enabled/SVGFETileElement.webidl | 2 +- .../enabled/SVGFETurbulenceElement.webidl | 2 +- .../webidls/enabled/SVGFilterElement.webidl | 3 +- ...VGFilterPrimitiveStandardAttributes.webidl | 3 +- .../webidls/enabled/SVGFitToViewBox.webidl | 4 +- .../webidls/enabled/SVGGradientElement.webidl | 2 +- .../webidls/enabled/SVGGraphicsElement.webidl | 2 +- .../webidls/enabled/SVGImageElement.webidl | 5 +- .../webidls/enabled/SVGMPathElement.webidl | 3 +- .../webidls/enabled/SVGMarkerElement.webidl | 3 +- .../webidls/enabled/SVGPathElement.webidl | 3 +- .../webidls/enabled/SVGPatternElement.webidl | 4 +- .../webidls/enabled/SVGPolygonElement.webidl | 3 +- .../webidls/enabled/SVGPolylineElement.webidl | 3 +- .../webidls/enabled/SVGSVGElement.webidl | 5 +- .../webidls/enabled/SVGScriptElement.webidl | 3 +- .../webidls/enabled/SVGStyleElement.webidl | 3 +- .../webidls/enabled/SVGSymbolElement.webidl | 4 +- .../web-sys/webidls/enabled/SVGTests.webidl | 4 +- .../webidls/enabled/SVGTextPathElement.webidl | 3 +- .../webidls/enabled/SVGURIReference.webidl | 4 +- .../webidls/enabled/SVGUseElement.webidl | 2 +- .../webidls/enabled/SVGViewElement.webidl | 5 +- .../webidls/enabled/SVGZoomAndPan.webidl | 2 +- .../enabled/SVGZoomAndPanValues.webidl | 4 +- .../webidls/enabled/ServiceWorker.webidl | 2 +- .../web-sys/webidls/enabled/ShadowRoot.webidl | 2 +- .../webidls/enabled/SharedWorker.webidl | 2 +- crates/web-sys/webidls/enabled/Text.webidl | 2 +- crates/web-sys/webidls/enabled/U2F.webidl | 3 +- crates/web-sys/webidls/enabled/WebGPU.webidl | 3 +- crates/web-sys/webidls/enabled/Window.webidl | 31 ++-- .../enabled/WindowOrWorkerGlobalScope.webidl | 4 +- crates/web-sys/webidls/enabled/Worker.webidl | 2 +- .../webidls/enabled/WorkerGlobalScope.webidl | 6 +- .../webidls/enabled/WorkerNavigator.webidl | 10 +- .../webidls/enabled/XPathEvaluator.webidl | 2 +- 99 files changed, 224 insertions(+), 518 deletions(-) delete mode 100644 crates/web-sys/webidls/enabled/LegacyQueryInterface.webidl diff --git a/crates/web-sys/webidls/enabled/AbstractWorker.webidl b/crates/web-sys/webidls/enabled/AbstractWorker.webidl index 7ea6e367..1475833e 100644 --- a/crates/web-sys/webidls/enabled/AbstractWorker.webidl +++ b/crates/web-sys/webidls/enabled/AbstractWorker.webidl @@ -4,7 +4,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ -[NoInterfaceObject, Exposed=(Window,Worker,System)] -interface AbstractWorker { +[Exposed=(Window,Worker,System)] +interface mixin AbstractWorker { attribute EventHandler onerror; }; diff --git a/crates/web-sys/webidls/enabled/BrowserElement.webidl b/crates/web-sys/webidls/enabled/BrowserElement.webidl index 8a683d94..c899d667 100644 --- a/crates/web-sys/webidls/enabled/BrowserElement.webidl +++ b/crates/web-sys/webidls/enabled/BrowserElement.webidl @@ -19,15 +19,13 @@ dictionary BrowserElementExecuteScriptOptions { DOMString? origin; }; -[NoInterfaceObject] -interface BrowserElement { +interface mixin BrowserElement { }; -BrowserElement implements BrowserElementCommon; -BrowserElement implements BrowserElementPrivileged; +BrowserElement includes BrowserElementCommon; +BrowserElement includes BrowserElementPrivileged; -[NoInterfaceObject] -interface BrowserElementCommon { +interface mixin BrowserElementCommon { [Throws, Pref="dom.mozBrowserFramesEnabled", ChromeOnly] @@ -39,8 +37,7 @@ interface BrowserElementCommon { void removeNextPaintListener(BrowserElementNextPaintEventCallback listener); }; -[NoInterfaceObject] -interface BrowserElementPrivileged { +interface mixin BrowserElementPrivileged { [Throws, Pref="dom.mozBrowserFramesEnabled", ChromeOnly] diff --git a/crates/web-sys/webidls/enabled/CSSPseudoElement.webidl b/crates/web-sys/webidls/enabled/CSSPseudoElement.webidl index 6d33baf0..14572809 100644 --- a/crates/web-sys/webidls/enabled/CSSPseudoElement.webidl +++ b/crates/web-sys/webidls/enabled/CSSPseudoElement.webidl @@ -22,4 +22,4 @@ interface CSSPseudoElement { }; // https://drafts.csswg.org/web-animations/#extensions-to-the-pseudoelement-interface -CSSPseudoElement implements Animatable; +CSSPseudoElement includes Animatable; diff --git a/crates/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl b/crates/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl index 7348f215..26ae81b7 100644 --- a/crates/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl +++ b/crates/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl @@ -107,33 +107,31 @@ interface CanvasRenderingContext2D { void demote(); }; -CanvasRenderingContext2D implements CanvasState; -CanvasRenderingContext2D implements CanvasTransform; -CanvasRenderingContext2D implements CanvasCompositing; -CanvasRenderingContext2D implements CanvasImageSmoothing; -CanvasRenderingContext2D implements CanvasFillStrokeStyles; -CanvasRenderingContext2D implements CanvasShadowStyles; -CanvasRenderingContext2D implements CanvasFilters; -CanvasRenderingContext2D implements CanvasRect; -CanvasRenderingContext2D implements CanvasDrawPath; -CanvasRenderingContext2D implements CanvasUserInterface; -CanvasRenderingContext2D implements CanvasText; -CanvasRenderingContext2D implements CanvasDrawImage; -CanvasRenderingContext2D implements CanvasImageData; -CanvasRenderingContext2D implements CanvasPathDrawingStyles; -CanvasRenderingContext2D implements CanvasTextDrawingStyles; -CanvasRenderingContext2D implements CanvasPathMethods; -CanvasRenderingContext2D implements CanvasHitRegions; +CanvasRenderingContext2D includes CanvasState; +CanvasRenderingContext2D includes CanvasTransform; +CanvasRenderingContext2D includes CanvasCompositing; +CanvasRenderingContext2D includes CanvasImageSmoothing; +CanvasRenderingContext2D includes CanvasFillStrokeStyles; +CanvasRenderingContext2D includes CanvasShadowStyles; +CanvasRenderingContext2D includes CanvasFilters; +CanvasRenderingContext2D includes CanvasRect; +CanvasRenderingContext2D includes CanvasDrawPath; +CanvasRenderingContext2D includes CanvasUserInterface; +CanvasRenderingContext2D includes CanvasText; +CanvasRenderingContext2D includes CanvasDrawImage; +CanvasRenderingContext2D includes CanvasImageData; +CanvasRenderingContext2D includes CanvasPathDrawingStyles; +CanvasRenderingContext2D includes CanvasTextDrawingStyles; +CanvasRenderingContext2D includes CanvasPathMethods; +CanvasRenderingContext2D includes CanvasHitRegions; -[NoInterfaceObject] -interface CanvasState { +interface mixin CanvasState { // state void save(); // push state on state stack void restore(); // pop state stack and restore state }; -[NoInterfaceObject] -interface CanvasTransform { +interface mixin CanvasTransform { // transformations (default transform is the identity matrix) // NOT IMPLEMENTED attribute SVGMatrix currentTransform; [Throws, LenientFloat] @@ -151,20 +149,18 @@ interface CanvasTransform { }; [NoInterfaceObject] -interface CanvasCompositing { +interface mixin CanvasCompositing { attribute unrestricted double globalAlpha; // (default 1.0) [Throws] attribute DOMString globalCompositeOperation; // (default source-over) }; -[NoInterfaceObject] -interface CanvasImageSmoothing { +interface mixin CanvasImageSmoothing { // drawing images attribute boolean imageSmoothingEnabled; }; -[NoInterfaceObject] -interface CanvasFillStrokeStyles { +interface mixin CanvasFillStrokeStyles { // colors and styles (see also the CanvasPathDrawingStyles interface) attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) @@ -176,8 +172,7 @@ interface CanvasFillStrokeStyles { CanvasPattern? createPattern(CanvasImageSource image, [TreatNullAs=EmptyString] DOMString repetition); }; -[NoInterfaceObject] -interface CanvasShadowStyles { +interface mixin CanvasShadowStyles { [LenientFloat] attribute double shadowOffsetX; // (default 0) [LenientFloat] @@ -187,14 +182,12 @@ interface CanvasShadowStyles { attribute DOMString shadowColor; // (default transparent black) }; -[NoInterfaceObject] -interface CanvasFilters { +interface mixin CanvasFilters { [Pref="canvas.filters.enabled", SetterThrows] attribute DOMString filter; // (default empty string = no filter) }; -[NoInterfaceObject] -interface CanvasRect { +interface mixin CanvasRect { [LenientFloat] void clearRect(double x, double y, double w, double h); [LenientFloat] @@ -203,8 +196,7 @@ interface CanvasRect { void strokeRect(double x, double y, double w, double h); }; -[NoInterfaceObject] -interface CanvasDrawPath { +interface mixin CanvasDrawPath { // path API (see also CanvasPathMethods) void beginPath(); void fill(optional CanvasWindingRule winding = "nonzero"); @@ -224,8 +216,7 @@ interface CanvasDrawPath { boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); }; -[NoInterfaceObject] -interface CanvasUserInterface { +interface mixin CanvasUserInterface { [Pref="canvas.focusring.enabled", Throws] void drawFocusIfNeeded(Element element); // NOT IMPLEMENTED void drawSystemFocusRing(Path path, HTMLElement element); [Pref="canvas.customfocusring.enabled"] boolean drawCustomFocusRing(Element element); @@ -234,8 +225,7 @@ interface CanvasUserInterface { // NOT IMPLEMENTED void scrollPathIntoView(Path path); }; -[NoInterfaceObject] -interface CanvasText { +interface mixin CanvasText { // text (see also the CanvasPathDrawingStyles interface) [Throws, LenientFloat] void fillText(DOMString text, double x, double y, optional double maxWidth); @@ -245,8 +235,7 @@ interface CanvasText { TextMetrics measureText(DOMString text); }; -[NoInterfaceObject] -interface CanvasDrawImage { +interface mixin CanvasDrawImage { [Throws, LenientFloat] void drawImage(CanvasImageSource image, double dx, double dy); [Throws, LenientFloat] @@ -255,8 +244,7 @@ interface CanvasDrawImage { void drawImage(CanvasImageSource image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh); }; -[NoInterfaceObject] -interface CanvasImageData { +interface mixin CanvasImageData { // pixel manipulation [NewObject, Throws] ImageData createImageData(double sw, double sh); @@ -270,8 +258,7 @@ interface CanvasImageData { void putImageData(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); }; -[NoInterfaceObject] -interface CanvasPathDrawingStyles { +interface mixin CanvasPathDrawingStyles { // line caps/joins [LenientFloat] attribute double lineWidth; // (default 1) @@ -287,8 +274,7 @@ interface CanvasPathDrawingStyles { [LenientFloat] attribute double lineDashOffset; }; -[NoInterfaceObject] -interface CanvasTextDrawingStyles { +interface mixin CanvasTextDrawingStyles { // text [SetterThrows] attribute DOMString font; // (default 10px sans-serif) @@ -296,8 +282,7 @@ interface CanvasTextDrawingStyles { attribute DOMString textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic") }; -[NoInterfaceObject] -interface CanvasPathMethods { +interface mixin CanvasPathMethods { // shared path API methods void closePath(); [LenientFloat] @@ -324,8 +309,7 @@ interface CanvasPathMethods { void ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, optional boolean anticlockwise = false); }; -[NoInterfaceObject] -interface CanvasHitRegions { +interface mixin CanvasHitRegions { // hit regions [Pref="canvas.hitregions.enabled", Throws] void addHitRegion(optional HitRegionOptions options); [Pref="canvas.hitregions.enabled"] void removeHitRegion(DOMString id); @@ -381,4 +365,4 @@ interface Path2D { void addPath(Path2D path, optional SVGMatrix transformation); }; -Path2D implements CanvasPathMethods; +Path2D includes CanvasPathMethods; diff --git a/crates/web-sys/webidls/enabled/CharacterData.webidl b/crates/web-sys/webidls/enabled/CharacterData.webidl index 8d6a214e..a07bd0a1 100644 --- a/crates/web-sys/webidls/enabled/CharacterData.webidl +++ b/crates/web-sys/webidls/enabled/CharacterData.webidl @@ -27,5 +27,5 @@ interface CharacterData : Node { void replaceData(unsigned long offset, unsigned long count, DOMString data); }; -CharacterData implements ChildNode; -CharacterData implements NonDocumentTypeChildNode; +CharacterData includes ChildNode; +CharacterData includes NonDocumentTypeChildNode; diff --git a/crates/web-sys/webidls/enabled/ChildNode.webidl b/crates/web-sys/webidls/enabled/ChildNode.webidl index ae36cd93..3b125463 100644 --- a/crates/web-sys/webidls/enabled/ChildNode.webidl +++ b/crates/web-sys/webidls/enabled/ChildNode.webidl @@ -7,8 +7,7 @@ * http://dom.spec.whatwg.org/#interface-childnode */ -[NoInterfaceObject] -interface ChildNode { +interface mixin ChildNode { [CEReactions, Throws, Unscopable] void before((Node or DOMString)... nodes); [CEReactions, Throws, Unscopable] @@ -19,8 +18,7 @@ interface ChildNode { void remove(); }; -[NoInterfaceObject] -interface NonDocumentTypeChildNode { +interface mixin NonDocumentTypeChildNode { [Pure] readonly attribute Element? previousElementSibling; [Pure] diff --git a/crates/web-sys/webidls/enabled/Crypto.webidl b/crates/web-sys/webidls/enabled/Crypto.webidl index 31574a21..448a8631 100644 --- a/crates/web-sys/webidls/enabled/Crypto.webidl +++ b/crates/web-sys/webidls/enabled/Crypto.webidl @@ -7,8 +7,8 @@ * https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#crypto-interface */ -[NoInterfaceObject, Exposed=(Window,Worker)] -interface GlobalCrypto { +[Exposed=(Window,Worker)] +interface mixin GlobalCrypto { [Throws] readonly attribute Crypto crypto; }; diff --git a/crates/web-sys/webidls/enabled/DOMException.webidl b/crates/web-sys/webidls/enabled/DOMException.webidl index cc6aa624..7e979187 100644 --- a/crates/web-sys/webidls/enabled/DOMException.webidl +++ b/crates/web-sys/webidls/enabled/DOMException.webidl @@ -16,9 +16,8 @@ // invalid widl //interface StackFrame; -[NoInterfaceObject, - Exposed=(Window,Worker,System)] -interface ExceptionMembers +[Exposed=(Window,Worker,System)] +interface mixin ExceptionMembers { // The nsresult associated with this exception. readonly attribute unsigned long result; @@ -34,7 +33,7 @@ interface ExceptionMembers readonly attribute DOMString filename; // Valid line numbers begin at '1'. '0' indicates unknown. readonly attribute unsigned long lineNumber; - // Valid column numbers begin at 0. + // Valid column numbers begin at 0. // We don't have an unambiguous indicator for unknown. readonly attribute unsigned long columnNumber; @@ -62,7 +61,7 @@ interface Exception { stringifier; }; -Exception implements ExceptionMembers; +Exception includes ExceptionMembers; // XXXkhuey this is an 'exception', not an interface, but we don't have any // parser or codegen mechanisms for dealing with exceptions. @@ -105,4 +104,4 @@ interface DOMException { // XXXkhuey copy all of Gecko's non-standard stuff onto DOMException, but leave // the prototype chain sane. -DOMException implements ExceptionMembers; +DOMException includes ExceptionMembers; diff --git a/crates/web-sys/webidls/enabled/DOMRequest.webidl b/crates/web-sys/webidls/enabled/DOMRequest.webidl index 2e25fc19..6445f09b 100644 --- a/crates/web-sys/webidls/enabled/DOMRequest.webidl +++ b/crates/web-sys/webidls/enabled/DOMRequest.webidl @@ -5,8 +5,8 @@ enum DOMRequestReadyState { "pending", "done" }; -[Exposed=(Window,Worker,System), NoInterfaceObject] -interface DOMRequestShared { +[Exposed=(Window,Worker,System)] +interface mixin DOMRequestShared { readonly attribute DOMRequestReadyState readyState; readonly attribute any result; @@ -29,4 +29,4 @@ interface DOMRequest : EventTarget { void fireDetailedError(DOMException aError); }; -DOMRequest implements DOMRequestShared; +DOMRequest includes DOMRequestShared; diff --git a/crates/web-sys/webidls/enabled/Document.webidl b/crates/web-sys/webidls/enabled/Document.webidl index 124d8b32..98e63de7 100644 --- a/crates/web-sys/webidls/enabled/Document.webidl +++ b/crates/web-sys/webidls/enabled/Document.webidl @@ -435,12 +435,12 @@ partial interface Document { readonly attribute FlashClassification documentFlashClassification; }; -Document implements XPathEvaluator; -Document implements GlobalEventHandlers; -Document implements DocumentAndElementEventHandlers; -Document implements TouchEventHandlers; -Document implements ParentNode; -Document implements OnErrorEventHandlerForNodes; -Document implements GeometryUtils; -Document implements FontFaceSource; -Document implements DocumentOrShadowRoot; +Document includes XPathEvaluator; +Document includes GlobalEventHandlers; +Document includes DocumentAndElementEventHandlers; +Document includes TouchEventHandlers; +Document includes ParentNode; +Document includes OnErrorEventHandlerForNodes; +Document includes GeometryUtils; +Document includes FontFaceSource; +Document includes DocumentOrShadowRoot; diff --git a/crates/web-sys/webidls/enabled/DocumentFragment.webidl b/crates/web-sys/webidls/enabled/DocumentFragment.webidl index 0f814666..68a69c51 100644 --- a/crates/web-sys/webidls/enabled/DocumentFragment.webidl +++ b/crates/web-sys/webidls/enabled/DocumentFragment.webidl @@ -24,4 +24,4 @@ partial interface DocumentFragment { NodeList querySelectorAll(DOMString selectors); }; -DocumentFragment implements ParentNode; +DocumentFragment includes ParentNode; diff --git a/crates/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl b/crates/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl index 8a288f61..34776eff 100644 --- a/crates/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl +++ b/crates/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl @@ -8,8 +8,7 @@ * http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-the-documentorshadowroot-mixin */ -[NoInterfaceObject] -interface DocumentOrShadowRoot { +interface mixin DocumentOrShadowRoot { // Not implemented yet: bug 1430308. // Selection? getSelection(); Element? elementFromPoint (float x, float y); diff --git a/crates/web-sys/webidls/enabled/DocumentType.webidl b/crates/web-sys/webidls/enabled/DocumentType.webidl index 89190266..b19b319c 100644 --- a/crates/web-sys/webidls/enabled/DocumentType.webidl +++ b/crates/web-sys/webidls/enabled/DocumentType.webidl @@ -16,4 +16,4 @@ interface DocumentType : Node { readonly attribute DOMString systemId; }; -DocumentType implements ChildNode; +DocumentType includes ChildNode; diff --git a/crates/web-sys/webidls/enabled/Element.webidl b/crates/web-sys/webidls/enabled/Element.webidl index 571bdfc4..7b6952b6 100644 --- a/crates/web-sys/webidls/enabled/Element.webidl +++ b/crates/web-sys/webidls/enabled/Element.webidl @@ -265,11 +265,11 @@ partial interface Element { attribute DOMString slot; }; -Element implements ChildNode; -Element implements NonDocumentTypeChildNode; -Element implements ParentNode; -Element implements Animatable; -Element implements GeometryUtils; +Element includes ChildNode; +Element includes NonDocumentTypeChildNode; +Element includes ParentNode; +Element includes Animatable; +Element includes GeometryUtils; // https://fullscreen.spec.whatwg.org/#api partial interface Element { diff --git a/crates/web-sys/webidls/enabled/EventHandler.webidl b/crates/web-sys/webidls/enabled/EventHandler.webidl index b92348ec..5d28db0a 100644 --- a/crates/web-sys/webidls/enabled/EventHandler.webidl +++ b/crates/web-sys/webidls/enabled/EventHandler.webidl @@ -22,8 +22,7 @@ typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error); typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; -[NoInterfaceObject] -interface GlobalEventHandlers { +interface mixin GlobalEventHandlers { attribute EventHandler onabort; attribute EventHandler onblur; // We think the spec is wrong here. See OnErrorEventHandlerForNodes/Window @@ -134,8 +133,7 @@ interface GlobalEventHandlers { attribute EventHandler onwebkittransitionend; }; -[NoInterfaceObject] -interface WindowEventHandlers { +interface mixin WindowEventHandlers { attribute EventHandler onafterprint; attribute EventHandler onbeforeprint; attribute OnBeforeUnloadEventHandler onbeforeunload; @@ -152,8 +150,7 @@ interface WindowEventHandlers { attribute EventHandler onunload; }; -[NoInterfaceObject] -interface DocumentAndElementEventHandlers { +interface mixin DocumentAndElementEventHandlers { attribute EventHandler oncopy; attribute EventHandler oncut; attribute EventHandler onpaste; @@ -164,12 +161,10 @@ interface DocumentAndElementEventHandlers { // whether an ErrorEvent was fired. We don't do that, and until we do we'll // need to distinguish between onerror on Window or on nodes. -[NoInterfaceObject] -interface OnErrorEventHandlerForNodes { +interface mixin OnErrorEventHandlerForNodes { attribute EventHandler onerror; }; -[NoInterfaceObject] -interface OnErrorEventHandlerForWindow { +interface mixin OnErrorEventHandlerForWindow { attribute OnErrorEventHandler onerror; }; diff --git a/crates/web-sys/webidls/enabled/Fetch.webidl b/crates/web-sys/webidls/enabled/Fetch.webidl index bbb1faf7..66e4b570 100644 --- a/crates/web-sys/webidls/enabled/Fetch.webidl +++ b/crates/web-sys/webidls/enabled/Fetch.webidl @@ -10,8 +10,8 @@ typedef object JSON; typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface Body { +[Exposed=(Window,Worker)] +interface mixin Body { readonly attribute boolean bodyUsed; [Throws] Promise arrayBuffer(); diff --git a/crates/web-sys/webidls/enabled/FontFaceSource.webidl b/crates/web-sys/webidls/enabled/FontFaceSource.webidl index 96e1c6d7..54f36861 100644 --- a/crates/web-sys/webidls/enabled/FontFaceSource.webidl +++ b/crates/web-sys/webidls/enabled/FontFaceSource.webidl @@ -10,9 +10,7 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface FontFaceSource { - +interface mixin FontFaceSource { [Pref="layout.css.font-loading-api.enabled"] readonly attribute FontFaceSet fonts; }; diff --git a/crates/web-sys/webidls/enabled/FrameLoader.webidl b/crates/web-sys/webidls/enabled/FrameLoader.webidl index 0cfd06bb..293bdb53 100644 --- a/crates/web-sys/webidls/enabled/FrameLoader.webidl +++ b/crates/web-sys/webidls/enabled/FrameLoader.webidl @@ -209,12 +209,11 @@ interface FrameLoader { * The nsIWebBrowserPersistDocumentReceiver is a callback that * will be fired once the document is ready for persisting. */ -[NoInterfaceObject] -interface WebBrowserPersistable +interface mixin WebBrowserPersistable { [Throws] void startPersistence(unsigned long long aOuterWindowID, nsIWebBrowserPersistDocumentReceiver aRecv); }; -FrameLoader implements WebBrowserPersistable; +FrameLoader includes WebBrowserPersistable; diff --git a/crates/web-sys/webidls/enabled/GeometryUtils.webidl b/crates/web-sys/webidls/enabled/GeometryUtils.webidl index 53a24a78..0eda05c6 100644 --- a/crates/web-sys/webidls/enabled/GeometryUtils.webidl +++ b/crates/web-sys/webidls/enabled/GeometryUtils.webidl @@ -21,8 +21,7 @@ dictionary ConvertCoordinateOptions { CSSBoxType toBox = "border"; }; -[NoInterfaceObject] -interface GeometryUtils { +interface mixin GeometryUtils { [Throws, Func="nsINode::HasBoxQuadsSupport", NeedsCallerType] sequence getBoxQuads(optional BoxQuadOptions options); [Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType] @@ -33,6 +32,6 @@ interface GeometryUtils { DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options); }; -// PseudoElement implements GeometryUtils; +// PseudoElement includes GeometryUtils; typedef (Text or Element /* or PseudoElement */ or Document) GeometryNode; diff --git a/crates/web-sys/webidls/enabled/HTMLAnchorElement.webidl b/crates/web-sys/webidls/enabled/HTMLAnchorElement.webidl index fe1c1a71..d19c8ec5 100644 --- a/crates/web-sys/webidls/enabled/HTMLAnchorElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLAnchorElement.webidl @@ -35,7 +35,7 @@ interface HTMLAnchorElement : HTMLElement { attribute DOMString text; }; -HTMLAnchorElement implements HTMLHyperlinkElementUtils; +HTMLAnchorElement includes HTMLHyperlinkElementUtils; // http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis partial interface HTMLAnchorElement { diff --git a/crates/web-sys/webidls/enabled/HTMLAreaElement.webidl b/crates/web-sys/webidls/enabled/HTMLAreaElement.webidl index 997535a9..c2c05b72 100644 --- a/crates/web-sys/webidls/enabled/HTMLAreaElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLAreaElement.webidl @@ -35,7 +35,7 @@ interface HTMLAreaElement : HTMLElement { readonly attribute DOMTokenList relList; }; -HTMLAreaElement implements HTMLHyperlinkElementUtils; +HTMLAreaElement includes HTMLHyperlinkElementUtils; // http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis partial interface HTMLAreaElement { diff --git a/crates/web-sys/webidls/enabled/HTMLBodyElement.webidl b/crates/web-sys/webidls/enabled/HTMLBodyElement.webidl index f89c287d..9f2dfd9e 100644 --- a/crates/web-sys/webidls/enabled/HTMLBodyElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLBodyElement.webidl @@ -30,4 +30,4 @@ partial interface HTMLBodyElement { attribute DOMString background; }; -HTMLBodyElement implements WindowEventHandlers; +HTMLBodyElement includes WindowEventHandlers; diff --git a/crates/web-sys/webidls/enabled/HTMLElement.webidl b/crates/web-sys/webidls/enabled/HTMLElement.webidl index 19bb0c34..5b7939fd 100644 --- a/crates/web-sys/webidls/enabled/HTMLElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLElement.webidl @@ -80,8 +80,7 @@ partial interface HTMLElement { readonly attribute long offsetHeight; }; -[NoInterfaceObject] -interface TouchEventHandlers { +interface mixin TouchEventHandlers { [Func="nsGenericHTMLElement::TouchEventsEnabled"] attribute EventHandler ontouchstart; [Func="nsGenericHTMLElement::TouchEventsEnabled"] @@ -92,9 +91,9 @@ interface TouchEventHandlers { attribute EventHandler ontouchcancel; }; -HTMLElement implements GlobalEventHandlers; -HTMLElement implements DocumentAndElementEventHandlers; -HTMLElement implements TouchEventHandlers; -HTMLElement implements OnErrorEventHandlerForNodes; +HTMLElement includes GlobalEventHandlers; +HTMLElement includes DocumentAndElementEventHandlers; +HTMLElement includes TouchEventHandlers; +HTMLElement includes OnErrorEventHandlerForNodes; interface HTMLUnknownElement : HTMLElement {}; diff --git a/crates/web-sys/webidls/enabled/HTMLEmbedElement.webidl b/crates/web-sys/webidls/enabled/HTMLEmbedElement.webidl index bb6b5c0e..f55ff35e 100644 --- a/crates/web-sys/webidls/enabled/HTMLEmbedElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLEmbedElement.webidl @@ -39,6 +39,6 @@ partial interface HTMLEmbedElement { Document? getSVGDocument(); }; -HTMLEmbedElement implements MozImageLoadingContent; -HTMLEmbedElement implements MozFrameLoaderOwner; -HTMLEmbedElement implements MozObjectLoadingContent; +HTMLEmbedElement includes MozImageLoadingContent; +HTMLEmbedElement includes MozFrameLoaderOwner; +HTMLEmbedElement includes MozObjectLoadingContent; diff --git a/crates/web-sys/webidls/enabled/HTMLFrameElement.webidl b/crates/web-sys/webidls/enabled/HTMLFrameElement.webidl index 2d712caf..b662b426 100644 --- a/crates/web-sys/webidls/enabled/HTMLFrameElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLFrameElement.webidl @@ -35,4 +35,4 @@ interface HTMLFrameElement : HTMLElement { attribute DOMString marginWidth; }; -HTMLFrameElement implements MozFrameLoaderOwner; +HTMLFrameElement includes MozFrameLoaderOwner; diff --git a/crates/web-sys/webidls/enabled/HTMLFrameSetElement.webidl b/crates/web-sys/webidls/enabled/HTMLFrameSetElement.webidl index afc4465d..d80f2867 100644 --- a/crates/web-sys/webidls/enabled/HTMLFrameSetElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLFrameSetElement.webidl @@ -19,4 +19,4 @@ interface HTMLFrameSetElement : HTMLElement { attribute DOMString rows; }; -HTMLFrameSetElement implements WindowEventHandlers; +HTMLFrameSetElement includes WindowEventHandlers; diff --git a/crates/web-sys/webidls/enabled/HTMLIFrameElement.webidl b/crates/web-sys/webidls/enabled/HTMLIFrameElement.webidl index 5801de76..f187887e 100644 --- a/crates/web-sys/webidls/enabled/HTMLIFrameElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLIFrameElement.webidl @@ -65,5 +65,5 @@ partial interface HTMLIFrameElement { attribute boolean mozbrowser; }; -HTMLIFrameElement implements MozFrameLoaderOwner; -HTMLIFrameElement implements BrowserElement; +HTMLIFrameElement includes MozFrameLoaderOwner; +HTMLIFrameElement includes BrowserElement; diff --git a/crates/web-sys/webidls/enabled/HTMLImageElement.webidl b/crates/web-sys/webidls/enabled/HTMLImageElement.webidl index 66823996..8744aeb9 100644 --- a/crates/web-sys/webidls/enabled/HTMLImageElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLImageElement.webidl @@ -67,55 +67,3 @@ partial interface HTMLImageElement { attribute DOMString sizes; readonly attribute DOMString currentSrc; }; - - -[NoInterfaceObject] -interface MozImageLoadingContent { - // Mirrored chrome-only nsIImageLoadingContent methods. Please make sure - // to update this list if nsIImageLoadingContent changes. - [ChromeOnly] - const long UNKNOWN_REQUEST = -1; - [ChromeOnly] - const long CURRENT_REQUEST = 0; - [ChromeOnly] - const long PENDING_REQUEST = 1; - - [ChromeOnly] - attribute boolean loadingEnabled; - [ChromeOnly] - readonly attribute short imageBlockingStatus; - /** - * Same as addNativeObserver but intended for scripted observers or observers - * from another or without a document. - */ - [ChromeOnly] - void addObserver(imgINotificationObserver aObserver); - /** - * Same as removeNativeObserver but intended for scripted observers or - * observers from another or without a document. - */ - [ChromeOnly] - void removeObserver(imgINotificationObserver aObserver); - [ChromeOnly,Throws] - imgIRequest? getRequest(long aRequestType); - [ChromeOnly,Throws] - long getRequestType(imgIRequest aRequest); - [ChromeOnly,Throws] - readonly attribute URI? currentURI; - // Gets the final URI of the current request, if available. - // Otherwise, returns null. - [ChromeOnly] - readonly attribute URI? currentRequestFinalURI; - /** - * forceReload forces reloading of the image pointed to by currentURI - * - * @param aNotify request should notify - * @throws NS_ERROR_NOT_AVAILABLE if there is no current URI to reload - */ - [ChromeOnly,Throws] - void forceReload(optional boolean aNotify = true); - [ChromeOnly] - void forceImageState(boolean aForce, unsigned long long aState); -}; - -HTMLImageElement implements MozImageLoadingContent; diff --git a/crates/web-sys/webidls/enabled/HTMLInputElement.webidl b/crates/web-sys/webidls/enabled/HTMLInputElement.webidl index 756ec43e..e31413ab 100644 --- a/crates/web-sys/webidls/enabled/HTMLInputElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLInputElement.webidl @@ -147,7 +147,7 @@ partial interface HTMLInputElement { attribute DOMString useMap; }; -HTMLInputElement implements MozEditableElement; +HTMLInputElement includes MozEditableElement; /*Non standard partial interface HTMLInputElement { @@ -168,7 +168,7 @@ partial interface HTMLInputElement { }; */ -HTMLInputElement implements MozImageLoadingContent; +HTMLInputElement includes MozImageLoadingContent; // Webkit/Blink partial interface HTMLInputElement { diff --git a/crates/web-sys/webidls/enabled/HTMLLinkElement.webidl b/crates/web-sys/webidls/enabled/HTMLLinkElement.webidl index 0fc7890d..0d484de1 100644 --- a/crates/web-sys/webidls/enabled/HTMLLinkElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLLinkElement.webidl @@ -34,7 +34,7 @@ interface HTMLLinkElement : HTMLElement { attribute DOMString referrerPolicy; [PutForwards=value] readonly attribute DOMTokenList sizes; }; -HTMLLinkElement implements LinkStyle; +HTMLLinkElement includes LinkStyle; // http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis partial interface HTMLLinkElement { diff --git a/crates/web-sys/webidls/enabled/HTMLObjectElement.webidl b/crates/web-sys/webidls/enabled/HTMLObjectElement.webidl index b5bcddc8..34f5559a 100644 --- a/crates/web-sys/webidls/enabled/HTMLObjectElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLObjectElement.webidl @@ -78,145 +78,6 @@ partial interface HTMLObjectElement { Document? getSVGDocument(); }; -[NoInterfaceObject] -interface MozObjectLoadingContent { - // Mirrored chrome-only scriptable nsIObjectLoadingContent methods. Please - // make sure to update this list if nsIObjectLoadingContent changes. Also, - // make sure everything on here is [ChromeOnly]. - [ChromeOnly] - const unsigned long TYPE_LOADING = 0; - [ChromeOnly] - const unsigned long TYPE_IMAGE = 1; - [ChromeOnly] - const unsigned long TYPE_PLUGIN = 2; - [ChromeOnly] - const unsigned long TYPE_FAKE_PLUGIN = 3; - [ChromeOnly] - const unsigned long TYPE_DOCUMENT = 4; - [ChromeOnly] - const unsigned long TYPE_NULL = 5; - - // The content type is not supported (e.g. plugin not installed) - [ChromeOnly] - const unsigned long PLUGIN_UNSUPPORTED = 0; - // Showing alternate content - [ChromeOnly] - const unsigned long PLUGIN_ALTERNATE = 1; - // The plugin exists, but is disabled - [ChromeOnly] - const unsigned long PLUGIN_DISABLED = 2; - // The plugin is blocklisted and disabled - [ChromeOnly] - const unsigned long PLUGIN_BLOCKLISTED = 3; - // The plugin is considered outdated, but not disabled - [ChromeOnly] - const unsigned long PLUGIN_OUTDATED = 4; - // The plugin has crashed - [ChromeOnly] - const unsigned long PLUGIN_CRASHED = 5; - // Suppressed by security policy - [ChromeOnly] - const unsigned long PLUGIN_SUPPRESSED = 6; - // Blocked by content policy - [ChromeOnly] - const unsigned long PLUGIN_USER_DISABLED = 7; - /// ** All values >= PLUGIN_CLICK_TO_PLAY are plugin placeholder types that - /// would be replaced by a real plugin if activated (playPlugin()) - /// ** Furthermore, values >= PLUGIN_CLICK_TO_PLAY and - /// <= PLUGIN_VULNERABLE_NO_UPDATE are click-to-play types. - // The plugin is disabled until the user clicks on it - [ChromeOnly] - const unsigned long PLUGIN_CLICK_TO_PLAY = 8; - // The plugin is vulnerable (update available) - [ChromeOnly] - const unsigned long PLUGIN_VULNERABLE_UPDATABLE = 9; - // The plugin is vulnerable (no update available) - [ChromeOnly] - const unsigned long PLUGIN_VULNERABLE_NO_UPDATE = 10; - - /** - * The actual mime type (the one we got back from the network - * request) for the element. - */ - [ChromeOnly] - readonly attribute DOMString actualType; - - /** - * Gets the type of the content that's currently loaded. See - * the constants above for the list of possible values. - */ - [ChromeOnly] - readonly attribute unsigned long displayedType; - - /** - * Gets the content type that corresponds to the give MIME type. See the - * constants above for the list of possible values. If nothing else fits, - * TYPE_NULL will be returned. - */ - [ChromeOnly] - unsigned long getContentTypeForMIMEType(DOMString aMimeType); - - - [ChromeOnly] - sequence getPluginAttributes(); - - [ChromeOnly] - sequence getPluginParameters(); - - /** - * This method will play a plugin that has been stopped by the click-to-play - * feature. - */ - [ChromeOnly, Throws, NeedsCallerType] - void playPlugin(); - - /** - * Forces a re-evaluation and reload of the tag, optionally invalidating its - * click-to-play state. This can be used when the MIME type that provides a - * type has changed, for instance, to force the tag to re-evalulate the - * handler to use. - */ - [ChromeOnly, Throws] - void reload(boolean aClearActivation); - - /** - * This attribute will return true if the current content type has been - * activated, either explicitly or by passing checks that would have it be - * click-to-play. - */ - [ChromeOnly] - readonly attribute boolean activated; - - /** - * The URL of the data/src loaded in the object. This may be null (i.e. - * an with no src). - */ - [ChromeOnly] - readonly attribute URI? srcURI; - - [ChromeOnly] - readonly attribute unsigned long defaultFallbackType; - - [ChromeOnly] - readonly attribute unsigned long pluginFallbackType; - - /** - * If this object currently owns a running plugin, regardless of whether or - * not one is pending spawn/despawn. - */ - [ChromeOnly] - readonly attribute boolean hasRunningPlugin; - - /** - * Disable the use of fake plugins and reload the tag if necessary - */ - [ChromeOnly, Throws] - void skipFakePlugins(); - - [ChromeOnly, Throws, NeedsCallerType] - readonly attribute unsigned long runID; -}; - /** * Name:Value pair type used for passing parameters to NPAPI or javascript * plugins. @@ -226,6 +87,6 @@ dictionary MozPluginParameter { DOMString value = ""; }; -HTMLObjectElement implements MozImageLoadingContent; -HTMLObjectElement implements MozFrameLoaderOwner; -HTMLObjectElement implements MozObjectLoadingContent; +HTMLObjectElement includes MozImageLoadingContent; +HTMLObjectElement includes MozFrameLoaderOwner; +HTMLObjectElement includes MozObjectLoadingContent; diff --git a/crates/web-sys/webidls/enabled/HTMLStyleElement.webidl b/crates/web-sys/webidls/enabled/HTMLStyleElement.webidl index c0c8b985..6dc1a835 100644 --- a/crates/web-sys/webidls/enabled/HTMLStyleElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLStyleElement.webidl @@ -17,5 +17,4 @@ interface HTMLStyleElement : HTMLElement { [CEReactions, SetterThrows, Pure] attribute DOMString type; }; -HTMLStyleElement implements LinkStyle; - +HTMLStyleElement includes LinkStyle; diff --git a/crates/web-sys/webidls/enabled/HTMLTextAreaElement.webidl b/crates/web-sys/webidls/enabled/HTMLTextAreaElement.webidl index b1395a8a..7d2dd0a5 100644 --- a/crates/web-sys/webidls/enabled/HTMLTextAreaElement.webidl +++ b/crates/web-sys/webidls/enabled/HTMLTextAreaElement.webidl @@ -81,4 +81,4 @@ interface HTMLTextAreaElement : HTMLElement { void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); }; -HTMLTextAreaElement implements MozEditableElement; +HTMLTextAreaElement includes MozEditableElement; diff --git a/crates/web-sys/webidls/enabled/LegacyQueryInterface.webidl b/crates/web-sys/webidls/enabled/LegacyQueryInterface.webidl deleted file mode 100644 index 00fd76df..00000000 --- a/crates/web-sys/webidls/enabled/LegacyQueryInterface.webidl +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. - */ - -// invalid widl -//interface nsISupports; -//interface IID; - -[NoInterfaceObject, - // Need Exposed here, because this is a mixin onto things like Event - // that are exposed in workers. - Exposed=(Window,Worker,System)] -interface LegacyQueryInterface { - // Legacy QueryInterface, only exposed to chrome code on the main thread. - [Exposed=(Window,System), ChromeOnly] - nsISupports QueryInterface(IID iid); -}; - -BoxObject implements LegacyQueryInterface; -DOMParser implements LegacyQueryInterface; -Document implements LegacyQueryInterface; -DocumentFragment implements LegacyQueryInterface; -Element implements LegacyQueryInterface; -Event implements LegacyQueryInterface; -Selection implements LegacyQueryInterface; -TreeColumns implements LegacyQueryInterface; -TreeContentView implements LegacyQueryInterface; -Window implements LegacyQueryInterface; -XMLHttpRequest implements LegacyQueryInterface; diff --git a/crates/web-sys/webidls/enabled/LinkStyle.webidl b/crates/web-sys/webidls/enabled/LinkStyle.webidl index db0bc031..b57eb7e7 100644 --- a/crates/web-sys/webidls/enabled/LinkStyle.webidl +++ b/crates/web-sys/webidls/enabled/LinkStyle.webidl @@ -7,8 +7,6 @@ * http://dev.w3.org/csswg/cssom/#the-linkstyle-interface */ -[NoInterfaceObject] -interface LinkStyle { +interface mixin LinkStyle { readonly attribute StyleSheet? sheet; }; - diff --git a/crates/web-sys/webidls/enabled/MessagePort.webidl b/crates/web-sys/webidls/enabled/MessagePort.webidl index f8b3de62..7811487c 100644 --- a/crates/web-sys/webidls/enabled/MessagePort.webidl +++ b/crates/web-sys/webidls/enabled/MessagePort.webidl @@ -19,4 +19,4 @@ interface MessagePort : EventTarget { attribute EventHandler onmessage; attribute EventHandler onmessageerror; }; -// MessagePort implements Transferable; +// MessagePort includes Transferable; diff --git a/crates/web-sys/webidls/enabled/Navigator.webidl b/crates/web-sys/webidls/enabled/Navigator.webidl index 1661ffec..f0950789 100644 --- a/crates/web-sys/webidls/enabled/Navigator.webidl +++ b/crates/web-sys/webidls/enabled/Navigator.webidl @@ -28,17 +28,17 @@ interface Navigator { // objects implementing this interface also implement the interfaces given below }; -Navigator implements NavigatorID; -Navigator implements NavigatorLanguage; -Navigator implements NavigatorOnLine; -Navigator implements NavigatorContentUtils; -Navigator implements NavigatorStorageUtils; -Navigator implements NavigatorConcurrentHardware; -Navigator implements NavigatorStorage; -Navigator implements NavigatorAutomationInformation; +Navigator includes NavigatorID; +Navigator includes NavigatorLanguage; +Navigator includes NavigatorOnLine; +Navigator includes NavigatorContentUtils; +Navigator includes NavigatorStorageUtils; +Navigator includes NavigatorConcurrentHardware; +Navigator includes NavigatorStorage; +Navigator includes NavigatorAutomationInformation; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorID { +[Exposed=(Window,Worker)] +interface mixin NavigatorID { // WebKit/Blink/Trident/Presto support this (hardcoded "Mozilla"). [Constant, Cached, Throws] readonly attribute DOMString appCodeName; // constant "Mozilla" @@ -58,8 +58,8 @@ interface NavigatorID { boolean taintEnabled(); // constant false }; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorLanguage { +[Exposed=(Window,Worker)] +interface mixin NavigatorLanguage { // These two attributes are cached because this interface is also implemented // by Workernavigator and this way we don't have to go back to the @@ -72,13 +72,12 @@ interface NavigatorLanguage { readonly attribute sequence languages; }; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorOnLine { +[Exposed=(Window,Worker)] +interface mixin NavigatorOnLine { readonly attribute boolean onLine; }; -[NoInterfaceObject] -interface NavigatorContentUtils { +interface mixin NavigatorContentUtils { // content handler registration [Throws, Func="nsGlobalWindowInner::RegisterProtocolHandlerAllowedForContext"] void registerProtocolHandler(DOMString scheme, DOMString url, DOMString title); @@ -91,14 +90,13 @@ interface NavigatorContentUtils { //void unregisterContentHandler(DOMString mimeType, DOMString url); }; -[SecureContext, NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorStorage { +[SecureContext, Exposed=(Window,Worker)] +interface mixin NavigatorStorage { [Func="mozilla::dom::DOMPrefs::StorageManagerEnabled"] readonly attribute StorageManager storage; }; -[NoInterfaceObject] -interface NavigatorStorageUtils { +interface mixin NavigatorStorageUtils { // NOT IMPLEMENTED //void yieldForStorageUpdates(); }; @@ -123,12 +121,11 @@ partial interface Navigator { }; // http://www.w3.org/TR/geolocation-API/#geolocation_interface -[NoInterfaceObject] -interface NavigatorGeolocation { +interface mixin NavigatorGeolocation { [Throws, Pref="geo.enabled"] readonly attribute Geolocation geolocation; }; -Navigator implements NavigatorGeolocation; +Navigator includes NavigatorGeolocation; // http://www.w3.org/TR/battery-status/#navigatorbattery-interface partial interface Navigator { @@ -262,8 +259,8 @@ partial interface Navigator { sequence supportedConfigurations); }; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorConcurrentHardware { +[Exposed=(Window,Worker)] +interface mixin NavigatorConcurrentHardware { readonly attribute unsigned long long hardwareConcurrency; }; diff --git a/crates/web-sys/webidls/enabled/OffscreenCanvas.webidl b/crates/web-sys/webidls/enabled/OffscreenCanvas.webidl index 449277fc..c1bc84be 100644 --- a/crates/web-sys/webidls/enabled/OffscreenCanvas.webidl +++ b/crates/web-sys/webidls/enabled/OffscreenCanvas.webidl @@ -27,4 +27,4 @@ interface OffscreenCanvas : EventTarget { optional any encoderOptions); }; -// OffscreenCanvas implements Transferable; +// OffscreenCanvas includes Transferable; diff --git a/crates/web-sys/webidls/enabled/ParentNode.webidl b/crates/web-sys/webidls/enabled/ParentNode.webidl index aa6ca5db..0b4eb59b 100644 --- a/crates/web-sys/webidls/enabled/ParentNode.webidl +++ b/crates/web-sys/webidls/enabled/ParentNode.webidl @@ -7,8 +7,7 @@ * http://dom.spec.whatwg.org/#interface-parentnode */ -[NoInterfaceObject] -interface ParentNode { +interface mixin ParentNode { [Constant] readonly attribute HTMLCollection children; [Pure] diff --git a/crates/web-sys/webidls/enabled/ProcessingInstruction.webidl b/crates/web-sys/webidls/enabled/ProcessingInstruction.webidl index 40b001ae..1cbe6479 100644 --- a/crates/web-sys/webidls/enabled/ProcessingInstruction.webidl +++ b/crates/web-sys/webidls/enabled/ProcessingInstruction.webidl @@ -17,4 +17,4 @@ interface ProcessingInstruction : CharacterData { }; // https://drafts.csswg.org/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction -ProcessingInstruction implements LinkStyle; +ProcessingInstruction includes LinkStyle; diff --git a/crates/web-sys/webidls/enabled/Request.webidl b/crates/web-sys/webidls/enabled/Request.webidl index 7086e387..63eb40ed 100644 --- a/crates/web-sys/webidls/enabled/Request.webidl +++ b/crates/web-sys/webidls/enabled/Request.webidl @@ -41,7 +41,7 @@ interface Request { [ChromeOnly] void overrideContentPolicyType(nsContentPolicyType context); }; -Request implements Body; +Request includes Body; dictionary RequestInit { ByteString method; diff --git a/crates/web-sys/webidls/enabled/Response.webidl b/crates/web-sys/webidls/enabled/Response.webidl index 0dd3d636..0b05bea1 100644 --- a/crates/web-sys/webidls/enabled/Response.webidl +++ b/crates/web-sys/webidls/enabled/Response.webidl @@ -30,7 +30,7 @@ interface Response { [ChromeOnly, NewObject, Throws] Response cloneUnfiltered(); }; -Response implements Body; +Response includes Body; // This should be part of Body but we don't want to expose body to request yet. // See bug 1387483. diff --git a/crates/web-sys/webidls/enabled/SVGAElement.webidl b/crates/web-sys/webidls/enabled/SVGAElement.webidl index 05b0cb11..7677b987 100644 --- a/crates/web-sys/webidls/enabled/SVGAElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGAElement.webidl @@ -32,5 +32,4 @@ interface SVGAElement : SVGGraphicsElement { attribute DOMString text; }; -SVGAElement implements SVGURIReference; - +SVGAElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGAnimatedPathData.webidl b/crates/web-sys/webidls/enabled/SVGAnimatedPathData.webidl index 08f10f72..7f844980 100644 --- a/crates/web-sys/webidls/enabled/SVGAnimatedPathData.webidl +++ b/crates/web-sys/webidls/enabled/SVGAnimatedPathData.webidl @@ -10,11 +10,9 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGAnimatedPathData { +interface mixin SVGAnimatedPathData { readonly attribute SVGPathSegList pathSegList; //readonly attribute SVGPathSegList normalizedPathSegList; readonly attribute SVGPathSegList animatedPathSegList; //readonly attribute SVGPathSegList animatedNormalizedPathSegList; }; - diff --git a/crates/web-sys/webidls/enabled/SVGAnimatedPoints.webidl b/crates/web-sys/webidls/enabled/SVGAnimatedPoints.webidl index 891ca4bc..633549a6 100644 --- a/crates/web-sys/webidls/enabled/SVGAnimatedPoints.webidl +++ b/crates/web-sys/webidls/enabled/SVGAnimatedPoints.webidl @@ -10,11 +10,9 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGAnimatedPoints { +interface mixin SVGAnimatedPoints { [Constant] readonly attribute SVGPointList points; [Constant] readonly attribute SVGPointList animatedPoints; }; - diff --git a/crates/web-sys/webidls/enabled/SVGAnimationElement.webidl b/crates/web-sys/webidls/enabled/SVGAnimationElement.webidl index 4f9a95fe..57058a6b 100644 --- a/crates/web-sys/webidls/enabled/SVGAnimationElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGAnimationElement.webidl @@ -30,5 +30,4 @@ interface SVGAnimationElement : SVGElement { void endElementAt(float offset); }; -SVGAnimationElement implements SVGTests; - +SVGAnimationElement includes SVGTests; diff --git a/crates/web-sys/webidls/enabled/SVGElement.webidl b/crates/web-sys/webidls/enabled/SVGElement.webidl index a01be378..d2b3a53e 100644 --- a/crates/web-sys/webidls/enabled/SVGElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGElement.webidl @@ -28,7 +28,7 @@ interface SVGElement : Element { [Throws] void blur(); }; -SVGElement implements GlobalEventHandlers; -SVGElement implements DocumentAndElementEventHandlers; -SVGElement implements TouchEventHandlers; -SVGElement implements OnErrorEventHandlerForNodes; +SVGElement includes GlobalEventHandlers; +SVGElement includes DocumentAndElementEventHandlers; +SVGElement includes TouchEventHandlers; +SVGElement includes OnErrorEventHandlerForNodes; diff --git a/crates/web-sys/webidls/enabled/SVGFEBlendElement.webidl b/crates/web-sys/webidls/enabled/SVGFEBlendElement.webidl index 5cd469bd..412970b4 100644 --- a/crates/web-sys/webidls/enabled/SVGFEBlendElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEBlendElement.webidl @@ -38,4 +38,4 @@ interface SVGFEBlendElement : SVGElement { readonly attribute SVGAnimatedEnumeration mode; }; -SVGFEBlendElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEBlendElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl b/crates/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl index 61d91040..05a7b6a7 100644 --- a/crates/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl @@ -27,4 +27,4 @@ interface SVGFEColorMatrixElement : SVGElement { readonly attribute SVGAnimatedNumberList values; }; -SVGFEColorMatrixElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEColorMatrixElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl b/crates/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl index 6cf6f6d6..df8dab5f 100644 --- a/crates/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl @@ -15,4 +15,4 @@ interface SVGFEComponentTransferElement : SVGElement { readonly attribute SVGAnimatedString in1; }; -SVGFEComponentTransferElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEComponentTransferElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFECompositeElement.webidl b/crates/web-sys/webidls/enabled/SVGFECompositeElement.webidl index 3ab983fe..dd0b001d 100644 --- a/crates/web-sys/webidls/enabled/SVGFECompositeElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFECompositeElement.webidl @@ -37,4 +37,4 @@ interface SVGFECompositeElement : SVGElement { readonly attribute SVGAnimatedNumber k4; }; -SVGFECompositeElement implements SVGFilterPrimitiveStandardAttributes; +SVGFECompositeElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl b/crates/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl index 27d8e80e..d07c14e2 100644 --- a/crates/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl @@ -44,4 +44,4 @@ interface SVGFEConvolveMatrixElement : SVGElement { readonly attribute SVGAnimatedBoolean preserveAlpha; }; -SVGFEConvolveMatrixElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEConvolveMatrixElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl b/crates/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl index fb89721d..e11a07a6 100644 --- a/crates/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl @@ -23,4 +23,4 @@ interface SVGFEDiffuseLightingElement : SVGElement { readonly attribute SVGAnimatedNumber kernelUnitLengthY; }; -SVGFEDiffuseLightingElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEDiffuseLightingElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl b/crates/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl index 461faff9..1e5dfbf7 100644 --- a/crates/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl @@ -31,4 +31,4 @@ interface SVGFEDisplacementMapElement : SVGElement { readonly attribute SVGAnimatedEnumeration yChannelSelector; }; -SVGFEDisplacementMapElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEDisplacementMapElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl b/crates/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl index b858fc91..82244367 100644 --- a/crates/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl @@ -25,4 +25,4 @@ interface SVGFEDropShadowElement : SVGElement { void setStdDeviation(float stdDeviationX, float stdDeviationY); }; -SVGFEDropShadowElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEDropShadowElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEFloodElement.webidl b/crates/web-sys/webidls/enabled/SVGFEFloodElement.webidl index 51d9539f..e2680009 100644 --- a/crates/web-sys/webidls/enabled/SVGFEFloodElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEFloodElement.webidl @@ -13,4 +13,4 @@ interface SVGFEFloodElement : SVGElement { }; -SVGFEFloodElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEFloodElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl b/crates/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl index db2101b5..58e9deea 100644 --- a/crates/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl @@ -21,4 +21,4 @@ interface SVGFEGaussianBlurElement : SVGElement { void setStdDeviation(float stdDeviationX, float stdDeviationY); }; -SVGFEGaussianBlurElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEGaussianBlurElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEImageElement.webidl b/crates/web-sys/webidls/enabled/SVGFEImageElement.webidl index 3262c0d8..5ef70da3 100644 --- a/crates/web-sys/webidls/enabled/SVGFEImageElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEImageElement.webidl @@ -15,5 +15,5 @@ interface SVGFEImageElement : SVGElement { readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; }; -SVGFEImageElement implements SVGFilterPrimitiveStandardAttributes; -SVGFEImageElement implements SVGURIReference; +SVGFEImageElement includes SVGFilterPrimitiveStandardAttributes; +SVGFEImageElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGFEMergeElement.webidl b/crates/web-sys/webidls/enabled/SVGFEMergeElement.webidl index adafbba9..ff1932bb 100644 --- a/crates/web-sys/webidls/enabled/SVGFEMergeElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEMergeElement.webidl @@ -13,4 +13,4 @@ interface SVGFEMergeElement : SVGElement { }; -SVGFEMergeElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEMergeElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl b/crates/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl index 82910a6f..ee28b8a2 100644 --- a/crates/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl @@ -27,4 +27,4 @@ interface SVGFEMorphologyElement : SVGElement { readonly attribute SVGAnimatedNumber radiusY; }; -SVGFEMorphologyElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEMorphologyElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFEOffsetElement.webidl b/crates/web-sys/webidls/enabled/SVGFEOffsetElement.webidl index 90132d52..f4921cac 100644 --- a/crates/web-sys/webidls/enabled/SVGFEOffsetElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFEOffsetElement.webidl @@ -19,4 +19,4 @@ interface SVGFEOffsetElement : SVGElement { readonly attribute SVGAnimatedNumber dy; }; -SVGFEOffsetElement implements SVGFilterPrimitiveStandardAttributes; +SVGFEOffsetElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl b/crates/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl index 42b6b0e9..ca485268 100644 --- a/crates/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl @@ -25,4 +25,4 @@ interface SVGFESpecularLightingElement : SVGElement { readonly attribute SVGAnimatedNumber kernelUnitLengthY; }; -SVGFESpecularLightingElement implements SVGFilterPrimitiveStandardAttributes; +SVGFESpecularLightingElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFETileElement.webidl b/crates/web-sys/webidls/enabled/SVGFETileElement.webidl index 38cad604..42f3f873 100644 --- a/crates/web-sys/webidls/enabled/SVGFETileElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFETileElement.webidl @@ -15,4 +15,4 @@ interface SVGFETileElement : SVGElement { readonly attribute SVGAnimatedString in1; }; -SVGFETileElement implements SVGFilterPrimitiveStandardAttributes; +SVGFETileElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl b/crates/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl index 45c9d468..f12d8c1b 100644 --- a/crates/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl @@ -36,4 +36,4 @@ interface SVGFETurbulenceElement : SVGElement { readonly attribute SVGAnimatedEnumeration type; }; -SVGFETurbulenceElement implements SVGFilterPrimitiveStandardAttributes; +SVGFETurbulenceElement includes SVGFilterPrimitiveStandardAttributes; diff --git a/crates/web-sys/webidls/enabled/SVGFilterElement.webidl b/crates/web-sys/webidls/enabled/SVGFilterElement.webidl index bbea6841..83d491b3 100644 --- a/crates/web-sys/webidls/enabled/SVGFilterElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGFilterElement.webidl @@ -27,5 +27,4 @@ interface SVGFilterElement : SVGElement { // ImageData apply(ImageData source); }; -SVGFilterElement implements SVGURIReference; - +SVGFilterElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl b/crates/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl index 33195058..02fa882d 100644 --- a/crates/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl +++ b/crates/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl @@ -10,8 +10,7 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGFilterPrimitiveStandardAttributes { +interface mixin SVGFilterPrimitiveStandardAttributes { [Constant] readonly attribute SVGAnimatedLength x; [Constant] diff --git a/crates/web-sys/webidls/enabled/SVGFitToViewBox.webidl b/crates/web-sys/webidls/enabled/SVGFitToViewBox.webidl index 881e658d..650afd15 100644 --- a/crates/web-sys/webidls/enabled/SVGFitToViewBox.webidl +++ b/crates/web-sys/webidls/enabled/SVGFitToViewBox.webidl @@ -10,11 +10,9 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGFitToViewBox { +interface mixin SVGFitToViewBox { [Constant] readonly attribute SVGAnimatedRect viewBox; [Constant] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; }; - diff --git a/crates/web-sys/webidls/enabled/SVGGradientElement.webidl b/crates/web-sys/webidls/enabled/SVGGradientElement.webidl index 8eb75b10..d5553a9b 100644 --- a/crates/web-sys/webidls/enabled/SVGGradientElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGGradientElement.webidl @@ -26,4 +26,4 @@ interface SVGGradientElement : SVGElement { readonly attribute SVGAnimatedEnumeration spreadMethod; }; -SVGGradientElement implements SVGURIReference; +SVGGradientElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGGraphicsElement.webidl b/crates/web-sys/webidls/enabled/SVGGraphicsElement.webidl index 74af1f67..c27d7ed5 100644 --- a/crates/web-sys/webidls/enabled/SVGGraphicsElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGGraphicsElement.webidl @@ -33,4 +33,4 @@ interface SVGGraphicsElement : SVGElement { SVGMatrix getTransformToElement(SVGGraphicsElement element); }; -SVGGraphicsElement implements SVGTests; +SVGGraphicsElement includes SVGTests; diff --git a/crates/web-sys/webidls/enabled/SVGImageElement.webidl b/crates/web-sys/webidls/enabled/SVGImageElement.webidl index 67dab60f..17354f83 100644 --- a/crates/web-sys/webidls/enabled/SVGImageElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGImageElement.webidl @@ -23,6 +23,5 @@ interface SVGImageElement : SVGGraphicsElement { readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; }; -SVGImageElement implements MozImageLoadingContent; -SVGImageElement implements SVGURIReference; - +SVGImageElement includes MozImageLoadingContent; +SVGImageElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGMPathElement.webidl b/crates/web-sys/webidls/enabled/SVGMPathElement.webidl index 7165b6cf..514c4399 100644 --- a/crates/web-sys/webidls/enabled/SVGMPathElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGMPathElement.webidl @@ -13,5 +13,4 @@ interface SVGMPathElement : SVGElement { }; -SVGMPathElement implements SVGURIReference; - +SVGMPathElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGMarkerElement.webidl b/crates/web-sys/webidls/enabled/SVGMarkerElement.webidl index a4f819b2..c49ad096 100644 --- a/crates/web-sys/webidls/enabled/SVGMarkerElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGMarkerElement.webidl @@ -42,5 +42,4 @@ interface SVGMarkerElement : SVGElement { void setOrientToAngle(SVGAngle angle); }; -SVGMarkerElement implements SVGFitToViewBox; - +SVGMarkerElement includes SVGFitToViewBox; diff --git a/crates/web-sys/webidls/enabled/SVGPathElement.webidl b/crates/web-sys/webidls/enabled/SVGPathElement.webidl index a811a8ff..d5479c4b 100644 --- a/crates/web-sys/webidls/enabled/SVGPathElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGPathElement.webidl @@ -14,5 +14,4 @@ interface SVGPathElement : SVGGeometryElement { unsigned long getPathSegAtLength(float distance); }; -SVGPathElement implements SVGAnimatedPathData; - +SVGPathElement includes SVGAnimatedPathData; diff --git a/crates/web-sys/webidls/enabled/SVGPatternElement.webidl b/crates/web-sys/webidls/enabled/SVGPatternElement.webidl index c1d9af9b..0bde1d93 100644 --- a/crates/web-sys/webidls/enabled/SVGPatternElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGPatternElement.webidl @@ -27,5 +27,5 @@ interface SVGPatternElement : SVGElement { readonly attribute SVGAnimatedLength height; }; -SVGPatternElement implements SVGFitToViewBox; -SVGPatternElement implements SVGURIReference; +SVGPatternElement includes SVGFitToViewBox; +SVGPatternElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGPolygonElement.webidl b/crates/web-sys/webidls/enabled/SVGPolygonElement.webidl index 338f9766..6da0edfc 100644 --- a/crates/web-sys/webidls/enabled/SVGPolygonElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGPolygonElement.webidl @@ -13,5 +13,4 @@ interface SVGPolygonElement : SVGGeometryElement { }; -SVGPolygonElement implements SVGAnimatedPoints; - +SVGPolygonElement includes SVGAnimatedPoints; diff --git a/crates/web-sys/webidls/enabled/SVGPolylineElement.webidl b/crates/web-sys/webidls/enabled/SVGPolylineElement.webidl index 0508d009..44e442a8 100644 --- a/crates/web-sys/webidls/enabled/SVGPolylineElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGPolylineElement.webidl @@ -13,5 +13,4 @@ interface SVGPolylineElement : SVGGeometryElement { }; -SVGPolylineElement implements SVGAnimatedPoints; - +SVGPolylineElement includes SVGAnimatedPoints; diff --git a/crates/web-sys/webidls/enabled/SVGSVGElement.webidl b/crates/web-sys/webidls/enabled/SVGSVGElement.webidl index 2e7f01c2..18ff013e 100644 --- a/crates/web-sys/webidls/enabled/SVGSVGElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGSVGElement.webidl @@ -68,6 +68,5 @@ interface SVGSVGElement : SVGGraphicsElement { Element? getElementById(DOMString elementId); }; -SVGSVGElement implements SVGFitToViewBox; -SVGSVGElement implements SVGZoomAndPanValues; - +SVGSVGElement includes SVGFitToViewBox; +SVGSVGElement includes SVGZoomAndPanValues; diff --git a/crates/web-sys/webidls/enabled/SVGScriptElement.webidl b/crates/web-sys/webidls/enabled/SVGScriptElement.webidl index 41bbe065..0cd00096 100644 --- a/crates/web-sys/webidls/enabled/SVGScriptElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGScriptElement.webidl @@ -19,5 +19,4 @@ interface SVGScriptElement : SVGElement { attribute DOMString? crossOrigin; }; -SVGScriptElement implements SVGURIReference; - +SVGScriptElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGStyleElement.webidl b/crates/web-sys/webidls/enabled/SVGStyleElement.webidl index dcdbb8c2..2f74506b 100644 --- a/crates/web-sys/webidls/enabled/SVGStyleElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGStyleElement.webidl @@ -20,5 +20,4 @@ interface SVGStyleElement : SVGElement { [SetterThrows] attribute DOMString title; }; -SVGStyleElement implements LinkStyle; - +SVGStyleElement includes LinkStyle; diff --git a/crates/web-sys/webidls/enabled/SVGSymbolElement.webidl b/crates/web-sys/webidls/enabled/SVGSymbolElement.webidl index ece2c5a3..6cd35429 100644 --- a/crates/web-sys/webidls/enabled/SVGSymbolElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGSymbolElement.webidl @@ -13,5 +13,5 @@ interface SVGSymbolElement : SVGElement { }; -SVGSymbolElement implements SVGFitToViewBox; -SVGSymbolElement implements SVGTests; +SVGSymbolElement includes SVGFitToViewBox; +SVGSymbolElement includes SVGTests; diff --git a/crates/web-sys/webidls/enabled/SVGTests.webidl b/crates/web-sys/webidls/enabled/SVGTests.webidl index e3c38242..c74dc5ef 100644 --- a/crates/web-sys/webidls/enabled/SVGTests.webidl +++ b/crates/web-sys/webidls/enabled/SVGTests.webidl @@ -10,8 +10,7 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGTests { +interface mixin SVGTests { readonly attribute SVGStringList requiredFeatures; readonly attribute SVGStringList requiredExtensions; @@ -19,4 +18,3 @@ interface SVGTests { boolean hasExtension(DOMString extension); }; - diff --git a/crates/web-sys/webidls/enabled/SVGTextPathElement.webidl b/crates/web-sys/webidls/enabled/SVGTextPathElement.webidl index 73a50f3f..d20e50e1 100644 --- a/crates/web-sys/webidls/enabled/SVGTextPathElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGTextPathElement.webidl @@ -30,5 +30,4 @@ interface SVGTextPathElement : SVGTextContentElement { readonly attribute SVGAnimatedEnumeration spacing; }; -SVGTextPathElement implements SVGURIReference; - +SVGTextPathElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGURIReference.webidl b/crates/web-sys/webidls/enabled/SVGURIReference.webidl index 11f94c19..12d216a0 100644 --- a/crates/web-sys/webidls/enabled/SVGURIReference.webidl +++ b/crates/web-sys/webidls/enabled/SVGURIReference.webidl @@ -10,9 +10,7 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGURIReference { +interface mixin SVGURIReference { [Constant] readonly attribute SVGAnimatedString href; }; - diff --git a/crates/web-sys/webidls/enabled/SVGUseElement.webidl b/crates/web-sys/webidls/enabled/SVGUseElement.webidl index 8e7a6fd8..0443ee6a 100644 --- a/crates/web-sys/webidls/enabled/SVGUseElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGUseElement.webidl @@ -23,4 +23,4 @@ interface SVGUseElement : SVGGraphicsElement { //readonly attribute SVGElementInstance animatedInstanceRoot; }; -SVGUseElement implements SVGURIReference; +SVGUseElement includes SVGURIReference; diff --git a/crates/web-sys/webidls/enabled/SVGViewElement.webidl b/crates/web-sys/webidls/enabled/SVGViewElement.webidl index b4be8764..e3c1128f 100644 --- a/crates/web-sys/webidls/enabled/SVGViewElement.webidl +++ b/crates/web-sys/webidls/enabled/SVGViewElement.webidl @@ -13,6 +13,5 @@ interface SVGViewElement : SVGElement { }; -SVGViewElement implements SVGFitToViewBox; -SVGViewElement implements SVGZoomAndPanValues; - +SVGViewElement includes SVGFitToViewBox; +SVGViewElement includes SVGZoomAndPanValues; diff --git a/crates/web-sys/webidls/enabled/SVGZoomAndPan.webidl b/crates/web-sys/webidls/enabled/SVGZoomAndPan.webidl index bb5ee780..115e7e76 100644 --- a/crates/web-sys/webidls/enabled/SVGZoomAndPan.webidl +++ b/crates/web-sys/webidls/enabled/SVGZoomAndPan.webidl @@ -13,4 +13,4 @@ interface SVGZoomAndPan { }; -SVGZoomAndPan implements SVGZoomAndPanValues; +SVGZoomAndPan includes SVGZoomAndPanValues; diff --git a/crates/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl b/crates/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl index a09653f0..9f1e14b6 100644 --- a/crates/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl +++ b/crates/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl @@ -10,8 +10,7 @@ * liability, trademark and document use rules apply. */ -[NoInterfaceObject] -interface SVGZoomAndPanValues { +interface mixin SVGZoomAndPanValues { // Zoom and Pan Types const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0; @@ -21,4 +20,3 @@ interface SVGZoomAndPanValues { [SetterThrows] attribute unsigned short zoomAndPan; }; - diff --git a/crates/web-sys/webidls/enabled/ServiceWorker.webidl b/crates/web-sys/webidls/enabled/ServiceWorker.webidl index 8978cf07..c0a3a12a 100644 --- a/crates/web-sys/webidls/enabled/ServiceWorker.webidl +++ b/crates/web-sys/webidls/enabled/ServiceWorker.webidl @@ -23,7 +23,7 @@ interface ServiceWorker : EventTarget { void postMessage(any message, optional sequence transferable = []); }; -ServiceWorker implements AbstractWorker; +ServiceWorker includes AbstractWorker; enum ServiceWorkerState { // https://github.com/w3c/ServiceWorker/issues/1162 diff --git a/crates/web-sys/webidls/enabled/ShadowRoot.webidl b/crates/web-sys/webidls/enabled/ShadowRoot.webidl index afa5b990..839f8d17 100644 --- a/crates/web-sys/webidls/enabled/ShadowRoot.webidl +++ b/crates/web-sys/webidls/enabled/ShadowRoot.webidl @@ -33,4 +33,4 @@ interface ShadowRoot : DocumentFragment attribute DOMString innerHTML; }; -ShadowRoot implements DocumentOrShadowRoot; +ShadowRoot includes DocumentOrShadowRoot; diff --git a/crates/web-sys/webidls/enabled/SharedWorker.webidl b/crates/web-sys/webidls/enabled/SharedWorker.webidl index 9504f302..62d4dd51 100644 --- a/crates/web-sys/webidls/enabled/SharedWorker.webidl +++ b/crates/web-sys/webidls/enabled/SharedWorker.webidl @@ -9,4 +9,4 @@ interface SharedWorker : EventTarget { readonly attribute MessagePort port; }; -SharedWorker implements AbstractWorker; +SharedWorker includes AbstractWorker; diff --git a/crates/web-sys/webidls/enabled/Text.webidl b/crates/web-sys/webidls/enabled/Text.webidl index 61041149..f3a751ba 100644 --- a/crates/web-sys/webidls/enabled/Text.webidl +++ b/crates/web-sys/webidls/enabled/Text.webidl @@ -23,4 +23,4 @@ partial interface Text { readonly attribute HTMLSlotElement? assignedSlot; }; -Text implements GeometryUtils; +Text includes GeometryUtils; diff --git a/crates/web-sys/webidls/enabled/U2F.webidl b/crates/web-sys/webidls/enabled/U2F.webidl index 29bed6f3..8ae485b5 100644 --- a/crates/web-sys/webidls/enabled/U2F.webidl +++ b/crates/web-sys/webidls/enabled/U2F.webidl @@ -9,8 +9,7 @@ * https://www.fidoalliance.org/specs/fido-u2f-v1.1-id-20160915/fido-u2f-javascript-api-v1.1-id-20160915.html */ -[NoInterfaceObject] -interface GlobalU2F { +interface mixin GlobalU2F { [SecureContext, Throws, Pref="security.webauth.u2f"] readonly attribute U2F u2f; }; diff --git a/crates/web-sys/webidls/enabled/WebGPU.webidl b/crates/web-sys/webidls/enabled/WebGPU.webidl index 1da99854..2ab932a5 100644 --- a/crates/web-sys/webidls/enabled/WebGPU.webidl +++ b/crates/web-sys/webidls/enabled/WebGPU.webidl @@ -632,8 +632,7 @@ interface WebGPU { }; // Add a "webgpu" member to Window that contains the global instance of a "WebGPU" -[NoInterfaceObject] -interface WebGPUProvider { +interface mixin WebGPUProvider { [SameObject, Replaceable, Pref="dom.webgpu.enable"] readonly attribute WebGPU webgpu; }; //Window includes WebGPUProvider; diff --git a/crates/web-sys/webidls/enabled/Window.webidl b/crates/web-sys/webidls/enabled/Window.webidl index 2d612611..bc71f851 100644 --- a/crates/web-sys/webidls/enabled/Window.webidl +++ b/crates/web-sys/webidls/enabled/Window.webidl @@ -88,8 +88,8 @@ // also has obsolete members }; -Window implements GlobalEventHandlers; -Window implements WindowEventHandlers; +Window includes GlobalEventHandlers; +Window includes WindowEventHandlers; // https://www.w3.org/TR/appmanifest/#onappinstalled-attribute partial interface Window { @@ -98,19 +98,17 @@ partial interface Window { }; // http://www.whatwg.org/specs/web-apps/current-work/ -[NoInterfaceObject] -interface WindowSessionStorage { +interface mixin WindowSessionStorage { //[Throws] readonly attribute Storage sessionStorage; [Throws] readonly attribute Storage? sessionStorage; }; -Window implements WindowSessionStorage; +Window includes WindowSessionStorage; // http://www.whatwg.org/specs/web-apps/current-work/ -[NoInterfaceObject] -interface WindowLocalStorage { +interface mixin WindowLocalStorage { [Throws] readonly attribute Storage? localStorage; }; -Window implements WindowLocalStorage; +Window includes WindowLocalStorage; // http://www.whatwg.org/specs/web-apps/current-work/ partial interface Window { @@ -215,24 +213,23 @@ partial interface Window { }; // https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html -Window implements GlobalCrypto; +Window includes GlobalCrypto; // https://fidoalliance.org/specifications/download/ -Window implements GlobalU2F; +Window includes GlobalU2F; //#ifdef MOZ_WEBSPEECH // http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html -[NoInterfaceObject] -interface SpeechSynthesisGetter { +interface mixin SpeechSynthesisGetter { [Throws, Pref="media.webspeech.synth.enabled"] readonly attribute SpeechSynthesis speechSynthesis; }; -Window implements SpeechSynthesisGetter; +Window includes SpeechSynthesisGetter; //#endif -Window implements TouchEventHandlers; +Window includes TouchEventHandlers; -Window implements OnErrorEventHandlerForWindow; +Window includes OnErrorEventHandlerForWindow; //#if defined(MOZ_WIDGET_ANDROID) // https://compat.spec.whatwg.org/#windoworientation-interface @@ -264,7 +261,7 @@ partial interface Window { readonly attribute Worklet paintWorklet; }; -Window implements WindowOrWorkerGlobalScope; +Window includes WindowOrWorkerGlobalScope; partial interface Window { [Throws, Func="nsGlobalWindowInner::IsRequestIdleCallbackEnabled"] @@ -280,4 +277,4 @@ dictionary IdleRequestOptions { callback IdleRequestCallback = void (IdleDeadline deadline); -Window implements WebGPUProvider; +Window includes WebGPUProvider; diff --git a/crates/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl b/crates/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl index a8a09c9a..b02a355f 100644 --- a/crates/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl +++ b/crates/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl @@ -11,8 +11,8 @@ */ // https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin -[NoInterfaceObject, Exposed=(Window,Worker)] -interface WindowOrWorkerGlobalScope { +[Exposed=(Window,Worker)] +interface mixin WindowOrWorkerGlobalScope { [Replaceable] readonly attribute USVString origin; // base64 utility methods diff --git a/crates/web-sys/webidls/enabled/Worker.webidl b/crates/web-sys/webidls/enabled/Worker.webidl index b4ce0500..d8c67ac4 100644 --- a/crates/web-sys/webidls/enabled/Worker.webidl +++ b/crates/web-sys/webidls/enabled/Worker.webidl @@ -24,7 +24,7 @@ interface Worker : EventTarget { attribute EventHandler onmessageerror; }; -Worker implements AbstractWorker; +Worker includes AbstractWorker; dictionary WorkerOptions { // WorkerType type = "classic"; TODO: Bug 1247687 diff --git a/crates/web-sys/webidls/enabled/WorkerGlobalScope.webidl b/crates/web-sys/webidls/enabled/WorkerGlobalScope.webidl index 169dc447..a673151d 100644 --- a/crates/web-sys/webidls/enabled/WorkerGlobalScope.webidl +++ b/crates/web-sys/webidls/enabled/WorkerGlobalScope.webidl @@ -29,8 +29,8 @@ interface WorkerGlobalScope : EventTarget { // also has additional members in a partial interface }; -WorkerGlobalScope implements GlobalCrypto; -WorkerGlobalScope implements WindowOrWorkerGlobalScope; +WorkerGlobalScope includes GlobalCrypto; +WorkerGlobalScope includes WindowOrWorkerGlobalScope; // Not implemented yet: bug 1072107. -// WorkerGlobalScope implements FontFaceSource; +// WorkerGlobalScope includes FontFaceSource; diff --git a/crates/web-sys/webidls/enabled/WorkerNavigator.webidl b/crates/web-sys/webidls/enabled/WorkerNavigator.webidl index a0d2dfdc..1341691f 100644 --- a/crates/web-sys/webidls/enabled/WorkerNavigator.webidl +++ b/crates/web-sys/webidls/enabled/WorkerNavigator.webidl @@ -7,11 +7,11 @@ interface WorkerNavigator { }; -WorkerNavigator implements NavigatorID; -WorkerNavigator implements NavigatorLanguage; -WorkerNavigator implements NavigatorOnLine; -WorkerNavigator implements NavigatorConcurrentHardware; -WorkerNavigator implements NavigatorStorage; +WorkerNavigator includes NavigatorID; +WorkerNavigator includes NavigatorLanguage; +WorkerNavigator includes NavigatorOnLine; +WorkerNavigator includes NavigatorConcurrentHardware; +WorkerNavigator includes NavigatorStorage; // http://wicg.github.io/netinfo/#extensions-to-the-navigator-interface [Exposed=Worker] diff --git a/crates/web-sys/webidls/enabled/XPathEvaluator.webidl b/crates/web-sys/webidls/enabled/XPathEvaluator.webidl index 63604875..a70058d2 100644 --- a/crates/web-sys/webidls/enabled/XPathEvaluator.webidl +++ b/crates/web-sys/webidls/enabled/XPathEvaluator.webidl @@ -5,7 +5,7 @@ */ [Constructor] -interface XPathEvaluator { +interface mixin XPathEvaluator { [NewObject, Throws] XPathExpression createExpression(DOMString expression, optional XPathNSResolver? resolver = null);