aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2019-10-01 18:45:26 +0900
committerKagami Sascha Rosylight <saschanaz@outlook.com>2019-10-01 18:45:26 +0900
commitd6c58b8226f1f87c61ff36476c8690639214be2b (patch)
tree359f5de4c26b3a5d18bd9e2e389c21d6a6d919d9 /components/script/dom
parent1b6715158dd9f04d63545f0c47a4605af3966aa9 (diff)
downloadservo-d6c58b8226f1f87c61ff36476c8690639214be2b.tar.gz
servo-d6c58b8226f1f87c61ff36476c8690639214be2b.zip
Migrate to IDL mixin syntax
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/webidls/ActivatableElement.webidl4
-rw-r--r--components/script/dom/webidls/Bluetooth.webidl6
-rw-r--r--components/script/dom/webidls/BluetoothDevice.webidl11
-rw-r--r--components/script/dom/webidls/BluetoothRemoteGATTCharacteristic.webidl7
-rw-r--r--components/script/dom/webidls/BluetoothRemoteGATTService.webidl9
-rw-r--r--components/script/dom/webidls/Body.webidl6
-rw-r--r--components/script/dom/webidls/CanvasRenderingContext2D.webidl98
-rw-r--r--components/script/dom/webidls/CharacterData.webidl4
-rw-r--r--components/script/dom/webidls/ChildNode.webidl6
-rw-r--r--components/script/dom/webidls/Crypto.webidl8
-rw-r--r--components/script/dom/webidls/Document.webidl10
-rw-r--r--components/script/dom/webidls/DocumentFragment.webidl4
-rw-r--r--components/script/dom/webidls/DocumentOrShadowRoot.webidl3
-rw-r--r--components/script/dom/webidls/DocumentType.webidl2
-rw-r--r--components/script/dom/webidls/Element.webidl8
-rw-r--r--components/script/dom/webidls/ElementCSSInlineStyle.webidl4
-rw-r--r--components/script/dom/webidls/ElementContentEditable.webidl4
-rw-r--r--components/script/dom/webidls/EventHandler.webidl16
-rw-r--r--components/script/dom/webidls/Fetch.webidl2
-rw-r--r--components/script/dom/webidls/HTMLAnchorElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLAreaElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLBodyElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLElement.webidl8
-rw-r--r--components/script/dom/webidls/HTMLFrameSetElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLHyperlinkElementUtils.webidl3
-rw-r--r--components/script/dom/webidls/HTMLLinkElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLStyleElement.webidl2
-rw-r--r--components/script/dom/webidls/Navigator.webidl28
-rw-r--r--components/script/dom/webidls/NonElementParentNode.webidl3
-rw-r--r--components/script/dom/webidls/OffscreenCanvasRenderingContext2D.webidl30
-rw-r--r--components/script/dom/webidls/PaintRenderingContext2D.webidl22
-rw-r--r--components/script/dom/webidls/ParentNode.webidl3
-rw-r--r--components/script/dom/webidls/Request.webidl2
-rw-r--r--components/script/dom/webidls/Response.webidl2
-rw-r--r--components/script/dom/webidls/SVGElement.webidl4
-rw-r--r--components/script/dom/webidls/SVGGraphicsElement.webidl2
-rw-r--r--components/script/dom/webidls/SVGSVGElement.webidl6
-rw-r--r--components/script/dom/webidls/ServiceWorker.webidl2
-rw-r--r--components/script/dom/webidls/ShadowRoot.webidl2
-rw-r--r--components/script/dom/webidls/StyleSheet.webidl3
-rw-r--r--components/script/dom/webidls/WebGL2RenderingContext.webidl7
-rw-r--r--components/script/dom/webidls/WebGLRenderingContext.webidl6
-rw-r--r--components/script/dom/webidls/Window.webidl14
-rw-r--r--components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl10
-rw-r--r--components/script/dom/webidls/Worker.webidl6
-rw-r--r--components/script/dom/webidls/WorkerNavigator.webidl6
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