diff options
author | Kagami Sascha Rosylight <saschanaz@outlook.com> | 2019-10-01 18:45:26 +0900 |
---|---|---|
committer | Kagami Sascha Rosylight <saschanaz@outlook.com> | 2019-10-01 18:45:26 +0900 |
commit | d6c58b8226f1f87c61ff36476c8690639214be2b (patch) | |
tree | 359f5de4c26b3a5d18bd9e2e389c21d6a6d919d9 /components/script/dom/webidls | |
parent | 1b6715158dd9f04d63545f0c47a4605af3966aa9 (diff) | |
download | servo-d6c58b8226f1f87c61ff36476c8690639214be2b.tar.gz servo-d6c58b8226f1f87c61ff36476c8690639214be2b.zip |
Migrate to IDL mixin syntax
Diffstat (limited to 'components/script/dom/webidls')
46 files changed, 188 insertions, 205 deletions
diff --git a/components/script/dom/webidls/ActivatableElement.webidl b/components/script/dom/webidls/ActivatableElement.webidl index 560f7050a36..bce7730a833 100644 --- a/components/script/dom/webidls/ActivatableElement.webidl +++ b/components/script/dom/webidls/ActivatableElement.webidl @@ -5,8 +5,8 @@ // Interface for testing element activation // This interface is entirely internal to Servo, and should not be accessible to // web pages. -[Exposed=(Window,Worker), NoInterfaceObject] -interface ActivatableElement { +[Exposed=(Window,Worker)] +interface mixin ActivatableElement { [Throws, Pref="dom.testing.element.activation.enabled"] void enterFormalActivationState(); diff --git a/components/script/dom/webidls/Bluetooth.webidl b/components/script/dom/webidls/Bluetooth.webidl index 4491a296c41..8a8d8e6cc43 100644 --- a/components/script/dom/webidls/Bluetooth.webidl +++ b/components/script/dom/webidls/Bluetooth.webidl @@ -37,6 +37,6 @@ interface Bluetooth : EventTarget { Promise<BluetoothDevice> requestDevice(optional RequestDeviceOptions options = {}); }; -// Bluetooth implements BluetoothDeviceEventHandlers; -// Bluetooth implements CharacteristicEventHandlers; -// Bluetooth implements ServiceEventHandlers; +// Bluetooth includes BluetoothDeviceEventHandlers; +// Bluetooth includes CharacteristicEventHandlers; +// Bluetooth includes ServiceEventHandlers; diff --git a/components/script/dom/webidls/BluetoothDevice.webidl b/components/script/dom/webidls/BluetoothDevice.webidl index c8883f76f55..bfbd13913e6 100644 --- a/components/script/dom/webidls/BluetoothDevice.webidl +++ b/components/script/dom/webidls/BluetoothDevice.webidl @@ -15,12 +15,11 @@ interface BluetoothDevice : EventTarget { readonly attribute boolean watchingAdvertisements; }; -[NoInterfaceObject] -interface BluetoothDeviceEventHandlers { +interface mixin BluetoothDeviceEventHandlers { attribute EventHandler ongattserverdisconnected; }; -// BluetoothDevice implements EventTarget; -BluetoothDevice implements BluetoothDeviceEventHandlers; -// BluetoothDevice implements CharacteristicEventHandlers; -// BluetoothDevice implements ServiceEventHandlers; +// BluetoothDevice includes EventTarget; +BluetoothDevice includes BluetoothDeviceEventHandlers; +// BluetoothDevice includes CharacteristicEventHandlers; +// BluetoothDevice includes ServiceEventHandlers; diff --git a/components/script/dom/webidls/BluetoothRemoteGATTCharacteristic.webidl b/components/script/dom/webidls/BluetoothRemoteGATTCharacteristic.webidl index 0d4b0efb55f..c81bfa4b403 100644 --- a/components/script/dom/webidls/BluetoothRemoteGATTCharacteristic.webidl +++ b/components/script/dom/webidls/BluetoothRemoteGATTCharacteristic.webidl @@ -21,10 +21,9 @@ interface BluetoothRemoteGATTCharacteristic : EventTarget { Promise<BluetoothRemoteGATTCharacteristic> stopNotifications(); }; -[NoInterfaceObject] -interface CharacteristicEventHandlers { +interface mixin CharacteristicEventHandlers { attribute EventHandler oncharacteristicvaluechanged; }; -// BluetoothRemoteGATTCharacteristic implements EventTarget; -BluetoothRemoteGATTCharacteristic implements CharacteristicEventHandlers; +// BluetoothRemoteGATTCharacteristic includes EventTarget; +BluetoothRemoteGATTCharacteristic includes CharacteristicEventHandlers; diff --git a/components/script/dom/webidls/BluetoothRemoteGATTService.webidl b/components/script/dom/webidls/BluetoothRemoteGATTService.webidl index 9e6fee7a067..478f6df22ab 100644 --- a/components/script/dom/webidls/BluetoothRemoteGATTService.webidl +++ b/components/script/dom/webidls/BluetoothRemoteGATTService.webidl @@ -17,13 +17,12 @@ interface BluetoothRemoteGATTService : EventTarget { Promise<sequence<BluetoothRemoteGATTService>> getIncludedServices(optional BluetoothServiceUUID service); }; -[NoInterfaceObject] -interface ServiceEventHandlers { +interface mixin ServiceEventHandlers { attribute EventHandler onserviceadded; attribute EventHandler onservicechanged; attribute EventHandler onserviceremoved; }; -// BluetoothRemoteGATTService implements EventTarget; -// BluetoothRemoteGATTService implements CharacteristicEventHandlers; -BluetoothRemoteGATTService implements ServiceEventHandlers; +// BluetoothRemoteGATTService includes EventTarget; +// BluetoothRemoteGATTService includes CharacteristicEventHandlers; +BluetoothRemoteGATTService includes ServiceEventHandlers; diff --git a/components/script/dom/webidls/Body.webidl b/components/script/dom/webidls/Body.webidl index a894d39f721..bfca1ad3990 100644 --- a/components/script/dom/webidls/Body.webidl +++ b/components/script/dom/webidls/Body.webidl @@ -4,10 +4,8 @@ // https://fetch.spec.whatwg.org/#body -[NoInterfaceObject, - Exposed=(Window,Worker)] - -interface Body { +[Exposed=(Window,Worker)] +interface mixin Body { readonly attribute boolean bodyUsed; [NewObject] Promise<ArrayBuffer> arrayBuffer(); diff --git a/components/script/dom/webidls/CanvasRenderingContext2D.webidl b/components/script/dom/webidls/CanvasRenderingContext2D.webidl index 2da0372a9ba..743661cdf53 100644 --- a/components/script/dom/webidls/CanvasRenderingContext2D.webidl +++ b/components/script/dom/webidls/CanvasRenderingContext2D.webidl @@ -22,32 +22,32 @@ interface CanvasRenderingContext2D { // back-reference to the canvas readonly attribute HTMLCanvasElement canvas; }; -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 CanvasPath; - -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasState { +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 CanvasPath; + +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasState { // state void save(); // push state on state stack void restore(); // pop state stack and restore state }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasTransform { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasTransform { // transformations (default transform is the identity matrix) void scale(unrestricted double x, unrestricted double y); void rotate(unrestricted double angle); @@ -70,22 +70,22 @@ interface CanvasTransform { void resetTransform(); }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasCompositing { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasCompositing { // compositing attribute unrestricted double globalAlpha; // (default 1.0) attribute DOMString globalCompositeOperation; // (default source-over) }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasImageSmoothing { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasImageSmoothing { // image smoothing attribute boolean imageSmoothingEnabled; // (default true) // attribute ImageSmoothingQuality imageSmoothingQuality; // (default low) }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasFillStrokeStyles { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasFillStrokeStyles { // colours and styles (see also the CanvasDrawingStyles interface) attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) @@ -96,8 +96,8 @@ interface CanvasFillStrokeStyles { CanvasPattern createPattern(CanvasImageSource image, [TreatNullAs=EmptyString] DOMString repetition); }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasShadowStyles { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasShadowStyles { // shadows attribute unrestricted double shadowOffsetX; // (default 0) attribute unrestricted double shadowOffsetY; // (default 0) @@ -105,22 +105,22 @@ interface CanvasShadowStyles { attribute DOMString shadowColor; // (default transparent black) }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasFilters { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasFilters { // filters //attribute DOMString filter; // (default "none") }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasRect { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasRect { // rects void clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); void fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); void strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasDrawPath { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasDrawPath { // path API (see also CanvasPath) void beginPath(); void fill(optional CanvasFillRule fillRule = "nonzero"); @@ -137,16 +137,16 @@ interface CanvasDrawPath { //boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); }; -[Exposed=(PaintWorklet, Window), NoInterfaceObject] -interface CanvasUserInterface { +[Exposed=(PaintWorklet, Window)] +interface mixin CanvasUserInterface { //void drawFocusIfNeeded(Element element); //void drawFocusIfNeeded(Path2D path, Element element); //void scrollPathIntoView(); //void scrollPathIntoView(Path2D path); }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasText { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasText { // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) [Pref="dom.canvas-text.enabled"] void fillText(DOMString text, unrestricted double x, unrestricted double y, @@ -157,8 +157,8 @@ interface CanvasText { TextMetrics measureText(DOMString text); }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasDrawImage { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasDrawImage { // drawing images [Throws] void drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy); @@ -172,8 +172,8 @@ interface CanvasDrawImage { unrestricted double dw, unrestricted double dh); }; -[Exposed=(Window, Worker), NoInterfaceObject] -interface CanvasImageData { +[Exposed=(Window, Worker)] +interface mixin CanvasImageData { // pixel manipulation [Throws] ImageData createImageData(long sw, long sh); @@ -194,8 +194,8 @@ enum CanvasTextAlign { "start", "end", "left", "right", "center" }; enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" }; enum CanvasDirection { "ltr", "rtl", "inherit" }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasPathDrawingStyles { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasPathDrawingStyles { // line caps/joins attribute unrestricted double lineWidth; // (default 1) attribute CanvasLineCap lineCap; // (default "butt") @@ -208,8 +208,8 @@ interface CanvasPathDrawingStyles { //attribute unrestricted double lineDashOffset; }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasTextDrawingStyles { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasTextDrawingStyles { // text //attribute DOMString font; // (default 10px sans-serif) //attribute CanvasTextAlign textAlign; // "start", "end", "left", "right", "center" (default: "start") @@ -218,8 +218,8 @@ interface CanvasTextDrawingStyles { //attribute CanvasDirection direction; // "ltr", "rtl", "inherit" (default: "inherit") }; -[Exposed=(PaintWorklet, Window, Worker), NoInterfaceObject] -interface CanvasPath { +[Exposed=(PaintWorklet, Window, Worker)] +interface mixin CanvasPath { // shared path API methods void closePath(); void moveTo(unrestricted double x, unrestricted double y); diff --git a/components/script/dom/webidls/CharacterData.webidl b/components/script/dom/webidls/CharacterData.webidl index eff1539caf2..64c891d87f8 100644 --- a/components/script/dom/webidls/CharacterData.webidl +++ b/components/script/dom/webidls/CharacterData.webidl @@ -24,5 +24,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/components/script/dom/webidls/ChildNode.webidl b/components/script/dom/webidls/ChildNode.webidl index f49b8178f05..8964653fffc 100644 --- a/components/script/dom/webidls/ChildNode.webidl +++ b/components/script/dom/webidls/ChildNode.webidl @@ -6,8 +6,7 @@ * https://dom.spec.whatwg.org/#interface-childnode */ -[NoInterfaceObject] -interface ChildNode { +interface mixin ChildNode { [Throws, CEReactions, Unscopable] void before((Node or DOMString)... nodes); [Throws, CEReactions, Unscopable] @@ -18,8 +17,7 @@ interface ChildNode { void remove(); }; -[NoInterfaceObject] -interface NonDocumentTypeChildNode { +interface mixin NonDocumentTypeChildNode { [Pure] readonly attribute Element? previousElementSibling; [Pure] diff --git a/components/script/dom/webidls/Crypto.webidl b/components/script/dom/webidls/Crypto.webidl index 094b427996b..8a92d425d89 100644 --- a/components/script/dom/webidls/Crypto.webidl +++ b/components/script/dom/webidls/Crypto.webidl @@ -7,13 +7,13 @@ * */ -[NoInterfaceObject, Exposed=(Window,Worker)] -interface GlobalCrypto { +[Exposed=(Window,Worker)] +interface mixin GlobalCrypto { readonly attribute Crypto crypto; }; -Window implements GlobalCrypto; -WorkerGlobalScope implements GlobalCrypto; +Window includes GlobalCrypto; +WorkerGlobalScope includes GlobalCrypto; [Exposed=(Window,Worker)] interface Crypto { diff --git a/components/script/dom/webidls/Document.webidl b/components/script/dom/webidls/Document.webidl index 04e5b851c3f..f7b8eea0434 100644 --- a/components/script/dom/webidls/Document.webidl +++ b/components/script/dom/webidls/Document.webidl @@ -72,8 +72,8 @@ interface Document : Node { optional NodeFilter? filter = null); }; -Document implements NonElementParentNode; -Document implements ParentNode; +Document includes NonElementParentNode; +Document includes ParentNode; enum DocumentReadyState { "loading", "interactive", "complete" }; @@ -148,8 +148,8 @@ partial /*sealed*/ interface Document { // also has obsolete members }; -Document implements GlobalEventHandlers; -Document implements DocumentAndElementEventHandlers; +Document includes GlobalEventHandlers; +Document includes DocumentAndElementEventHandlers; // https://html.spec.whatwg.org/multipage/#Document-partial partial interface Document { @@ -210,7 +210,7 @@ partial interface Document { attribute EventHandler onfullscreenerror; }; -Document implements DocumentOrShadowRoot; +Document includes DocumentOrShadowRoot; // Servo internal API. partial interface Document { diff --git a/components/script/dom/webidls/DocumentFragment.webidl b/components/script/dom/webidls/DocumentFragment.webidl index 2fd25eb1923..bc34479ee9f 100644 --- a/components/script/dom/webidls/DocumentFragment.webidl +++ b/components/script/dom/webidls/DocumentFragment.webidl @@ -7,5 +7,5 @@ interface DocumentFragment : Node { }; -DocumentFragment implements NonElementParentNode; -DocumentFragment implements ParentNode; +DocumentFragment includes NonElementParentNode; +DocumentFragment includes ParentNode; diff --git a/components/script/dom/webidls/DocumentOrShadowRoot.webidl b/components/script/dom/webidls/DocumentOrShadowRoot.webidl index b5a1a1d0cee..c833299482b 100644 --- a/components/script/dom/webidls/DocumentOrShadowRoot.webidl +++ b/components/script/dom/webidls/DocumentOrShadowRoot.webidl @@ -7,8 +7,7 @@ * https://w3c.github.io/webcomponents/spec/shadow/#extensions-to-the-documentorshadowroot-mixin */ -[NoInterfaceObject] -interface DocumentOrShadowRoot { +interface mixin DocumentOrShadowRoot { // Selection? getSelection(); Element? elementFromPoint (double x, double y); sequence<Element> elementsFromPoint (double x, double y); diff --git a/components/script/dom/webidls/DocumentType.webidl b/components/script/dom/webidls/DocumentType.webidl index da4199fd492..65d643a8dca 100644 --- a/components/script/dom/webidls/DocumentType.webidl +++ b/components/script/dom/webidls/DocumentType.webidl @@ -18,4 +18,4 @@ interface DocumentType : Node { readonly attribute DOMString systemId; }; -DocumentType implements ChildNode; +DocumentType includes ChildNode; diff --git a/components/script/dom/webidls/Element.webidl b/components/script/dom/webidls/Element.webidl index f45dfe53f1a..c720ff4b88e 100644 --- a/components/script/dom/webidls/Element.webidl +++ b/components/script/dom/webidls/Element.webidl @@ -122,7 +122,7 @@ partial interface Element { Promise<void> requestFullscreen(); }; -Element implements ChildNode; -Element implements NonDocumentTypeChildNode; -Element implements ParentNode; -Element implements ActivatableElement; +Element includes ChildNode; +Element includes NonDocumentTypeChildNode; +Element includes ParentNode; +Element includes ActivatableElement; diff --git a/components/script/dom/webidls/ElementCSSInlineStyle.webidl b/components/script/dom/webidls/ElementCSSInlineStyle.webidl index c2af8985948..c71106f3201 100644 --- a/components/script/dom/webidls/ElementCSSInlineStyle.webidl +++ b/components/script/dom/webidls/ElementCSSInlineStyle.webidl @@ -4,7 +4,7 @@ //http://dev.w3.org/csswg/cssom/#elementcssinlinestyle -[NoInterfaceObject, Exposed=Window] -interface ElementCSSInlineStyle { +[Exposed=Window] +interface mixin ElementCSSInlineStyle { [SameObject/*, PutForwards=cssText*/] readonly attribute CSSStyleDeclaration style; }; diff --git a/components/script/dom/webidls/ElementContentEditable.webidl b/components/script/dom/webidls/ElementContentEditable.webidl index 8d9b7c22ea5..ba7966c225d 100644 --- a/components/script/dom/webidls/ElementContentEditable.webidl +++ b/components/script/dom/webidls/ElementContentEditable.webidl @@ -3,8 +3,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // https://html.spec.whatwg.org/multipage/#elementcontenteditable -[NoInterfaceObject, Exposed=Window] -interface ElementContentEditable { +[Exposed=Window] +interface mixin ElementContentEditable { // [CEReactions] // attribute DOMString contentEditable; // readonly attribute boolean isContentEditable; diff --git a/components/script/dom/webidls/EventHandler.webidl b/components/script/dom/webidls/EventHandler.webidl index 972b081b4b0..b5566db7153 100644 --- a/components/script/dom/webidls/EventHandler.webidl +++ b/components/script/dom/webidls/EventHandler.webidl @@ -25,8 +25,8 @@ callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event); typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; // https://html.spec.whatwg.org/multipage/#globaleventhandlers -[NoInterfaceObject, Exposed=Window] -interface GlobalEventHandlers { +[Exposed=Window] +interface mixin GlobalEventHandlers { attribute EventHandler onabort; attribute EventHandler onblur; attribute EventHandler oncancel; @@ -90,13 +90,13 @@ interface GlobalEventHandlers { }; // https://drafts.csswg.org/css-transitions/#interface-globaleventhandlers-idl -partial interface GlobalEventHandlers { +partial interface mixin GlobalEventHandlers { attribute EventHandler ontransitionend; }; // https://html.spec.whatwg.org/multipage/#windoweventhandlers -[NoInterfaceObject, Exposed=Window] -interface WindowEventHandlers { +[Exposed=Window] +interface mixin WindowEventHandlers { attribute EventHandler onafterprint; attribute EventHandler onbeforeprint; attribute OnBeforeUnloadEventHandler onbeforeunload; @@ -116,7 +116,7 @@ interface WindowEventHandlers { }; // https://w3c.github.io/webvr/spec/1.1/#interface-window -partial interface WindowEventHandlers { +partial interface mixin WindowEventHandlers { attribute EventHandler onvrdisplayconnect; attribute EventHandler onvrdisplaydisconnect; attribute EventHandler onvrdisplayactivate; @@ -127,8 +127,8 @@ partial interface WindowEventHandlers { }; // https://html.spec.whatwg.org/multipage/#documentandelementeventhandlers -[NoInterfaceObject, Exposed=Window] -interface DocumentAndElementEventHandlers { +[Exposed=Window] +interface mixin DocumentAndElementEventHandlers { attribute EventHandler oncopy; attribute EventHandler oncut; attribute EventHandler onpaste; diff --git a/components/script/dom/webidls/Fetch.webidl b/components/script/dom/webidls/Fetch.webidl index ad0907d7436..abedcf620ea 100644 --- a/components/script/dom/webidls/Fetch.webidl +++ b/components/script/dom/webidls/Fetch.webidl @@ -6,6 +6,6 @@ [Exposed=(Window,Worker)] -partial interface WindowOrWorkerGlobalScope { +partial interface mixin WindowOrWorkerGlobalScope { [NewObject] Promise<Response> fetch(RequestInfo input, optional RequestInit init = {}); }; diff --git a/components/script/dom/webidls/HTMLAnchorElement.webidl b/components/script/dom/webidls/HTMLAnchorElement.webidl index 62aac176d8b..875c39ca997 100644 --- a/components/script/dom/webidls/HTMLAnchorElement.webidl +++ b/components/script/dom/webidls/HTMLAnchorElement.webidl @@ -32,7 +32,7 @@ interface HTMLAnchorElement : HTMLElement { // also has obsolete members }; -HTMLAnchorElement implements HTMLHyperlinkElementUtils; +HTMLAnchorElement includes HTMLHyperlinkElementUtils; // https://html.spec.whatwg.org/multipage/#HTMLAnchorElement-partial partial interface HTMLAnchorElement { diff --git a/components/script/dom/webidls/HTMLAreaElement.webidl b/components/script/dom/webidls/HTMLAreaElement.webidl index afc30952a91..0f6b6319fce 100644 --- a/components/script/dom/webidls/HTMLAreaElement.webidl +++ b/components/script/dom/webidls/HTMLAreaElement.webidl @@ -22,7 +22,7 @@ interface HTMLAreaElement : HTMLElement { readonly attribute DOMTokenList relList; // hreflang and type are not reflected }; -//HTMLAreaElement implements HTMLHyperlinkElementUtils; +//HTMLAreaElement includes HTMLHyperlinkElementUtils; // https://html.spec.whatwg.org/multipage/#HTMLAreaElement-partial partial interface HTMLAreaElement { diff --git a/components/script/dom/webidls/HTMLBodyElement.webidl b/components/script/dom/webidls/HTMLBodyElement.webidl index 7c8456cbf83..b1aaceccaeb 100644 --- a/components/script/dom/webidls/HTMLBodyElement.webidl +++ b/components/script/dom/webidls/HTMLBodyElement.webidl @@ -7,7 +7,7 @@ interface HTMLBodyElement : HTMLElement { // also has obsolete members }; -HTMLBodyElement implements WindowEventHandlers; +HTMLBodyElement includes WindowEventHandlers; // https://html.spec.whatwg.org/multipage/#HTMLBodyElement-partial partial interface HTMLBodyElement { diff --git a/components/script/dom/webidls/HTMLElement.webidl b/components/script/dom/webidls/HTMLElement.webidl index ae7a91a96ff..da1ab779785 100644 --- a/components/script/dom/webidls/HTMLElement.webidl +++ b/components/script/dom/webidls/HTMLElement.webidl @@ -67,7 +67,7 @@ partial interface HTMLElement { readonly attribute long offsetHeight; }; -HTMLElement implements GlobalEventHandlers; -HTMLElement implements DocumentAndElementEventHandlers; -HTMLElement implements ElementContentEditable; -HTMLElement implements ElementCSSInlineStyle; +HTMLElement includes GlobalEventHandlers; +HTMLElement includes DocumentAndElementEventHandlers; +HTMLElement includes ElementContentEditable; +HTMLElement includes ElementCSSInlineStyle; diff --git a/components/script/dom/webidls/HTMLFrameSetElement.webidl b/components/script/dom/webidls/HTMLFrameSetElement.webidl index f1157304dac..eae4d57a68c 100644 --- a/components/script/dom/webidls/HTMLFrameSetElement.webidl +++ b/components/script/dom/webidls/HTMLFrameSetElement.webidl @@ -11,4 +11,4 @@ interface HTMLFrameSetElement : HTMLElement { // attribute DOMString rows; }; -HTMLFrameSetElement implements WindowEventHandlers; +HTMLFrameSetElement includes WindowEventHandlers; diff --git a/components/script/dom/webidls/HTMLHyperlinkElementUtils.webidl b/components/script/dom/webidls/HTMLHyperlinkElementUtils.webidl index 976d4632df9..7c4750a58f6 100644 --- a/components/script/dom/webidls/HTMLHyperlinkElementUtils.webidl +++ b/components/script/dom/webidls/HTMLHyperlinkElementUtils.webidl @@ -3,8 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // https://html.spec.whatwg.org/multipage/#htmlhyperlinkelementutils -[NoInterfaceObject] -interface HTMLHyperlinkElementUtils { +interface mixin HTMLHyperlinkElementUtils { // [CEReactions] // stringifier attribute USVString href; [CEReactions] diff --git a/components/script/dom/webidls/HTMLLinkElement.webidl b/components/script/dom/webidls/HTMLLinkElement.webidl index 619bb3240d0..83f9545914b 100644 --- a/components/script/dom/webidls/HTMLLinkElement.webidl +++ b/components/script/dom/webidls/HTMLLinkElement.webidl @@ -24,7 +24,7 @@ interface HTMLLinkElement : HTMLElement { // also has obsolete members }; -HTMLLinkElement implements LinkStyle; +HTMLLinkElement includes LinkStyle; // https://html.spec.whatwg.org/multipage/#HTMLLinkElement-partial partial interface HTMLLinkElement { diff --git a/components/script/dom/webidls/HTMLStyleElement.webidl b/components/script/dom/webidls/HTMLStyleElement.webidl index b2b61cd1c79..09a2ba567f0 100644 --- a/components/script/dom/webidls/HTMLStyleElement.webidl +++ b/components/script/dom/webidls/HTMLStyleElement.webidl @@ -12,4 +12,4 @@ interface HTMLStyleElement : HTMLElement { // [CEReactions] // attribute boolean scoped; }; -HTMLStyleElement implements LinkStyle; +HTMLStyleElement includes LinkStyle; diff --git a/components/script/dom/webidls/Navigator.webidl b/components/script/dom/webidls/Navigator.webidl index eb3577159fa..afd7aa7d502 100644 --- a/components/script/dom/webidls/Navigator.webidl +++ b/components/script/dom/webidls/Navigator.webidl @@ -6,17 +6,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 NavigatorPlugins; -Navigator implements NavigatorCookies; +Navigator includes NavigatorID; +Navigator includes NavigatorLanguage; +//Navigator includes NavigatorOnLine; +//Navigator includes NavigatorContentUtils; +//Navigator includes NavigatorStorageUtils; +Navigator includes NavigatorPlugins; +Navigator includes NavigatorCookies; // https://html.spec.whatwg.org/multipage/#navigatorid -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorID { +[Exposed=(Window,Worker)] +interface mixin NavigatorID { readonly attribute DOMString appCodeName; // constant "Mozilla" readonly attribute DOMString appName; readonly attribute DOMString appVersion; @@ -40,24 +40,22 @@ partial interface Navigator { }; // https://html.spec.whatwg.org/multipage/#navigatorlanguage -[NoInterfaceObject, Exposed=(Window,Worker)] -interface NavigatorLanguage { +[Exposed=(Window,Worker)] +interface mixin NavigatorLanguage { readonly attribute DOMString language; // https://github.com/servo/servo/issues/10073 //readonly attribute DOMString[] languages; }; // https://html.spec.whatwg.org/multipage/#navigatorplugins -[NoInterfaceObject] -interface NavigatorPlugins { +interface mixin NavigatorPlugins { [SameObject] readonly attribute PluginArray plugins; [SameObject] readonly attribute MimeTypeArray mimeTypes; boolean javaEnabled(); }; // https://html.spec.whatwg.org/multipage/#navigatorcookies -[NoInterfaceObject] -interface NavigatorCookies { +interface mixin NavigatorCookies { readonly attribute boolean cookieEnabled; }; diff --git a/components/script/dom/webidls/NonElementParentNode.webidl b/components/script/dom/webidls/NonElementParentNode.webidl index 243db7440a2..2d2c18c368e 100644 --- a/components/script/dom/webidls/NonElementParentNode.webidl +++ b/components/script/dom/webidls/NonElementParentNode.webidl @@ -3,8 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // https://dom.spec.whatwg.org/#nonelementparentnode -[NoInterfaceObject] -interface NonElementParentNode { +interface mixin NonElementParentNode { [Pure] Element? getElementById(DOMString elementId); }; diff --git a/components/script/dom/webidls/OffscreenCanvasRenderingContext2D.webidl b/components/script/dom/webidls/OffscreenCanvasRenderingContext2D.webidl index 71b9955ee9c..c129bfa8e47 100644 --- a/components/script/dom/webidls/OffscreenCanvasRenderingContext2D.webidl +++ b/components/script/dom/webidls/OffscreenCanvasRenderingContext2D.webidl @@ -8,22 +8,22 @@ interface OffscreenCanvasRenderingContext2D { //void commit(); readonly attribute OffscreenCanvas canvas; }; -OffscreenCanvasRenderingContext2D implements CanvasState; -OffscreenCanvasRenderingContext2D implements CanvasCompositing; -OffscreenCanvasRenderingContext2D implements CanvasImageSmoothing; -OffscreenCanvasRenderingContext2D implements CanvasFillStrokeStyles; -OffscreenCanvasRenderingContext2D implements CanvasShadowStyles; -OffscreenCanvasRenderingContext2D implements CanvasFilters; -OffscreenCanvasRenderingContext2D implements CanvasRect; +OffscreenCanvasRenderingContext2D includes CanvasState; +OffscreenCanvasRenderingContext2D includes CanvasCompositing; +OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing; +OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles; +OffscreenCanvasRenderingContext2D includes CanvasShadowStyles; +OffscreenCanvasRenderingContext2D includes CanvasFilters; +OffscreenCanvasRenderingContext2D includes CanvasRect; -OffscreenCanvasRenderingContext2D implements CanvasTransform; -OffscreenCanvasRenderingContext2D implements CanvasDrawPath; -OffscreenCanvasRenderingContext2D implements CanvasText; -OffscreenCanvasRenderingContext2D implements CanvasDrawImage; -OffscreenCanvasRenderingContext2D implements CanvasImageData; -OffscreenCanvasRenderingContext2D implements CanvasPathDrawingStyles; -OffscreenCanvasRenderingContext2D implements CanvasTextDrawingStyles; -OffscreenCanvasRenderingContext2D implements CanvasPath; +OffscreenCanvasRenderingContext2D includes CanvasTransform; +OffscreenCanvasRenderingContext2D includes CanvasDrawPath; +OffscreenCanvasRenderingContext2D includes CanvasText; +OffscreenCanvasRenderingContext2D includes CanvasDrawImage; +OffscreenCanvasRenderingContext2D includes CanvasImageData; +OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles; +OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles; +OffscreenCanvasRenderingContext2D includes CanvasPath; diff --git a/components/script/dom/webidls/PaintRenderingContext2D.webidl b/components/script/dom/webidls/PaintRenderingContext2D.webidl index 97d30e1ff98..bc415450358 100644 --- a/components/script/dom/webidls/PaintRenderingContext2D.webidl +++ b/components/script/dom/webidls/PaintRenderingContext2D.webidl @@ -6,14 +6,14 @@ [Pref="dom.worklet.enabled", Exposed=PaintWorklet] interface PaintRenderingContext2D { }; -PaintRenderingContext2D implements CanvasState; -PaintRenderingContext2D implements CanvasTransform; -PaintRenderingContext2D implements CanvasCompositing; -PaintRenderingContext2D implements CanvasImageSmoothing; -PaintRenderingContext2D implements CanvasFillStrokeStyles; -PaintRenderingContext2D implements CanvasShadowStyles; -PaintRenderingContext2D implements CanvasRect; -PaintRenderingContext2D implements CanvasDrawPath; -PaintRenderingContext2D implements CanvasDrawImage; -PaintRenderingContext2D implements CanvasPathDrawingStyles; -PaintRenderingContext2D implements CanvasPath; +PaintRenderingContext2D includes CanvasState; +PaintRenderingContext2D includes CanvasTransform; +PaintRenderingContext2D includes CanvasCompositing; +PaintRenderingContext2D includes CanvasImageSmoothing; +PaintRenderingContext2D includes CanvasFillStrokeStyles; +PaintRenderingContext2D includes CanvasShadowStyles; +PaintRenderingContext2D includes CanvasRect; +PaintRenderingContext2D includes CanvasDrawPath; +PaintRenderingContext2D includes CanvasDrawImage; +PaintRenderingContext2D includes CanvasPathDrawingStyles; +PaintRenderingContext2D includes CanvasPath; diff --git a/components/script/dom/webidls/ParentNode.webidl b/components/script/dom/webidls/ParentNode.webidl index 84df5422c4a..ef39ed8a414 100644 --- a/components/script/dom/webidls/ParentNode.webidl +++ b/components/script/dom/webidls/ParentNode.webidl @@ -6,8 +6,7 @@ * https://dom.spec.whatwg.org/#interface-parentnode */ -[NoInterfaceObject] -interface ParentNode { +interface mixin ParentNode { [SameObject] readonly attribute HTMLCollection children; [Pure] diff --git a/components/script/dom/webidls/Request.webidl b/components/script/dom/webidls/Request.webidl index 52f258446f3..46334ad931d 100644 --- a/components/script/dom/webidls/Request.webidl +++ b/components/script/dom/webidls/Request.webidl @@ -26,7 +26,7 @@ interface Request { [NewObject, Throws] Request clone(); }; -Request implements Body; +Request includes Body; dictionary RequestInit { ByteString method; diff --git a/components/script/dom/webidls/Response.webidl b/components/script/dom/webidls/Response.webidl index 7297d64ae9b..4452af3ce69 100644 --- a/components/script/dom/webidls/Response.webidl +++ b/components/script/dom/webidls/Response.webidl @@ -23,7 +23,7 @@ interface Response { [NewObject, Throws] Response clone(); }; -Response implements Body; +Response includes Body; dictionary ResponseInit { unsigned short status = 200; diff --git a/components/script/dom/webidls/SVGElement.webidl b/components/script/dom/webidls/SVGElement.webidl index 5693811e2c5..eb412d69735 100644 --- a/components/script/dom/webidls/SVGElement.webidl +++ b/components/script/dom/webidls/SVGElement.webidl @@ -18,5 +18,5 @@ interface SVGElement : Element { //void blur(); }; -//SVGElement implements GlobalEventHandlers; -//SVGElement implements SVGElementInstance; +//SVGElement includes GlobalEventHandlers; +//SVGElement includes SVGElementInstance; diff --git a/components/script/dom/webidls/SVGGraphicsElement.webidl b/components/script/dom/webidls/SVGGraphicsElement.webidl index 9c6c21779e4..945c35bd5c3 100644 --- a/components/script/dom/webidls/SVGGraphicsElement.webidl +++ b/components/script/dom/webidls/SVGGraphicsElement.webidl @@ -19,4 +19,4 @@ interface SVGGraphicsElement : SVGElement { //DOMMatrix? getScreenCTM(); }; -//SVGGraphicsElement implements SVGTests; +//SVGGraphicsElement includes SVGTests; diff --git a/components/script/dom/webidls/SVGSVGElement.webidl b/components/script/dom/webidls/SVGSVGElement.webidl index 11e8386a6fd..bef4b08c7d4 100644 --- a/components/script/dom/webidls/SVGSVGElement.webidl +++ b/components/script/dom/webidls/SVGSVGElement.webidl @@ -40,6 +40,6 @@ interface SVGSVGElement : SVGGraphicsElement { //void forceRedraw(); }; -//SVGSVGElement implements SVGFitToViewBox; -//SVGSVGElement implements SVGZoomAndPan; -//SVGSVGElement implements WindowEventHandlers; +//SVGSVGElement includes SVGFitToViewBox; +//SVGSVGElement includes SVGZoomAndPan; +//SVGSVGElement includes WindowEventHandlers; diff --git a/components/script/dom/webidls/ServiceWorker.webidl b/components/script/dom/webidls/ServiceWorker.webidl index ac075018c47..24a700ab103 100644 --- a/components/script/dom/webidls/ServiceWorker.webidl +++ b/components/script/dom/webidls/ServiceWorker.webidl @@ -14,7 +14,7 @@ interface ServiceWorker : EventTarget { }; // FIXME: use `includes` instead of `implements` after #22539 is fixed. -ServiceWorker implements AbstractWorker; +ServiceWorker includes AbstractWorker; enum ServiceWorkerState { "installing", diff --git a/components/script/dom/webidls/ShadowRoot.webidl b/components/script/dom/webidls/ShadowRoot.webidl index 711d4f853bd..b39991df4b6 100644 --- a/components/script/dom/webidls/ShadowRoot.webidl +++ b/components/script/dom/webidls/ShadowRoot.webidl @@ -14,4 +14,4 @@ interface ShadowRoot : DocumentFragment { enum ShadowRootMode { "open", "closed"}; -ShadowRoot implements DocumentOrShadowRoot; +ShadowRoot includes DocumentOrShadowRoot; diff --git a/components/script/dom/webidls/StyleSheet.webidl b/components/script/dom/webidls/StyleSheet.webidl index 62a8e3e686b..827bd30a9af 100644 --- a/components/script/dom/webidls/StyleSheet.webidl +++ b/components/script/dom/webidls/StyleSheet.webidl @@ -17,7 +17,6 @@ interface StyleSheet { }; // https://drafts.csswg.org/cssom/#the-linkstyle-interface -[NoInterfaceObject] -interface LinkStyle { +interface mixin LinkStyle { readonly attribute StyleSheet? sheet; }; diff --git a/components/script/dom/webidls/WebGL2RenderingContext.webidl b/components/script/dom/webidls/WebGL2RenderingContext.webidl index 49c8066990d..7b8c76247e6 100644 --- a/components/script/dom/webidls/WebGL2RenderingContext.webidl +++ b/components/script/dom/webidls/WebGL2RenderingContext.webidl @@ -29,8 +29,7 @@ typedef unsigned long long GLuint64; // typedef ([AllowShared] Uint32Array or sequence<GLuint>) Uint32List; -[NoInterfaceObject] -interface WebGL2RenderingContextBase +interface mixin WebGL2RenderingContextBase { const GLenum READ_BUFFER = 0x0C02; const GLenum UNPACK_ROW_LENGTH = 0x0CF2; @@ -587,5 +586,5 @@ interface WebGL2RenderingContextBase interface WebGL2RenderingContext { }; -WebGL2RenderingContext implements WebGLRenderingContextBase; -WebGL2RenderingContext implements WebGL2RenderingContextBase; +WebGL2RenderingContext includes WebGLRenderingContextBase; +WebGL2RenderingContext includes WebGL2RenderingContextBase; diff --git a/components/script/dom/webidls/WebGLRenderingContext.webidl b/components/script/dom/webidls/WebGLRenderingContext.webidl index cce49c4518f..0d3504c53f0 100644 --- a/components/script/dom/webidls/WebGLRenderingContext.webidl +++ b/components/script/dom/webidls/WebGLRenderingContext.webidl @@ -43,8 +43,8 @@ dictionary WebGLContextAttributes { GLboolean failIfMajorPerformanceCaveat = false; }; -[Exposed=Window, NoInterfaceObject] -interface WebGLRenderingContextBase +[Exposed=Window] +interface mixin WebGLRenderingContextBase { /* ClearBufferMask */ @@ -713,4 +713,4 @@ interface WebGLRenderingContext void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, /*[AllowShared]*/ ArrayBufferView? pixels); }; -WebGLRenderingContext implements WebGLRenderingContextBase; +WebGLRenderingContext includes WebGLRenderingContextBase; diff --git a/components/script/dom/webidls/Window.webidl b/components/script/dom/webidls/Window.webidl index 28937d06e6c..56907a9f7be 100644 --- a/components/script/dom/webidls/Window.webidl +++ b/components/script/dom/webidls/Window.webidl @@ -69,8 +69,8 @@ // also has obsolete members }; -Window implements GlobalEventHandlers; -Window implements WindowEventHandlers; +Window includes GlobalEventHandlers; +Window includes WindowEventHandlers; // https://html.spec.whatwg.org/multipage/#Window-partial partial interface Window { @@ -148,18 +148,16 @@ partial interface Window { }; // https://html.spec.whatwg.org/multipage/#dom-sessionstorage -[NoInterfaceObject] -interface WindowSessionStorage { +interface mixin WindowSessionStorage { readonly attribute Storage sessionStorage; }; -Window implements WindowSessionStorage; +Window includes WindowSessionStorage; // https://html.spec.whatwg.org/multipage/#dom-localstorage -[NoInterfaceObject] -interface WindowLocalStorage { +interface mixin WindowLocalStorage { readonly attribute Storage localStorage; }; -Window implements WindowLocalStorage; +Window includes WindowLocalStorage; // http://w3c.github.io/animation-timing/#framerequestcallback callback FrameRequestCallback = void (DOMHighResTimeStamp time); diff --git a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl index f365c5262fc..b4cc66705af 100644 --- a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl +++ b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl @@ -7,8 +7,8 @@ // FIXME(nox): https://github.com/servo/servo/issues/20700 // typedef (DOMString or Function) TimerHandler; -[NoInterfaceObject, Exposed=(Window,Worker)] -interface WindowOrWorkerGlobalScope { +[Exposed=(Window,Worker)] +interface mixin WindowOrWorkerGlobalScope { [Replaceable] readonly attribute USVString origin; // base64 utility methods @@ -32,10 +32,10 @@ interface WindowOrWorkerGlobalScope { }; // https://w3c.github.io/hr-time/#the-performance-attribute -partial interface WindowOrWorkerGlobalScope { +partial interface mixin WindowOrWorkerGlobalScope { [Replaceable] readonly attribute Performance performance; }; -Window implements WindowOrWorkerGlobalScope; -WorkerGlobalScope implements WindowOrWorkerGlobalScope; +Window includes WindowOrWorkerGlobalScope; +WorkerGlobalScope includes WindowOrWorkerGlobalScope; diff --git a/components/script/dom/webidls/Worker.webidl b/components/script/dom/webidls/Worker.webidl index f09b565f31a..56e3075e6f8 100644 --- a/components/script/dom/webidls/Worker.webidl +++ b/components/script/dom/webidls/Worker.webidl @@ -3,8 +3,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // https://html.spec.whatwg.org/multipage/#abstractworker -[NoInterfaceObject, Exposed=(Window,Worker)] -interface AbstractWorker { +[Exposed=(Window,Worker)] +interface mixin AbstractWorker { attribute EventHandler onerror; }; @@ -27,4 +27,4 @@ dictionary WorkerOptions { enum WorkerType { "classic", "module" }; -Worker implements AbstractWorker; +Worker includes AbstractWorker; diff --git a/components/script/dom/webidls/WorkerNavigator.webidl b/components/script/dom/webidls/WorkerNavigator.webidl index 5c6647be013..119e22ea11f 100644 --- a/components/script/dom/webidls/WorkerNavigator.webidl +++ b/components/script/dom/webidls/WorkerNavigator.webidl @@ -5,9 +5,9 @@ // https://html.spec.whatwg.org/multipage/#workernavigator [Exposed=Worker] interface WorkerNavigator {}; -WorkerNavigator implements NavigatorID; -WorkerNavigator implements NavigatorLanguage; -//WorkerNavigator implements NavigatorOnLine; +WorkerNavigator includes NavigatorID; +WorkerNavigator includes NavigatorLanguage; +//WorkerNavigator includes NavigatorOnLine; // https://w3c.github.io/permissions/#navigator-and-workernavigator-extension |