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.
This commit is contained in:
Nick Fitzgerald 2018-08-15 16:32:06 -07:00
parent 69cc7725d6
commit b8afa0abde
99 changed files with 224 additions and 518 deletions

View File

@ -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;
};

View File

@ -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]

View File

@ -22,4 +22,4 @@ interface CSSPseudoElement {
};
// https://drafts.csswg.org/web-animations/#extensions-to-the-pseudoelement-interface
CSSPseudoElement implements Animatable;
CSSPseudoElement includes Animatable;

View File

@ -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;

View File

@ -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;

View File

@ -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]

View File

@ -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;
};

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -24,4 +24,4 @@ partial interface DocumentFragment {
NodeList querySelectorAll(DOMString selectors);
};
DocumentFragment implements ParentNode;
DocumentFragment includes ParentNode;

View File

@ -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);

View File

@ -16,4 +16,4 @@ interface DocumentType : Node {
readonly attribute DOMString systemId;
};
DocumentType implements ChildNode;
DocumentType includes ChildNode;

View File

@ -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 {

View File

@ -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;
};

View File

@ -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> arrayBuffer();

View File

@ -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;
};

View File

@ -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;

View File

@ -21,8 +21,7 @@ dictionary ConvertCoordinateOptions {
CSSBoxType toBox = "border";
};
[NoInterfaceObject]
interface GeometryUtils {
interface mixin GeometryUtils {
[Throws, Func="nsINode::HasBoxQuadsSupport", NeedsCallerType]
sequence<DOMQuad> 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;

View File

@ -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 {

View File

@ -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 {

View File

@ -30,4 +30,4 @@ partial interface HTMLBodyElement {
attribute DOMString background;
};
HTMLBodyElement implements WindowEventHandlers;
HTMLBodyElement includes WindowEventHandlers;

View File

@ -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 {};

View File

@ -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;

View File

@ -35,4 +35,4 @@ interface HTMLFrameElement : HTMLElement {
attribute DOMString marginWidth;
};
HTMLFrameElement implements MozFrameLoaderOwner;
HTMLFrameElement includes MozFrameLoaderOwner;

View File

@ -19,4 +19,4 @@ interface HTMLFrameSetElement : HTMLElement {
attribute DOMString rows;
};
HTMLFrameSetElement implements WindowEventHandlers;
HTMLFrameSetElement includes WindowEventHandlers;

View File

@ -65,5 +65,5 @@ partial interface HTMLIFrameElement {
attribute boolean mozbrowser;
};
HTMLIFrameElement implements MozFrameLoaderOwner;
HTMLIFrameElement implements BrowserElement;
HTMLIFrameElement includes MozFrameLoaderOwner;
HTMLIFrameElement includes BrowserElement;

View File

@ -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;

View File

@ -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 {

View File

@ -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 {

View File

@ -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<MozPluginParameter> getPluginAttributes();
[ChromeOnly]
sequence<MozPluginParameter> 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 <embed> 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;

View File

@ -17,5 +17,4 @@ interface HTMLStyleElement : HTMLElement {
[CEReactions, SetterThrows, Pure]
attribute DOMString type;
};
HTMLStyleElement implements LinkStyle;
HTMLStyleElement includes LinkStyle;

View File

@ -81,4 +81,4 @@ interface HTMLTextAreaElement : HTMLElement {
void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
};
HTMLTextAreaElement implements MozEditableElement;
HTMLTextAreaElement includes MozEditableElement;

View File

@ -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;

View File

@ -7,8 +7,6 @@
* http://dev.w3.org/csswg/cssom/#the-linkstyle-interface
*/
[NoInterfaceObject]
interface LinkStyle {
interface mixin LinkStyle {
readonly attribute StyleSheet? sheet;
};

View File

@ -19,4 +19,4 @@ interface MessagePort : EventTarget {
attribute EventHandler onmessage;
attribute EventHandler onmessageerror;
};
// MessagePort implements Transferable;
// MessagePort includes Transferable;

View File

@ -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<DOMString> 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<MediaKeySystemConfiguration> supportedConfigurations);
};
[NoInterfaceObject, Exposed=(Window,Worker)]
interface NavigatorConcurrentHardware {
[Exposed=(Window,Worker)]
interface mixin NavigatorConcurrentHardware {
readonly attribute unsigned long long hardwareConcurrency;
};

View File

@ -27,4 +27,4 @@ interface OffscreenCanvas : EventTarget {
optional any encoderOptions);
};
// OffscreenCanvas implements Transferable;
// OffscreenCanvas includes Transferable;

View File

@ -7,8 +7,7 @@
* http://dom.spec.whatwg.org/#interface-parentnode
*/
[NoInterfaceObject]
interface ParentNode {
interface mixin ParentNode {
[Constant]
readonly attribute HTMLCollection children;
[Pure]

View File

@ -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;

View File

@ -41,7 +41,7 @@ interface Request {
[ChromeOnly]
void overrideContentPolicyType(nsContentPolicyType context);
};
Request implements Body;
Request includes Body;
dictionary RequestInit {
ByteString method;

View File

@ -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.

View File

@ -32,5 +32,4 @@ interface SVGAElement : SVGGraphicsElement {
attribute DOMString text;
};
SVGAElement implements SVGURIReference;
SVGAElement includes SVGURIReference;

View File

@ -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;
};

View File

@ -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;
};

View File

@ -30,5 +30,4 @@ interface SVGAnimationElement : SVGElement {
void endElementAt(float offset);
};
SVGAnimationElement implements SVGTests;
SVGAnimationElement includes SVGTests;

View File

@ -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;

View File

@ -38,4 +38,4 @@ interface SVGFEBlendElement : SVGElement {
readonly attribute SVGAnimatedEnumeration mode;
};
SVGFEBlendElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEBlendElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -27,4 +27,4 @@ interface SVGFEColorMatrixElement : SVGElement {
readonly attribute SVGAnimatedNumberList values;
};
SVGFEColorMatrixElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEColorMatrixElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -15,4 +15,4 @@ interface SVGFEComponentTransferElement : SVGElement {
readonly attribute SVGAnimatedString in1;
};
SVGFEComponentTransferElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEComponentTransferElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -37,4 +37,4 @@ interface SVGFECompositeElement : SVGElement {
readonly attribute SVGAnimatedNumber k4;
};
SVGFECompositeElement implements SVGFilterPrimitiveStandardAttributes;
SVGFECompositeElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -44,4 +44,4 @@ interface SVGFEConvolveMatrixElement : SVGElement {
readonly attribute SVGAnimatedBoolean preserveAlpha;
};
SVGFEConvolveMatrixElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEConvolveMatrixElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -23,4 +23,4 @@ interface SVGFEDiffuseLightingElement : SVGElement {
readonly attribute SVGAnimatedNumber kernelUnitLengthY;
};
SVGFEDiffuseLightingElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEDiffuseLightingElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -31,4 +31,4 @@ interface SVGFEDisplacementMapElement : SVGElement {
readonly attribute SVGAnimatedEnumeration yChannelSelector;
};
SVGFEDisplacementMapElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEDisplacementMapElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -25,4 +25,4 @@ interface SVGFEDropShadowElement : SVGElement {
void setStdDeviation(float stdDeviationX, float stdDeviationY);
};
SVGFEDropShadowElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEDropShadowElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -13,4 +13,4 @@
interface SVGFEFloodElement : SVGElement {
};
SVGFEFloodElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEFloodElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -21,4 +21,4 @@ interface SVGFEGaussianBlurElement : SVGElement {
void setStdDeviation(float stdDeviationX, float stdDeviationY);
};
SVGFEGaussianBlurElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEGaussianBlurElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -15,5 +15,5 @@ interface SVGFEImageElement : SVGElement {
readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
};
SVGFEImageElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEImageElement implements SVGURIReference;
SVGFEImageElement includes SVGFilterPrimitiveStandardAttributes;
SVGFEImageElement includes SVGURIReference;

View File

@ -13,4 +13,4 @@
interface SVGFEMergeElement : SVGElement {
};
SVGFEMergeElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEMergeElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -27,4 +27,4 @@ interface SVGFEMorphologyElement : SVGElement {
readonly attribute SVGAnimatedNumber radiusY;
};
SVGFEMorphologyElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEMorphologyElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -19,4 +19,4 @@ interface SVGFEOffsetElement : SVGElement {
readonly attribute SVGAnimatedNumber dy;
};
SVGFEOffsetElement implements SVGFilterPrimitiveStandardAttributes;
SVGFEOffsetElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -25,4 +25,4 @@ interface SVGFESpecularLightingElement : SVGElement {
readonly attribute SVGAnimatedNumber kernelUnitLengthY;
};
SVGFESpecularLightingElement implements SVGFilterPrimitiveStandardAttributes;
SVGFESpecularLightingElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -15,4 +15,4 @@ interface SVGFETileElement : SVGElement {
readonly attribute SVGAnimatedString in1;
};
SVGFETileElement implements SVGFilterPrimitiveStandardAttributes;
SVGFETileElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -36,4 +36,4 @@ interface SVGFETurbulenceElement : SVGElement {
readonly attribute SVGAnimatedEnumeration type;
};
SVGFETurbulenceElement implements SVGFilterPrimitiveStandardAttributes;
SVGFETurbulenceElement includes SVGFilterPrimitiveStandardAttributes;

View File

@ -27,5 +27,4 @@ interface SVGFilterElement : SVGElement {
// ImageData apply(ImageData source);
};
SVGFilterElement implements SVGURIReference;
SVGFilterElement includes SVGURIReference;

View File

@ -10,8 +10,7 @@
* liability, trademark and document use rules apply.
*/
[NoInterfaceObject]
interface SVGFilterPrimitiveStandardAttributes {
interface mixin SVGFilterPrimitiveStandardAttributes {
[Constant]
readonly attribute SVGAnimatedLength x;
[Constant]

View File

@ -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;
};

View File

@ -26,4 +26,4 @@ interface SVGGradientElement : SVGElement {
readonly attribute SVGAnimatedEnumeration spreadMethod;
};
SVGGradientElement implements SVGURIReference;
SVGGradientElement includes SVGURIReference;

View File

@ -33,4 +33,4 @@ interface SVGGraphicsElement : SVGElement {
SVGMatrix getTransformToElement(SVGGraphicsElement element);
};
SVGGraphicsElement implements SVGTests;
SVGGraphicsElement includes SVGTests;

View File

@ -23,6 +23,5 @@ interface SVGImageElement : SVGGraphicsElement {
readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
};
SVGImageElement implements MozImageLoadingContent;
SVGImageElement implements SVGURIReference;
SVGImageElement includes MozImageLoadingContent;
SVGImageElement includes SVGURIReference;

View File

@ -13,5 +13,4 @@
interface SVGMPathElement : SVGElement {
};
SVGMPathElement implements SVGURIReference;
SVGMPathElement includes SVGURIReference;

View File

@ -42,5 +42,4 @@ interface SVGMarkerElement : SVGElement {
void setOrientToAngle(SVGAngle angle);
};
SVGMarkerElement implements SVGFitToViewBox;
SVGMarkerElement includes SVGFitToViewBox;

View File

@ -14,5 +14,4 @@ interface SVGPathElement : SVGGeometryElement {
unsigned long getPathSegAtLength(float distance);
};
SVGPathElement implements SVGAnimatedPathData;
SVGPathElement includes SVGAnimatedPathData;

View File

@ -27,5 +27,5 @@ interface SVGPatternElement : SVGElement {
readonly attribute SVGAnimatedLength height;
};
SVGPatternElement implements SVGFitToViewBox;
SVGPatternElement implements SVGURIReference;
SVGPatternElement includes SVGFitToViewBox;
SVGPatternElement includes SVGURIReference;

View File

@ -13,5 +13,4 @@
interface SVGPolygonElement : SVGGeometryElement {
};
SVGPolygonElement implements SVGAnimatedPoints;
SVGPolygonElement includes SVGAnimatedPoints;

View File

@ -13,5 +13,4 @@
interface SVGPolylineElement : SVGGeometryElement {
};
SVGPolylineElement implements SVGAnimatedPoints;
SVGPolylineElement includes SVGAnimatedPoints;

View File

@ -68,6 +68,5 @@ interface SVGSVGElement : SVGGraphicsElement {
Element? getElementById(DOMString elementId);
};
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPanValues;
SVGSVGElement includes SVGFitToViewBox;
SVGSVGElement includes SVGZoomAndPanValues;

View File

@ -19,5 +19,4 @@ interface SVGScriptElement : SVGElement {
attribute DOMString? crossOrigin;
};
SVGScriptElement implements SVGURIReference;
SVGScriptElement includes SVGURIReference;

View File

@ -20,5 +20,4 @@ interface SVGStyleElement : SVGElement {
[SetterThrows]
attribute DOMString title;
};
SVGStyleElement implements LinkStyle;
SVGStyleElement includes LinkStyle;

View File

@ -13,5 +13,5 @@
interface SVGSymbolElement : SVGElement {
};
SVGSymbolElement implements SVGFitToViewBox;
SVGSymbolElement implements SVGTests;
SVGSymbolElement includes SVGFitToViewBox;
SVGSymbolElement includes SVGTests;

View File

@ -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);
};

View File

@ -30,5 +30,4 @@ interface SVGTextPathElement : SVGTextContentElement {
readonly attribute SVGAnimatedEnumeration spacing;
};
SVGTextPathElement implements SVGURIReference;
SVGTextPathElement includes SVGURIReference;

View File

@ -10,9 +10,7 @@
* liability, trademark and document use rules apply.
*/
[NoInterfaceObject]
interface SVGURIReference {
interface mixin SVGURIReference {
[Constant]
readonly attribute SVGAnimatedString href;
};

View File

@ -23,4 +23,4 @@ interface SVGUseElement : SVGGraphicsElement {
//readonly attribute SVGElementInstance animatedInstanceRoot;
};
SVGUseElement implements SVGURIReference;
SVGUseElement includes SVGURIReference;

View File

@ -13,6 +13,5 @@
interface SVGViewElement : SVGElement {
};
SVGViewElement implements SVGFitToViewBox;
SVGViewElement implements SVGZoomAndPanValues;
SVGViewElement includes SVGFitToViewBox;
SVGViewElement includes SVGZoomAndPanValues;

View File

@ -13,4 +13,4 @@
interface SVGZoomAndPan {
};
SVGZoomAndPan implements SVGZoomAndPanValues;
SVGZoomAndPan includes SVGZoomAndPanValues;

View File

@ -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;
};

View File

@ -23,7 +23,7 @@ interface ServiceWorker : EventTarget {
void postMessage(any message, optional sequence<object> transferable = []);
};
ServiceWorker implements AbstractWorker;
ServiceWorker includes AbstractWorker;
enum ServiceWorkerState {
// https://github.com/w3c/ServiceWorker/issues/1162

View File

@ -33,4 +33,4 @@ interface ShadowRoot : DocumentFragment
attribute DOMString innerHTML;
};
ShadowRoot implements DocumentOrShadowRoot;
ShadowRoot includes DocumentOrShadowRoot;

View File

@ -9,4 +9,4 @@ interface SharedWorker : EventTarget {
readonly attribute MessagePort port;
};
SharedWorker implements AbstractWorker;
SharedWorker includes AbstractWorker;

View File

@ -23,4 +23,4 @@ partial interface Text {
readonly attribute HTMLSlotElement? assignedSlot;
};
Text implements GeometryUtils;
Text includes GeometryUtils;

View File

@ -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;
};

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -24,7 +24,7 @@ interface Worker : EventTarget {
attribute EventHandler onmessageerror;
};
Worker implements AbstractWorker;
Worker includes AbstractWorker;
dictionary WorkerOptions {
// WorkerType type = "classic"; TODO: Bug 1247687

View File

@ -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;

View File

@ -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]

View File

@ -5,7 +5,7 @@
*/
[Constructor]
interface XPathEvaluator {
interface mixin XPathEvaluator {
[NewObject, Throws]
XPathExpression createExpression(DOMString expression,
optional XPathNSResolver? resolver = null);