summaryrefslogtreecommitdiffstats
path: root/vendor/web-sys/webidls
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
commit837b550238aa671a591ccf282dddeab29cadb206 (patch)
tree914b6b8862bace72bd3245ca184d374b08d8a672 /vendor/web-sys/webidls
parentAdding debian version 1.70.0+dfsg2-1. (diff)
downloadrustc-837b550238aa671a591ccf282dddeab29cadb206.tar.xz
rustc-837b550238aa671a591ccf282dddeab29cadb206.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/web-sys/webidls')
-rw-r--r--vendor/web-sys/webidls/disabled/README.md1
-rw-r--r--vendor/web-sys/webidls/enabled/AbortController.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/AbortSignal.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/AbstractWorker.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/AnalyserNode.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/Animation.webidl55
-rw-r--r--vendor/web-sys/webidls/enabled/AnimationEffect.webidl65
-rw-r--r--vendor/web-sys/webidls/enabled/AnimationEvent.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/AnimationPlaybackEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/AnimationTimeline.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/Attr.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/AudioBuffer.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/AudioBufferSourceNode.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/AudioContext.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/AudioDestinationNode.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/AudioListener.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/AudioNode.webidl64
-rw-r--r--vendor/web-sys/webidls/enabled/AudioParam.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/AudioParamMap.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/AudioProcessingEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/AudioScheduledSourceNode.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/AudioStreamTrack.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/AudioTrack.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/AudioTrackList.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/AudioWorklet.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/AudioWorkletGlobalScope.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/AudioWorkletNode.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/AudioWorkletProcessor.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/AutocompleteInfo.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/BarProp.webidl11
-rw-r--r--vendor/web-sys/webidls/enabled/BaseAudioContext.webidl107
-rw-r--r--vendor/web-sys/webidls/enabled/BaseKeyframeTypes.webidl49
-rw-r--r--vendor/web-sys/webidls/enabled/BasicCardPayment.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/BatteryManager.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/BeforeUnloadEvent.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/BiquadFilterNode.webidl46
-rw-r--r--vendor/web-sys/webidls/enabled/Blob.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/BlobEvent.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/BroadcastChannel.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/BrowserElement.webidl150
-rw-r--r--vendor/web-sys/webidls/enabled/BrowserElementDictionaries.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/BrowserFeedWriter.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/CDATASection.webidl8
-rw-r--r--vendor/web-sys/webidls/enabled/CSPDictionaries.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/CSPReport.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/CSS.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/CSSAnimation.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/CSSConditionRule.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/CSSCounterStyleRule.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/CSSFontFaceRule.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/CSSFontFeatureValuesRule.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/CSSGroupingRule.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/CSSImportRule.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/CSSKeyframeRule.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/CSSKeyframesRule.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/CSSMediaRule.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/CSSMozDocumentRule.webidl5
-rw-r--r--vendor/web-sys/webidls/enabled/CSSNamespaceRule.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/CSSPageRule.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/CSSPseudoElement.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/CSSRule.webidl58
-rw-r--r--vendor/web-sys/webidls/enabled/CSSRuleList.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/CSSStyleDeclaration.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/CSSStyleRule.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/CSSStyleSheet.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/CSSSupportsRule.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/CSSTransition.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/Cache.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/CacheStorage.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/CanvasCaptureMediaStream.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl374
-rw-r--r--vendor/web-sys/webidls/enabled/CaretPosition.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/CaretStateChangedEvent.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/ChannelMergerNode.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/ChannelSplitterNode.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/CharacterData.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/CheckerboardReportService.webidl58
-rw-r--r--vendor/web-sys/webidls/enabled/ChildNode.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/ChildSHistory.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/Client.webidl51
-rw-r--r--vendor/web-sys/webidls/enabled/Clients.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/CloseEvent.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/Comment.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/CompositionEvent.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/Console.webidl230
-rw-r--r--vendor/web-sys/webidls/enabled/ConstantSourceNode.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/ConvolverNode.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/Coordinates.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/CreateOfferRequest.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/CredentialManagement.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/Crypto.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/CustomElementRegistry.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/CustomEvent.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/DOMError.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/DOMException.webidl107
-rw-r--r--vendor/web-sys/webidls/enabled/DOMHighResTimeStamp.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/DOMImplementation.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/DOMMatrix.webidl150
-rw-r--r--vendor/web-sys/webidls/enabled/DOMParser.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/DOMPoint.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/DOMQuad.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/DOMRect.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/DOMRectList.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/DOMRequest.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/DOMStringList.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/DOMStringMap.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/DOMTokenList.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/DataTransfer.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/DataTransferItem.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/DataTransferItemList.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/DecoderDoctorNotification.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/DedicatedWorkerGlobalScope.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/DelayNode.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/DeviceLightEvent.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/DeviceMotionEvent.webidl46
-rw-r--r--vendor/web-sys/webidls/enabled/DeviceOrientationEvent.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/DeviceProximityEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/Directory.webidl53
-rw-r--r--vendor/web-sys/webidls/enabled/Document.webidl387
-rw-r--r--vendor/web-sys/webidls/enabled/DocumentFragment.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/DocumentTimeline.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/DocumentType.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/DragEvent.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/DynamicsCompressorNode.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/Element.webidl265
-rw-r--r--vendor/web-sys/webidls/enabled/ErrorEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/Event.webidl65
-rw-r--r--vendor/web-sys/webidls/enabled/EventHandler.webidl170
-rw-r--r--vendor/web-sys/webidls/enabled/EventListener.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/EventSource.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/EventTarget.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/ExtendableEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/ExtendableMessageEvent.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/External.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/FakePluginTagInit.webidl48
-rw-r--r--vendor/web-sys/webidls/enabled/Fetch.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/FetchEvent.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/FetchObserver.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/File.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/FileList.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/FileReader.webidl50
-rw-r--r--vendor/web-sys/webidls/enabled/FileReaderSync.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/FileSystem.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/FileSystemDirectoryEntry.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/FileSystemDirectoryReader.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/FileSystemEntry.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/FileSystemFileEntry.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/Flex.webidl54
-rw-r--r--vendor/web-sys/webidls/enabled/FocusEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/FontFace.webidl52
-rw-r--r--vendor/web-sys/webidls/enabled/FontFaceSet.webidl64
-rw-r--r--vendor/web-sys/webidls/enabled/FontFaceSetLoadEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/FontFaceSource.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/FormData.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/FrameLoader.webidl219
-rw-r--r--vendor/web-sys/webidls/enabled/Function.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/FuzzingFunctions.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/GainNode.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/Gamepad.webidl99
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadAxisMoveEvent.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadButtonEvent.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadEvent.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadHapticActuator.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadPose.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/GamepadServiceTest.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/Geolocation.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/GeometryUtils.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/GetUserMediaRequest.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/Grid.webidl127
-rw-r--r--vendor/web-sys/webidls/enabled/GroupedHistoryEvent.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLAllCollection.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLAnchorElement.webidl52
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLAreaElement.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLAudioElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLBRElement.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLBaseElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLBodyElement.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLButtonElement.webidl48
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLCanvasElement.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLCollection.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDListElement.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDataElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDataListElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDetailsElement.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDialogElement.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDirectoryElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDivElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLDocument.webidl76
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLElement.webidl103
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLEmbedElement.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFieldSetElement.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFontElement.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFormControlsCollection.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFormElement.webidl50
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFrameElement.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLFrameSetElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLHRElement.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLHeadElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLHeadingElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLHtmlElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLHyperlinkElementUtils.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLIFrameElement.webidl62
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLImageElement.webidl73
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLInputElement.webidl209
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLLIElement.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLLabelElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLLegendElement.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLLinkElement.webidl59
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMapElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMediaElement.webidl166
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMenuElement.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMenuItemElement.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMetaElement.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLMeterElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLModElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLOListElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLObjectElement.webidl79
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLOptGroupElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLOptionElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLOptionsCollection.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLOutputElement.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLParagraphElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLParamElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLPictureElement.webidl9
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLPreElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLProgressElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLQuoteElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLScriptElement.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLSelectElement.webidl74
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLSlotElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLSourceElement.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLSpanElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLStyleElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableCaptionElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableCellElement.webidl47
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableColElement.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableElement.webidl62
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableRowElement.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTableSectionElement.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTemplateElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTextAreaElement.webidl80
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTimeElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTitleElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLTrackElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLUListElement.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/HTMLVideoElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/HashChangeEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/Headers.webidl34
-rw-r--r--vendor/web-sys/webidls/enabled/HiddenPluginEvent.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/History.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/IDBCursor.webidl52
-rw-r--r--vendor/web-sys/webidls/enabled/IDBDatabase.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/IDBFactory.webidl66
-rw-r--r--vendor/web-sys/webidls/enabled/IDBFileHandle.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/IDBFileRequest.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/IDBIndex.webidl65
-rw-r--r--vendor/web-sys/webidls/enabled/IDBKeyRange.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/IDBMutableFile.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/IDBObjectStore.webidl70
-rw-r--r--vendor/web-sys/webidls/enabled/IDBOpenDBRequest.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/IDBRequest.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/IDBTransaction.webidl47
-rw-r--r--vendor/web-sys/webidls/enabled/IDBVersionChangeEvent.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/IIRFilterNode.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/IdleDeadline.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/ImageBitmap.webidl46
-rw-r--r--vendor/web-sys/webidls/enabled/ImageBitmapRenderingContext.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/ImageCaptureErrorEvent.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/ImageData.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/ImageDocument.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/InputEvent.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/InstallTrigger.webidl90
-rw-r--r--vendor/web-sys/webidls/enabled/IntersectionObserver.webidl62
-rw-r--r--vendor/web-sys/webidls/enabled/IntlUtils.webidl73
-rw-r--r--vendor/web-sys/webidls/enabled/IterableIterator.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/KeyAlgorithm.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/KeyEvent.webidl243
-rw-r--r--vendor/web-sys/webidls/enabled/KeyIdsInitData.webidl11
-rw-r--r--vendor/web-sys/webidls/enabled/KeyboardEvent.webidl68
-rw-r--r--vendor/web-sys/webidls/enabled/KeyframeAnimationOptions.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/KeyframeEffect.webidl57
-rw-r--r--vendor/web-sys/webidls/enabled/L10nUtils.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/LinkStyle.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/ListBoxObject.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/LocalMediaStream.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/Location.webidl53
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIAccess.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIConnectionEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIInput.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIInputMap.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIMessageEvent.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIOptions.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIOutput.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIOutputMap.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/MIDIPort.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/MediaCapabilities.webidl70
-rw-r--r--vendor/web-sys/webidls/enabled/MediaDeviceInfo.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/MediaDevices.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/MediaElementAudioSourceNode.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/MediaEncryptedEvent.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/MediaError.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeyError.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeyMessageEvent.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeySession.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeyStatusMap.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeySystemAccess.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeys.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/MediaKeysRequestStatus.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/MediaList.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/MediaQueryList.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/MediaQueryListEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/MediaRecorder.webidl59
-rw-r--r--vendor/web-sys/webidls/enabled/MediaRecorderErrorEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/MediaSource.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStream.webidl56
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamAudioDestinationNode.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamAudioSourceNode.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamError.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamTrack.webidl97
-rw-r--r--vendor/web-sys/webidls/enabled/MediaStreamTrackEvent.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/MediaTrackConstraintSet.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/MediaTrackSettings.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/MediaTrackSupportedConstraints.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/MessageChannel.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/MessageEvent.webidl64
-rw-r--r--vendor/web-sys/webidls/enabled/MessagePort.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/MimeType.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/MimeTypeArray.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/MouseEvent.webidl75
-rw-r--r--vendor/web-sys/webidls/enabled/MouseScrollEvent.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/MozApplicationEvent.webidl5
-rw-r--r--vendor/web-sys/webidls/enabled/MutationEvent.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/MutationObserver.webidl74
-rw-r--r--vendor/web-sys/webidls/enabled/NamedNodeMap.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/NativeOSFileInternals.webidl58
-rw-r--r--vendor/web-sys/webidls/enabled/Navigator.webidl246
-rw-r--r--vendor/web-sys/webidls/enabled/NetDashboard.webidl96
-rw-r--r--vendor/web-sys/webidls/enabled/NetworkInformation.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/NetworkOptions.webidl109
-rw-r--r--vendor/web-sys/webidls/enabled/Node.webidl106
-rw-r--r--vendor/web-sys/webidls/enabled/NodeFilter.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/NodeIterator.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/NodeList.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/Notification.webidl96
-rw-r--r--vendor/web-sys/webidls/enabled/NotificationEvent.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/NotifyPaintEvent.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/OVRMultiview2.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/OfflineAudioCompletionEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/OfflineAudioContext.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/OfflineResourceList.webidl62
-rw-r--r--vendor/web-sys/webidls/enabled/OffscreenCanvas.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/OscillatorNode.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/PageTransitionEvent.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/PaintRequest.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/PaintRequestList.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/PaintWorkletGlobalScope.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/PannerNode.webidl75
-rw-r--r--vendor/web-sys/webidls/enabled/ParentNode.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/ParentSHistory.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/PaymentAddress.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/PaymentMethodChangeEvent.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/PaymentRequestUpdateEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/PaymentResponse.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/PeerConnectionImpl.webidl134
-rw-r--r--vendor/web-sys/webidls/enabled/PeerConnectionImplEnums.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/PeerConnectionObserver.webidl51
-rw-r--r--vendor/web-sys/webidls/enabled/PeerConnectionObserverEnums.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/Performance.webidl60
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceEntry.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceEntryEvent.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceMark.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceMeasure.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceNavigation.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceNavigationTiming.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceObserver.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceObserverEntryList.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceResourceTiming.webidl58
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceServerTiming.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/PerformanceTiming.webidl49
-rw-r--r--vendor/web-sys/webidls/enabled/PeriodicWave.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/PermissionStatus.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/Permissions.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/Plugin.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/PluginArray.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/PluginCrashedEvent.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/PointerEvent.webidl43
-rw-r--r--vendor/web-sys/webidls/enabled/PopStateEvent.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/PopupBlockedEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/Position.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/PositionError.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/Presentation.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationAvailability.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationConnection.webidl96
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationConnectionAvailableEvent.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationConnectionCloseEvent.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationConnectionList.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationReceiver.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/PresentationRequest.webidl86
-rw-r--r--vendor/web-sys/webidls/enabled/ProcessingInstruction.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/ProfileTimelineMarker.webidl74
-rw-r--r--vendor/web-sys/webidls/enabled/ProgressEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/Promise.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/PromiseRejectionEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/PushEvent.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/PushManager.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/PushMessageData.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/PushSubscription.webidl54
-rw-r--r--vendor/web-sys/webidls/enabled/PushSubscriptionOptions.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/RTCCertificate.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/RTCConfiguration.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/RTCDTMFSender.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/RTCDTMFToneChangeEvent.webidl8
-rw-r--r--vendor/web-sys/webidls/enabled/RTCDataChannel.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/RTCDataChannelEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/RTCIceCandidate.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/RTCIdentityAssertion.webidl13
-rw-r--r--vendor/web-sys/webidls/enabled/RTCIdentityProvider.webidl65
-rw-r--r--vendor/web-sys/webidls/enabled/RTCPeerConnection.webidl166
-rw-r--r--vendor/web-sys/webidls/enabled/RTCPeerConnectionIceEvent.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/RTCPeerConnectionStatic.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/RTCRtpReceiver.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/RTCRtpSender.webidl88
-rw-r--r--vendor/web-sys/webidls/enabled/RTCRtpSources.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/RTCRtpTransceiver.webidl78
-rw-r--r--vendor/web-sys/webidls/enabled/RTCSessionDescription.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/RTCStatsReport.webidl200
-rw-r--r--vendor/web-sys/webidls/enabled/RTCTrackEvent.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/RadioNodeList.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/Range.webidl100
-rw-r--r--vendor/web-sys/webidls/enabled/Request.webidl75
-rw-r--r--vendor/web-sys/webidls/enabled/Response.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAElement.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAngle.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimateElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimateMotionElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimateTransformElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedAngle.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedBoolean.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedEnumeration.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedInteger.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedLength.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedLengthList.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedNumber.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedNumberList.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedPathData.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedPoints.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedPreserveAspectRatio.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedRect.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedString.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimatedTransformList.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGAnimationElement.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/SVGCircleElement.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/SVGClipPathElement.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGComponentTransferFunctionElement.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/SVGDefsElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGDescElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGElement.webidl34
-rw-r--r--vendor/web-sys/webidls/enabled/SVGEllipseElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEBlendElement.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFECompositeElement.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl47
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl34
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEDistantLightElement.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEFloodElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEFuncAElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEFuncBElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEFuncGElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEFuncRElement.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEImageElement.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEMergeElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEMergeNodeElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEOffsetElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFEPointLightElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFESpotLightElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFETileElement.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFilterElement.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/SVGFitToViewBox.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SVGForeignObjectElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SVGGElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGGeometryElement.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/SVGGradientElement.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/SVGGraphicsElement.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/SVGImageElement.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/SVGLength.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/SVGLengthList.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/SVGLineElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SVGLinearGradientElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/SVGMPathElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGMarkerElement.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/SVGMaskElement.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/SVGMatrix.webidl51
-rw-r--r--vendor/web-sys/webidls/enabled/SVGMetadataElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGNumber.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGNumberList.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPathElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPathSeg.webidl235
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPathSegList.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPatternElement.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPoint.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPointList.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPolygonElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPolylineElement.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGPreserveAspectRatio.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/SVGRadialGradientElement.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/SVGRect.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/SVGRectElement.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/SVGSVGElement.webidl72
-rw-r--r--vendor/web-sys/webidls/enabled/SVGScriptElement.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/SVGSetElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGStopElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGStringList.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/SVGStyleElement.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SVGSwitchElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGSymbolElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTSpanElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTests.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTextContentElement.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTextElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTextPathElement.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTextPositioningElement.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTitleElement.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTransform.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/SVGTransformList.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/SVGURIReference.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGUnitTypes.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SVGUseElement.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/SVGViewElement.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SVGZoomAndPan.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/Screen.webidl59
-rw-r--r--vendor/web-sys/webidls/enabled/ScreenOrientation.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/ScriptProcessorNode.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/ScrollAreaEvent.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/ScrollBoxObject.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/ScrollViewChangeEvent.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/SecurityPolicyViolationEvent.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/Selection.webidl155
-rw-r--r--vendor/web-sys/webidls/enabled/ServiceWorker.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/ServiceWorkerContainer.webidl46
-rw-r--r--vendor/web-sys/webidls/enabled/ServiceWorkerGlobalScope.webidl44
-rw-r--r--vendor/web-sys/webidls/enabled/ServiceWorkerRegistration.webidl51
-rw-r--r--vendor/web-sys/webidls/enabled/ShadowRoot.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/SharedWorker.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/SharedWorkerGlobalScope.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/SocketCommon.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/SourceBuffer.webidl63
-rw-r--r--vendor/web-sys/webidls/enabled/SourceBufferList.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechGrammar.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechGrammarList.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognition.webidl45
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognitionAlternative.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognitionError.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognitionEvent.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognitionResult.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechRecognitionResultList.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechSynthesis.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechSynthesisErrorEvent.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechSynthesisEvent.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechSynthesisUtterance.webidl34
-rw-r--r--vendor/web-sys/webidls/enabled/SpeechSynthesisVoice.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/StereoPannerNode.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/Storage.webidl35
-rw-r--r--vendor/web-sys/webidls/enabled/StorageEvent.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/StorageManager.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/StorageType.webidl7
-rw-r--r--vendor/web-sys/webidls/enabled/Streams.webidl232
-rw-r--r--vendor/web-sys/webidls/enabled/StyleRuleChangeEvent.webidl17
-rw-r--r--vendor/web-sys/webidls/enabled/StyleSheet.webidl48
-rw-r--r--vendor/web-sys/webidls/enabled/StyleSheetApplicableStateChangeEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/StyleSheetChangeEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/StyleSheetList.webidl8
-rw-r--r--vendor/web-sys/webidls/enabled/SubmitEvent.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/SubtleCrypto.webidl232
-rw-r--r--vendor/web-sys/webidls/enabled/TCPServerSocket.webidl42
-rw-r--r--vendor/web-sys/webidls/enabled/TCPServerSocketEvent.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/TCPSocket.webidl198
-rw-r--r--vendor/web-sys/webidls/enabled/TCPSocketErrorEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/TCPSocketEvent.webidl30
-rw-r--r--vendor/web-sys/webidls/enabled/Text.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/TextClause.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/TextDecoder.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/TextEncoder.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/TextTrack.webidl46
-rw-r--r--vendor/web-sys/webidls/enabled/TextTrackCue.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/TextTrackCueList.webidl14
-rw-r--r--vendor/web-sys/webidls/enabled/TextTrackList.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/TimeEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/TimeRanges.webidl22
-rw-r--r--vendor/web-sys/webidls/enabled/Touch.webidl49
-rw-r--r--vendor/web-sys/webidls/enabled/TouchEvent.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/TouchList.webidl18
-rw-r--r--vendor/web-sys/webidls/enabled/TrackEvent.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/TransceiverImpl.webidl23
-rw-r--r--vendor/web-sys/webidls/enabled/TransitionEvent.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/TreeBoxObject.webidl188
-rw-r--r--vendor/web-sys/webidls/enabled/TreeView.webidl213
-rw-r--r--vendor/web-sys/webidls/enabled/TreeWalker.webidl37
-rw-r--r--vendor/web-sys/webidls/enabled/U2F.webidl94
-rw-r--r--vendor/web-sys/webidls/enabled/UDPMessageEvent.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/UDPSocket.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/UIEvent.webidl64
-rw-r--r--vendor/web-sys/webidls/enabled/URL.webidl56
-rw-r--r--vendor/web-sys/webidls/enabled/URLSearchParams.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/UserProximityEvent.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/VRDisplay.webidl317
-rw-r--r--vendor/web-sys/webidls/enabled/VRServiceTest.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/VTTCue.webidl57
-rw-r--r--vendor/web-sys/webidls/enabled/VTTRegion.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/ValidityState.webidl26
-rw-r--r--vendor/web-sys/webidls/enabled/VideoPlaybackQuality.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/VideoStreamTrack.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/VideoTrack.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/VideoTrackList.webidl21
-rw-r--r--vendor/web-sys/webidls/enabled/WaveShaperNode.webidl32
-rw-r--r--vendor/web-sys/webidls/enabled/WebAuthentication.webidl166
-rw-r--r--vendor/web-sys/webidls/enabled/WebComponents.webidl27
-rw-r--r--vendor/web-sys/webidls/enabled/WebGL2RenderingContext.webidl737
-rw-r--r--vendor/web-sys/webidls/enabled/WebGLContextEvent.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/WebGLMultiDraw.webidl31
-rw-r--r--vendor/web-sys/webidls/enabled/WebGLRenderingContext.webidl1114
-rw-r--r--vendor/web-sys/webidls/enabled/WebKitCSSMatrix.webidl39
-rw-r--r--vendor/web-sys/webidls/enabled/WebSocket.webidl78
-rw-r--r--vendor/web-sys/webidls/enabled/WebrtcDeprecated.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/WebrtcGlobalInformation.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/WheelEvent.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/WidevineCDMManifest.webidl15
-rw-r--r--vendor/web-sys/webidls/enabled/Window.webidl274
-rw-r--r--vendor/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl70
-rw-r--r--vendor/web-sys/webidls/enabled/WindowRoot.webidl9
-rw-r--r--vendor/web-sys/webidls/enabled/Worker.webidl41
-rw-r--r--vendor/web-sys/webidls/enabled/WorkerDebuggerGlobalScope.webidl40
-rw-r--r--vendor/web-sys/webidls/enabled/WorkerGlobalScope.webidl36
-rw-r--r--vendor/web-sys/webidls/enabled/WorkerLocation.webidl33
-rw-r--r--vendor/web-sys/webidls/enabled/WorkerNavigator.webidl28
-rw-r--r--vendor/web-sys/webidls/enabled/Worklet.webidl19
-rw-r--r--vendor/web-sys/webidls/enabled/WorkletGlobalScope.webidl12
-rw-r--r--vendor/web-sys/webidls/enabled/XMLDocument.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/XMLHttpRequest.webidl97
-rw-r--r--vendor/web-sys/webidls/enabled/XMLHttpRequestEventTarget.webidl29
-rw-r--r--vendor/web-sys/webidls/enabled/XMLHttpRequestUpload.webidl16
-rw-r--r--vendor/web-sys/webidls/enabled/XMLSerializer.webidl24
-rw-r--r--vendor/web-sys/webidls/enabled/XPathEvaluator.webidl20
-rw-r--r--vendor/web-sys/webidls/enabled/XPathExpression.webidl25
-rw-r--r--vendor/web-sys/webidls/enabled/XPathNSResolver.webidl10
-rw-r--r--vendor/web-sys/webidls/enabled/XPathResult.webidl38
-rw-r--r--vendor/web-sys/webidls/enabled/XSLTProcessor.webidl110
-rw-r--r--vendor/web-sys/webidls/enabled/nsISupports.webidl4
-rw-r--r--vendor/web-sys/webidls/unavailable_option_primitive/PaymentRequest.webidl112
-rw-r--r--vendor/web-sys/webidls/unavailable_option_primitive/README.md2
-rw-r--r--vendor/web-sys/webidls/unavailable_option_primitive/VRDisplayEvent.webidl23
-rw-r--r--vendor/web-sys/webidls/unstable/Bluetooth.webidl236
-rw-r--r--vendor/web-sys/webidls/unstable/Clipboard.webidl61
-rw-r--r--vendor/web-sys/webidls/unstable/ImageCapture.webidl22
-rw-r--r--vendor/web-sys/webidls/unstable/MediaCaptureTransform.webidl20
-rw-r--r--vendor/web-sys/webidls/unstable/MediaSession.webidl77
-rw-r--r--vendor/web-sys/webidls/unstable/QueuingStrategy.webidl15
-rw-r--r--vendor/web-sys/webidls/unstable/ResizeObserver.webidl32
-rw-r--r--vendor/web-sys/webidls/unstable/ScreenWakeLock.webidl23
-rw-r--r--vendor/web-sys/webidls/unstable/Share.webidl20
-rw-r--r--vendor/web-sys/webidls/unstable/WebCodecs.webidl478
-rw-r--r--vendor/web-sys/webidls/unstable/WebGPU.webidl1247
-rw-r--r--vendor/web-sys/webidls/unstable/WebHID.webidl127
-rw-r--r--vendor/web-sys/webidls/unstable/WebSerial.webidl80
-rw-r--r--vendor/web-sys/webidls/unstable/WebUSB.webidl243
-rw-r--r--vendor/web-sys/webidls/unstable/WebXRDevice.webidl297
-rw-r--r--vendor/web-sys/webidls/unstable/WebXRGamepadsModule.webidl11
-rw-r--r--vendor/web-sys/webidls/unstable/WebXRHandInputModule.webidl69
678 files changed, 29907 insertions, 0 deletions
diff --git a/vendor/web-sys/webidls/disabled/README.md b/vendor/web-sys/webidls/disabled/README.md
new file mode 100644
index 000000000..99fe8c979
--- /dev/null
+++ b/vendor/web-sys/webidls/disabled/README.md
@@ -0,0 +1 @@
+These webidl files are intentionally disabled because they have not yet stabilized.
diff --git a/vendor/web-sys/webidls/enabled/AbortController.webidl b/vendor/web-sys/webidls/enabled/AbortController.webidl
new file mode 100644
index 000000000..1fc3e8fd9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AbortController.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dom.spec.whatwg.org/#abortcontroller
+ */
+
+[Constructor(), Exposed=(Window,Worker,System)]
+interface AbortController {
+ readonly attribute AbortSignal signal;
+
+ undefined abort();
+};
diff --git a/vendor/web-sys/webidls/enabled/AbortSignal.webidl b/vendor/web-sys/webidls/enabled/AbortSignal.webidl
new file mode 100644
index 000000000..6b66f76c4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AbortSignal.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dom.spec.whatwg.org/#abortsignal
+ */
+
+[Exposed=(Window,Worker,System)]
+interface AbortSignal : EventTarget {
+ readonly attribute boolean aborted;
+
+ attribute EventHandler onabort;
+};
diff --git a/vendor/web-sys/webidls/enabled/AbstractWorker.webidl b/vendor/web-sys/webidls/enabled/AbstractWorker.webidl
new file mode 100644
index 000000000..1475833ef
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AbstractWorker.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ */
+
+[Exposed=(Window,Worker,System)]
+interface mixin AbstractWorker {
+ attribute EventHandler onerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/AnalyserNode.webidl b/vendor/web-sys/webidls/enabled/AnalyserNode.webidl
new file mode 100644
index 000000000..d8f85bc3a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AnalyserNode.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary AnalyserOptions : AudioNodeOptions {
+ unsigned long fftSize = 2048;
+ double maxDecibels = -30;
+ double minDecibels = -100;
+ double smoothingTimeConstant = 0.8;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional AnalyserOptions options)]
+interface AnalyserNode : AudioNode {
+
+ // Real-time frequency-domain data
+ undefined getFloatFrequencyData(Float32Array array);
+ undefined getByteFrequencyData(Uint8Array array);
+
+ // Real-time waveform data
+ undefined getFloatTimeDomainData(Float32Array array);
+ undefined getByteTimeDomainData(Uint8Array array);
+
+ [SetterThrows, Pure]
+ attribute unsigned long fftSize;
+ [Pure]
+ readonly attribute unsigned long frequencyBinCount;
+
+ [SetterThrows, Pure]
+ attribute double minDecibels;
+ [SetterThrows, Pure]
+ attribute double maxDecibels;
+
+ [SetterThrows, Pure]
+ attribute double smoothingTimeConstant;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/Animation.webidl b/vendor/web-sys/webidls/enabled/Animation.webidl
new file mode 100644
index 000000000..86d6ba0d3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Animation.webidl
@@ -0,0 +1,55 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#animation
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum AnimationPlayState { "idle", "running", "paused", "finished" };
+
+[Func="nsDocument::IsElementAnimateEnabled",
+ Constructor (optional AnimationEffect? effect = null,
+ optional AnimationTimeline? timeline)]
+interface Animation : EventTarget {
+ attribute DOMString id;
+ [Func="nsDocument::IsWebAnimationsEnabled", Pure]
+ attribute AnimationEffect? effect;
+ [Func="nsDocument::IsWebAnimationsEnabled"]
+ attribute AnimationTimeline? timeline;
+ [BinaryName="startTimeAsDouble"]
+ attribute double? startTime;
+ [SetterThrows, BinaryName="currentTimeAsDouble"]
+ attribute double? currentTime;
+
+ attribute double playbackRate;
+ [BinaryName="playStateFromJS"]
+ readonly attribute AnimationPlayState playState;
+ [BinaryName="pendingFromJS"]
+ readonly attribute boolean pending;
+ [Func="nsDocument::IsWebAnimationsEnabled", Throws]
+ readonly attribute Promise<Animation> ready;
+ [Func="nsDocument::IsWebAnimationsEnabled", Throws]
+ readonly attribute Promise<Animation> finished;
+ attribute EventHandler onfinish;
+ attribute EventHandler oncancel;
+ undefined cancel ();
+ [Throws]
+ undefined finish ();
+ [Throws, BinaryName="playFromJS"]
+ undefined play ();
+ [Throws, BinaryName="pauseFromJS"]
+ undefined pause ();
+ undefined updatePlaybackRate (double playbackRate);
+ [Throws]
+ undefined reverse ();
+};
+
+// Non-standard extensions
+partial interface Animation {
+ [ChromeOnly] readonly attribute boolean isRunningOnCompositor;
+};
diff --git a/vendor/web-sys/webidls/enabled/AnimationEffect.webidl b/vendor/web-sys/webidls/enabled/AnimationEffect.webidl
new file mode 100644
index 000000000..e92f86220
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AnimationEffect.webidl
@@ -0,0 +1,65 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#animationeffectreadonly
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum FillMode {
+ "none",
+ "forwards",
+ "backwards",
+ "both",
+ "auto"
+};
+
+enum PlaybackDirection {
+ "normal",
+ "reverse",
+ "alternate",
+ "alternate-reverse"
+};
+
+dictionary EffectTiming {
+ double delay = 0.0;
+ double endDelay = 0.0;
+ FillMode fill = "auto";
+ double iterationStart = 0.0;
+ unrestricted double iterations = 1.0;
+ (unrestricted double or DOMString) duration = "auto";
+ PlaybackDirection direction = "normal";
+ DOMString easing = "linear";
+};
+
+dictionary OptionalEffectTiming {
+ double delay;
+ double endDelay;
+ FillMode fill;
+ double iterationStart;
+ unrestricted double iterations;
+ (unrestricted double or DOMString) duration;
+ PlaybackDirection direction;
+ DOMString easing;
+};
+
+dictionary ComputedEffectTiming : EffectTiming {
+ unrestricted double endTime = 0.0;
+ unrestricted double activeDuration = 0.0;
+ double? localTime = null;
+ double? progress = null;
+ unrestricted double? currentIteration = null;
+};
+
+[Func="nsDocument::IsWebAnimationsEnabled"]
+interface AnimationEffect {
+ EffectTiming getTiming();
+ [BinaryName="getComputedTimingAsDict"]
+ ComputedEffectTiming getComputedTiming();
+ [Throws]
+ undefined updateTiming(optional OptionalEffectTiming timing);
+};
diff --git a/vendor/web-sys/webidls/enabled/AnimationEvent.webidl b/vendor/web-sys/webidls/enabled/AnimationEvent.webidl
new file mode 100644
index 000000000..e48ed571c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AnimationEvent.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/css3-animations/#animation-events-
+ * http://dev.w3.org/csswg/css3-animations/#animation-events-
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional AnimationEventInit eventInitDict)]
+interface AnimationEvent : Event {
+ readonly attribute DOMString animationName;
+ readonly attribute float elapsedTime;
+ readonly attribute DOMString pseudoElement;
+};
+
+dictionary AnimationEventInit : EventInit {
+ DOMString animationName = "";
+ float elapsedTime = 0;
+ DOMString pseudoElement = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/AnimationPlaybackEvent.webidl b/vendor/web-sys/webidls/enabled/AnimationPlaybackEvent.webidl
new file mode 100644
index 000000000..db8136eae
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AnimationPlaybackEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#animationplaybackevent
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="nsDocument::IsWebAnimationsEnabled",
+ Constructor(DOMString type,
+ optional AnimationPlaybackEventInit eventInitDict)]
+interface AnimationPlaybackEvent : Event {
+ readonly attribute double? currentTime;
+ readonly attribute double? timelineTime;
+};
+
+dictionary AnimationPlaybackEventInit : EventInit {
+ double? currentTime = null;
+ double? timelineTime = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/AnimationTimeline.webidl b/vendor/web-sys/webidls/enabled/AnimationTimeline.webidl
new file mode 100644
index 000000000..701266037
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AnimationTimeline.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#animationtimeline
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="nsDocument::IsWebAnimationsEnabled"]
+interface AnimationTimeline {
+ [BinaryName="currentTimeAsDouble"]
+ readonly attribute double? currentTime;
+};
diff --git a/vendor/web-sys/webidls/enabled/Attr.webidl b/vendor/web-sys/webidls/enabled/Attr.webidl
new file mode 100644
index 000000000..28914dd01
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Attr.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface Attr : Node {
+ readonly attribute DOMString localName;
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString value;
+
+ [Constant]
+ readonly attribute DOMString name;
+ [Constant]
+ readonly attribute DOMString? namespaceURI;
+ [Constant]
+ readonly attribute DOMString? prefix;
+
+ readonly attribute boolean specified;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioBuffer.webidl b/vendor/web-sys/webidls/enabled/AudioBuffer.webidl
new file mode 100644
index 000000000..4b870648d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioBuffer.webidl
@@ -0,0 +1,38 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary AudioBufferOptions {
+ unsigned long numberOfChannels = 1;
+ required unsigned long length;
+ required float sampleRate;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(AudioBufferOptions options)]
+interface AudioBuffer {
+
+ readonly attribute float sampleRate;
+ readonly attribute unsigned long length;
+
+ // in seconds
+ readonly attribute double duration;
+
+ readonly attribute unsigned long numberOfChannels;
+
+ [Throws]
+ Float32Array getChannelData(unsigned long channel);
+
+ [Throws]
+ undefined copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long startInChannel = 0);
+ [Throws]
+ undefined copyToChannel(Float32Array source, long channelNumber, optional unsigned long startInChannel = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioBufferSourceNode.webidl b/vendor/web-sys/webidls/enabled/AudioBufferSourceNode.webidl
new file mode 100644
index 000000000..cbab503c8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioBufferSourceNode.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary AudioBufferSourceOptions {
+ AudioBuffer? buffer;
+ float detune = 0;
+ boolean loop = false;
+ double loopEnd = 0;
+ double loopStart = 0;
+ float playbackRate = 1;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional AudioBufferSourceOptions options)]
+interface AudioBufferSourceNode : AudioScheduledSourceNode {
+
+ attribute AudioBuffer? buffer;
+
+ readonly attribute AudioParam playbackRate;
+ readonly attribute AudioParam detune;
+
+ attribute boolean loop;
+ attribute double loopStart;
+ attribute double loopEnd;
+
+ attribute EventHandler onended;
+
+ [Throws]
+ undefined start(optional double when = 0, optional double grainOffset = 0,
+ optional double grainDuration);
+
+ [Throws]
+ undefined stop (optional double when = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioContext.webidl b/vendor/web-sys/webidls/enabled/AudioContext.webidl
new file mode 100644
index 000000000..48ca504ad
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioContext.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary AudioContextOptions {
+ float sampleRate = 0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(optional AudioContextOptions contextOptions)]
+interface AudioContext : BaseAudioContext {
+
+ // Bug 1324545: readonly attribute double outputLatency;
+ // Bug 1324545: AudioTimestamp getOutputTimestamp ();
+
+ [Throws]
+ Promise<undefined> suspend();
+ [Throws]
+ Promise<undefined> close();
+
+ [NewObject, Throws]
+ MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
+
+ [NewObject, Throws]
+ MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
+
+ // Bug 1324548: MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (AudioMediaStreamTrack mediaStreamTrack);
+
+ [NewObject, Throws]
+ MediaStreamAudioDestinationNode createMediaStreamDestination();
+};
+
+AudioContext includes rustBaseAudioContext;
diff --git a/vendor/web-sys/webidls/enabled/AudioDestinationNode.webidl b/vendor/web-sys/webidls/enabled/AudioDestinationNode.webidl
new file mode 100644
index 000000000..e5c6db868
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioDestinationNode.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled"]
+interface AudioDestinationNode : AudioNode {
+
+ readonly attribute unsigned long maxChannelCount;
+
+};
+
diff --git a/vendor/web-sys/webidls/enabled/AudioListener.webidl b/vendor/web-sys/webidls/enabled/AudioListener.webidl
new file mode 100644
index 000000000..27ade12d1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioListener.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled"]
+interface AudioListener {
+
+ // same as OpenAL (default 1)
+ [Deprecated="PannerNodeDoppler"]
+ attribute double dopplerFactor;
+
+ // in meters / second (default 343.3)
+ [Deprecated="PannerNodeDoppler"]
+ attribute double speedOfSound;
+
+ // Uses a 3D cartesian coordinate system
+ undefined setPosition(double x, double y, double z);
+ undefined setOrientation(double x, double y, double z, double xUp, double yUp, double zUp);
+ [Deprecated="PannerNodeDoppler"]
+ undefined setVelocity(double x, double y, double z);
+
+};
+
diff --git a/vendor/web-sys/webidls/enabled/AudioNode.webidl b/vendor/web-sys/webidls/enabled/AudioNode.webidl
new file mode 100644
index 000000000..a4c06c070
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioNode.webidl
@@ -0,0 +1,64 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum ChannelCountMode {
+ "max",
+ "clamped-max",
+ "explicit"
+};
+
+enum ChannelInterpretation {
+ "speakers",
+ "discrete"
+};
+
+dictionary AudioNodeOptions {
+ unsigned long channelCount;
+ ChannelCountMode channelCountMode;
+ ChannelInterpretation channelInterpretation;
+};
+
+[Pref="dom.webaudio.enabled"]
+interface AudioNode : EventTarget {
+
+ [Throws]
+ AudioNode connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
+ [Throws]
+ undefined connect(AudioParam destination, optional unsigned long output = 0);
+ [Throws]
+ undefined disconnect();
+ [Throws]
+ undefined disconnect(unsigned long output);
+ [Throws]
+ undefined disconnect(AudioNode destination);
+ [Throws]
+ undefined disconnect(AudioNode destination, unsigned long output);
+ [Throws]
+ undefined disconnect(AudioNode destination, unsigned long output, unsigned long input);
+ [Throws]
+ undefined disconnect(AudioParam destination);
+ [Throws]
+ undefined disconnect(AudioParam destination, unsigned long output);
+
+ readonly attribute BaseAudioContext context;
+ readonly attribute unsigned long numberOfInputs;
+ readonly attribute unsigned long numberOfOutputs;
+
+ // Channel up-mixing and down-mixing rules for all inputs.
+ [SetterThrows]
+ attribute unsigned long channelCount;
+ [SetterThrows]
+ attribute ChannelCountMode channelCountMode;
+ [SetterThrows]
+ attribute ChannelInterpretation channelInterpretation;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioParam.webidl b/vendor/web-sys/webidls/enabled/AudioParam.webidl
new file mode 100644
index 000000000..c9870438f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioParam.webidl
@@ -0,0 +1,42 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled"]
+interface AudioParam {
+
+ attribute float value;
+ readonly attribute float defaultValue;
+ readonly attribute float minValue;
+ readonly attribute float maxValue;
+
+ // Parameter automation.
+ [Throws]
+ AudioParam setValueAtTime(float value, double startTime);
+ [Throws]
+ AudioParam linearRampToValueAtTime(float value, double endTime);
+ [Throws]
+ AudioParam exponentialRampToValueAtTime(float value, double endTime);
+
+ // Exponentially approach the target value with a rate having the given time constant.
+ [Throws]
+ AudioParam setTargetAtTime(float target, double startTime, double timeConstant);
+
+ // Sets an array of arbitrary parameter values starting at time for the given duration.
+ // The number of values will be scaled to fit into the desired duration.
+ [Throws]
+ AudioParam setValueCurveAtTime(Float32Array values, double startTime, double duration);
+
+ // Cancels all scheduled parameter changes with times greater than or equal to startTime.
+ [Throws]
+ AudioParam cancelScheduledValues(double startTime);
+
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioParamMap.webidl b/vendor/web-sys/webidls/enabled/AudioParamMap.webidl
new file mode 100644
index 000000000..9aabd93d4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioParamMap.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/#audioparammap
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.audioworklet.enabled"]
+interface AudioParamMap {
+ readonly maplike<DOMString, AudioParam>;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioProcessingEvent.webidl b/vendor/web-sys/webidls/enabled/AudioProcessingEvent.webidl
new file mode 100644
index 000000000..8cf3d9cc2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioProcessingEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled"]
+interface AudioProcessingEvent : Event {
+
+ readonly attribute double playbackTime;
+
+ [Throws]
+ readonly attribute AudioBuffer inputBuffer;
+ [Throws]
+ readonly attribute AudioBuffer outputBuffer;
+
+};
+
diff --git a/vendor/web-sys/webidls/enabled/AudioScheduledSourceNode.webidl b/vendor/web-sys/webidls/enabled/AudioScheduledSourceNode.webidl
new file mode 100644
index 000000000..12876dcd9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioScheduledSourceNode.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/#idl-def-AudioScheduledSourceNode
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface AudioScheduledSourceNode : AudioNode {
+};
+
+AudioScheduledSourceNode includes rustAudioScheduledSourceNode;
+
+interface mixin rustAudioScheduledSourceNode {
+ attribute EventHandler onended;
+ [Throws]
+ undefined start (optional double when = 0);
+
+ [Throws]
+ undefined stop (optional double when = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioStreamTrack.webidl b/vendor/web-sys/webidls/enabled/AudioStreamTrack.webidl
new file mode 100644
index 000000000..9fff71ced
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioStreamTrack.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// [Constructor(optional MediaTrackConstraints audioConstraints)]
+interface AudioStreamTrack : MediaStreamTrack {
+// static sequence<DOMString> getSourceIds ();
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioTrack.webidl b/vendor/web-sys/webidls/enabled/AudioTrack.webidl
new file mode 100644
index 000000000..e54dd47cc
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioTrack.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#audiotrack
+ */
+
+[Pref="media.track.enabled"]
+interface AudioTrack {
+ readonly attribute DOMString id;
+ readonly attribute DOMString kind;
+ readonly attribute DOMString label;
+ readonly attribute DOMString language;
+ attribute boolean enabled;
+};
+
+partial interface AudioTrack {
+ readonly attribute SourceBuffer? sourceBuffer;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioTrackList.webidl b/vendor/web-sys/webidls/enabled/AudioTrackList.webidl
new file mode 100644
index 000000000..2c229a67a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioTrackList.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#audiotracklist
+ */
+
+[Pref="media.track.enabled"]
+interface AudioTrackList : EventTarget {
+ readonly attribute unsigned long length;
+ getter AudioTrack (unsigned long index);
+ AudioTrack? getTrackById(DOMString id);
+
+ attribute EventHandler onchange;
+ attribute EventHandler onaddtrack;
+ attribute EventHandler onremovetrack;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioWorklet.webidl b/vendor/web-sys/webidls/enabled/AudioWorklet.webidl
new file mode 100644
index 000000000..720cd03ce
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioWorklet.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2018 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=Window, SecureContext, Pref="dom.audioworklet.enabled"]
+interface AudioWorklet : Worklet {
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/enabled/AudioWorkletGlobalScope.webidl b/vendor/web-sys/webidls/enabled/AudioWorkletGlobalScope.webidl
new file mode 100644
index 000000000..abcf163cd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioWorkletGlobalScope.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/#audioworkletglobalscope
+ */
+
+[Global=(Worklet,AudioWorklet),Exposed=AudioWorklet]
+interface AudioWorkletGlobalScope : WorkletGlobalScope {
+ undefined registerProcessor (DOMString name, VoidFunction processorCtor);
+ readonly attribute unsigned long long currentFrame;
+ readonly attribute double currentTime;
+ readonly attribute float sampleRate;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioWorkletNode.webidl b/vendor/web-sys/webidls/enabled/AudioWorkletNode.webidl
new file mode 100644
index 000000000..fedb94497
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioWorkletNode.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary AudioWorkletNodeOptions : AudioNodeOptions {
+ unsigned long numberOfInputs = 1;
+ unsigned long numberOfOutputs = 1;
+ sequence<unsigned long> outputChannelCount;
+ record<DOMString, double> parameterData;
+ object? processorOptions = null;
+};
+
+[SecureContext, Pref="dom.audioworklet.enabled",
+ Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)]
+interface AudioWorkletNode : AudioNode {
+ [Throws]
+ readonly attribute AudioParamMap parameters;
+ [Throws]
+ readonly attribute MessagePort port;
+ attribute EventHandler onprocessorerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/AudioWorkletProcessor.webidl b/vendor/web-sys/webidls/enabled/AudioWorkletProcessor.webidl
new file mode 100644
index 000000000..01ef6cbc4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AudioWorkletProcessor.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/#audioworkletprocessor
+ *
+ * Copyright © 2018 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=AudioWorklet,
+ Constructor (optional AudioWorkletNodeOptions options)]
+interface AudioWorkletProcessor {
+ [Throws]
+ readonly attribute MessagePort port;
+};
diff --git a/vendor/web-sys/webidls/enabled/AutocompleteInfo.webidl b/vendor/web-sys/webidls/enabled/AutocompleteInfo.webidl
new file mode 100644
index 000000000..ad32ff6d3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/AutocompleteInfo.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+/**
+ * This dictionary is used for the input, textarea and select element's
+ * getAutocompleteInfo method.
+ */
+
+dictionary AutocompleteInfo {
+ DOMString section = "";
+ DOMString addressType = "";
+ DOMString contactType = "";
+ DOMString fieldName = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/BarProp.webidl b/vendor/web-sys/webidls/enabled/BarProp.webidl
new file mode 100644
index 000000000..871f0793e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BarProp.webidl
@@ -0,0 +1,11 @@
+/* -*- 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/.
+ */
+
+interface BarProp
+{
+ [Throws, NeedsCallerType]
+ attribute boolean visible;
+};
diff --git a/vendor/web-sys/webidls/enabled/BaseAudioContext.webidl b/vendor/web-sys/webidls/enabled/BaseAudioContext.webidl
new file mode 100644
index 000000000..7f12a5af1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BaseAudioContext.webidl
@@ -0,0 +1,107 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/#idl-def-BaseAudioContext
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+callback DecodeSuccessCallback = undefined (AudioBuffer decodedData);
+callback DecodeErrorCallback = undefined (DOMException error);
+
+enum AudioContextState {
+ "suspended",
+ "running",
+ "closed"
+};
+
+interface BaseAudioContext : EventTarget {
+};
+
+BaseAudioContext includes rustBaseAudioContext;
+
+interface mixin rustBaseAudioContext {
+ readonly attribute AudioDestinationNode destination;
+ readonly attribute float sampleRate;
+ readonly attribute double currentTime;
+ readonly attribute AudioListener listener;
+ readonly attribute AudioContextState state;
+ [Throws, SameObject, SecureContext, Pref="dom.audioworklet.enabled"]
+ readonly attribute AudioWorklet audioWorklet;
+ // Bug 1324552: readonly attribute double baseLatency;
+
+ [Throws]
+ Promise<undefined> resume();
+
+ attribute EventHandler onstatechange;
+
+ [NewObject, Throws]
+ AudioBuffer createBuffer (unsigned long numberOfChannels,
+ unsigned long length,
+ float sampleRate);
+
+ [Throws]
+ Promise<AudioBuffer> decodeAudioData(ArrayBuffer audioData,
+ optional DecodeSuccessCallback successCallback,
+ optional DecodeErrorCallback errorCallback);
+
+ // AudioNode creation
+ [NewObject, Throws]
+ AudioBufferSourceNode createBufferSource();
+
+ [NewObject, Throws]
+ ConstantSourceNode createConstantSource();
+
+ [NewObject, Throws]
+ ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0,
+ optional unsigned long numberOfInputChannels = 2,
+ optional unsigned long numberOfOutputChannels = 2);
+
+ [NewObject, Throws]
+ AnalyserNode createAnalyser();
+
+ [NewObject, Throws]
+ GainNode createGain();
+
+ [NewObject, Throws]
+ DelayNode createDelay(optional double maxDelayTime = 1); // TODO: no = 1
+
+ [NewObject, Throws]
+ BiquadFilterNode createBiquadFilter();
+
+ [NewObject, Throws]
+ IIRFilterNode createIIRFilter(sequence<double> feedforward, sequence<double> feedback);
+
+ [NewObject, Throws]
+ WaveShaperNode createWaveShaper();
+
+ [NewObject, Throws]
+ PannerNode createPanner();
+
+ [NewObject, Throws]
+ StereoPannerNode createStereoPanner();
+
+ [NewObject, Throws]
+ ConvolverNode createConvolver();
+
+ [NewObject, Throws]
+ ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs = 6);
+
+ [NewObject, Throws]
+ ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs = 6);
+
+ [NewObject, Throws]
+ DynamicsCompressorNode createDynamicsCompressor();
+
+ [NewObject, Throws]
+ OscillatorNode createOscillator();
+
+ [NewObject, Throws]
+ PeriodicWave createPeriodicWave(Float32Array real,
+ Float32Array imag,
+ optional PeriodicWaveConstraints constraints);
+};
diff --git a/vendor/web-sys/webidls/enabled/BaseKeyframeTypes.webidl b/vendor/web-sys/webidls/enabled/BaseKeyframeTypes.webidl
new file mode 100644
index 000000000..2cbfc4ba5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BaseKeyframeTypes.webidl
@@ -0,0 +1,49 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#the-compositeoperation-enumeration
+ * https://drafts.csswg.org/web-animations/#dictdef-basepropertyindexedkeyframe
+ * https://drafts.csswg.org/web-animations/#dictdef-basekeyframe
+ * https://drafts.csswg.org/web-animations/#dictdef-basecomputedkeyframe
+ *
+ * Copyright © 2016 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum CompositeOperation { "replace", "add", "accumulate" };
+
+// The following dictionary types are not referred to by other .webidl files,
+// but we use it for manual JS->IDL and IDL->JS conversions in KeyframeEffect's
+// implementation.
+
+dictionary BasePropertyIndexedKeyframe {
+ (double? or sequence<double?>) offset = [];
+ (DOMString or sequence<DOMString>) easing = [];
+ (CompositeOperation? or sequence<CompositeOperation?>) composite = [];
+};
+
+dictionary BaseKeyframe {
+ double? offset = null;
+ DOMString easing = "linear";
+ CompositeOperation? composite = null;
+
+ // Non-standard extensions
+
+ // Member to allow testing when StyleAnimationValue::ComputeValues fails.
+ //
+ // Note that we currently only apply this to shorthand properties since
+ // it's easier to annotate shorthand property values and because we have
+ // only ever observed ComputeValues failing on shorthand values.
+ //
+ // Bug 1216844 should remove this member since after that bug is fixed we will
+ // have a well-defined behavior to use when animation endpoints are not
+ // available.
+ [ChromeOnly] boolean simulateComputeValuesFailure = false;
+};
+
+dictionary BaseComputedKeyframe : BaseKeyframe {
+ double computedOffset;
+};
diff --git a/vendor/web-sys/webidls/enabled/BasicCardPayment.webidl b/vendor/web-sys/webidls/enabled/BasicCardPayment.webidl
new file mode 100644
index 000000000..3cd62a43a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BasicCardPayment.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this WebIDL file is
+ * https://www.w3.org/TR/payment-request/#paymentrequest-interface
+ */
+enum BasicCardType {
+ "credit",
+ "debit",
+ "prepaid"
+};
+
+dictionary BasicCardRequest {
+ sequence<DOMString> supportedNetworks;
+ sequence<BasicCardType> supportedTypes;
+};
+
+dictionary BasicCardResponse {
+ DOMString cardholderName;
+ required DOMString cardNumber;
+ DOMString expiryMonth;
+ DOMString expiryYear;
+ DOMString cardSecurityCode;
+ PaymentAddress? billingAddress;
+};
diff --git a/vendor/web-sys/webidls/enabled/BatteryManager.webidl b/vendor/web-sys/webidls/enabled/BatteryManager.webidl
new file mode 100644
index 000000000..a964f3b0b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BatteryManager.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/battery-status/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface BatteryManager : EventTarget {
+ readonly attribute boolean charging;
+ readonly attribute unrestricted double chargingTime;
+ readonly attribute unrestricted double dischargingTime;
+ readonly attribute double level;
+
+ attribute EventHandler onchargingchange;
+ attribute EventHandler onchargingtimechange;
+ attribute EventHandler ondischargingtimechange;
+ attribute EventHandler onlevelchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/BeforeUnloadEvent.webidl b/vendor/web-sys/webidls/enabled/BeforeUnloadEvent.webidl
new file mode 100644
index 000000000..e64e1b2c2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BeforeUnloadEvent.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
+ */
+
+interface BeforeUnloadEvent : Event {
+ attribute DOMString returnValue;
+};
diff --git a/vendor/web-sys/webidls/enabled/BiquadFilterNode.webidl b/vendor/web-sys/webidls/enabled/BiquadFilterNode.webidl
new file mode 100644
index 000000000..5b4d584a3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BiquadFilterNode.webidl
@@ -0,0 +1,46 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum BiquadFilterType {
+ "lowpass",
+ "highpass",
+ "bandpass",
+ "lowshelf",
+ "highshelf",
+ "peaking",
+ "notch",
+ "allpass"
+};
+
+dictionary BiquadFilterOptions : AudioNodeOptions {
+ BiquadFilterType type = "lowpass";
+ float Q = 1;
+ float detune = 0;
+ float frequency = 350;
+ float gain = 0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional BiquadFilterOptions options)]
+interface BiquadFilterNode : AudioNode {
+
+ attribute BiquadFilterType type;
+ readonly attribute AudioParam frequency; // in Hertz
+ readonly attribute AudioParam detune; // in Cents
+ readonly attribute AudioParam Q; // Quality factor
+ readonly attribute AudioParam gain; // in Decibels
+
+ undefined getFrequencyResponse(Float32Array frequencyHz,
+ Float32Array magResponse,
+ Float32Array phaseResponse);
+
+};
diff --git a/vendor/web-sys/webidls/enabled/Blob.webidl b/vendor/web-sys/webidls/enabled/Blob.webidl
new file mode 100644
index 000000000..837e27c72
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Blob.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/FileAPI/#blob
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+typedef (BufferSource or Blob or USVString) BlobPart;
+
+[Constructor(optional sequence<BlobPart> blobParts,
+ optional BlobPropertyBag options),
+ Exposed=(Window,Worker)]
+interface Blob {
+
+ [GetterThrows]
+ readonly attribute unsigned long long size;
+
+ readonly attribute DOMString type;
+
+ //slice Blob into byte-ranged chunks
+
+ [Throws]
+ Blob slice([Clamp] optional long long start,
+ [Clamp] optional long long end,
+ optional DOMString contentType);
+
+ // read from the Blob.
+ [NewObject] ReadableStream stream();
+ [NewObject] Promise<DOMString> text();
+ [NewObject] Promise<ArrayBuffer> arrayBuffer();
+};
+
+enum EndingTypes { "transparent", "native" };
+
+dictionary BlobPropertyBag {
+ DOMString type = "";
+ EndingTypes endings = "transparent";
+};
diff --git a/vendor/web-sys/webidls/enabled/BlobEvent.webidl b/vendor/web-sys/webidls/enabled/BlobEvent.webidl
new file mode 100644
index 000000000..8d0418701
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BlobEvent.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional BlobEventInit eventInitDict)]
+interface BlobEvent : Event
+{
+ readonly attribute Blob? data;
+};
+
+dictionary BlobEventInit : EventInit
+{
+ Blob? data = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/BroadcastChannel.webidl b/vendor/web-sys/webidls/enabled/BroadcastChannel.webidl
new file mode 100644
index 000000000..f86816eeb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BroadcastChannel.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * https://html.spec.whatwg.org/#broadcastchannel
+ */
+
+[Constructor(DOMString channel),
+ Exposed=(Window,Worker)]
+interface BroadcastChannel : EventTarget {
+ readonly attribute DOMString name;
+
+ [Throws]
+ undefined postMessage(any message);
+
+ undefined close();
+
+ attribute EventHandler onmessage;
+ attribute EventHandler onmessageerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/BrowserElement.webidl b/vendor/web-sys/webidls/enabled/BrowserElement.webidl
new file mode 100644
index 000000000..ede9541aa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BrowserElement.webidl
@@ -0,0 +1,150 @@
+/* -*- 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/.
+ */
+
+callback BrowserElementNextPaintEventCallback = undefined ();
+
+enum BrowserFindCaseSensitivity { "case-sensitive", "case-insensitive" };
+enum BrowserFindDirection { "forward", "backward" };
+
+dictionary BrowserElementDownloadOptions {
+ DOMString? filename;
+ DOMString? referrer;
+};
+
+dictionary BrowserElementExecuteScriptOptions {
+ DOMString? url;
+ DOMString? origin;
+};
+
+interface mixin BrowserElement {
+};
+
+BrowserElement includes BrowserElementCommon;
+BrowserElement includes BrowserElementPrivileged;
+
+interface mixin BrowserElementCommon {
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined addNextPaintListener(BrowserElementNextPaintEventCallback listener);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined removeNextPaintListener(BrowserElementNextPaintEventCallback listener);
+};
+
+interface mixin BrowserElementPrivileged {
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined sendMouseEvent(DOMString type,
+ unsigned long x,
+ unsigned long y,
+ unsigned long button,
+ unsigned long clickCount,
+ unsigned long modifiers);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ Func="TouchEvent::PrefEnabled",
+ ChromeOnly]
+ undefined sendTouchEvent(DOMString type,
+ sequence<unsigned long> identifiers,
+ sequence<long> x,
+ sequence<long> y,
+ sequence<unsigned long> rx,
+ sequence<unsigned long> ry,
+ sequence<float> rotationAngles,
+ sequence<float> forces,
+ unsigned long count,
+ unsigned long modifiers);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined goBack();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined goForward();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined reload(optional boolean hardReload = false);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined stop();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest download(DOMString url,
+ optional BrowserElementDownloadOptions options);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest purgeHistory();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getScreenshot([EnforceRange] unsigned long width,
+ [EnforceRange] unsigned long height,
+ optional DOMString mimeType="");
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined zoom(float zoom);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getCanGoBack();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getCanGoForward();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getContentDimensions();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined findAll(DOMString searchString, BrowserFindCaseSensitivity caseSensitivity);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined findNext(BrowserFindDirection direction);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ undefined clearMatch();
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest executeScript(DOMString script,
+ optional BrowserElementExecuteScriptOptions options);
+
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getWebManifest();
+
+};
diff --git a/vendor/web-sys/webidls/enabled/BrowserElementDictionaries.webidl b/vendor/web-sys/webidls/enabled/BrowserElementDictionaries.webidl
new file mode 100644
index 000000000..400e40253
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BrowserElementDictionaries.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary OpenWindowEventDetail {
+ DOMString url = "";
+ DOMString name = "";
+ DOMString features = "";
+ Node? frameElement = null;
+};
+
+dictionary DOMWindowResizeEventDetail {
+ long width = 0;
+ long height = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/BrowserFeedWriter.webidl b/vendor/web-sys/webidls/enabled/BrowserFeedWriter.webidl
new file mode 100644
index 000000000..082ba603d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/BrowserFeedWriter.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ */
+
+[JSImplementation="@mozilla.org/browser/feeds/result-writer;1",
+ Func="mozilla::FeedWriterEnabled::IsEnabled",
+ Constructor]
+interface BrowserFeedWriter {
+ /**
+ * Writes the feed content, assumes that the feed writer is initialized.
+ */
+ undefined writeContent();
+
+ /**
+ * Uninitialize the feed writer.
+ */
+ undefined close();
+};
diff --git a/vendor/web-sys/webidls/enabled/CDATASection.webidl b/vendor/web-sys/webidls/enabled/CDATASection.webidl
new file mode 100644
index 000000000..895dae089
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CDATASection.webidl
@@ -0,0 +1,8 @@
+/* -*- 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/.
+ */
+
+interface CDATASection : Text {
+};
diff --git a/vendor/web-sys/webidls/enabled/CSPDictionaries.webidl b/vendor/web-sys/webidls/enabled/CSPDictionaries.webidl
new file mode 100644
index 000000000..f8de1c9ad
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSPDictionaries.webidl
@@ -0,0 +1,38 @@
+/* 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/. */
+
+/**
+ * Dictionary used to display CSP info.
+ */
+
+dictionary CSP {
+ boolean report-only = false;
+
+ sequence<DOMString> default-src;
+ sequence<DOMString> script-src;
+ sequence<DOMString> object-src;
+ sequence<DOMString> style-src;
+ sequence<DOMString> img-src;
+ sequence<DOMString> media-src;
+ sequence<DOMString> frame-src;
+ sequence<DOMString> font-src;
+ sequence<DOMString> connect-src;
+ sequence<DOMString> report-uri;
+ sequence<DOMString> frame-ancestors;
+ // sequence<DOMString> reflected-xss; // not supported in Firefox
+ sequence<DOMString> base-uri;
+ sequence<DOMString> form-action;
+ sequence<DOMString> referrer;
+ sequence<DOMString> manifest-src;
+ sequence<DOMString> upgrade-insecure-requests;
+ sequence<DOMString> child-src;
+ sequence<DOMString> block-all-mixed-content;
+ sequence<DOMString> require-sri-for;
+ sequence<DOMString> sandbox;
+ sequence<DOMString> worker-src;
+};
+
+dictionary CSPPolicies {
+ sequence<CSP> csp-policies;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSPReport.webidl b/vendor/web-sys/webidls/enabled/CSPReport.webidl
new file mode 100644
index 000000000..301ca2885
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSPReport.webidl
@@ -0,0 +1,24 @@
+/* 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/. */
+
+/**
+ * This dictionary holds the parameters used to send
+ * CSP reports in JSON format.
+ */
+
+dictionary CSPReportProperties {
+ DOMString document-uri = "";
+ DOMString referrer = "";
+ DOMString blocked-uri = "";
+ DOMString violated-directive = "";
+ DOMString original-policy= "";
+ DOMString source-file;
+ DOMString script-sample;
+ long line-number;
+ long column-number;
+};
+
+dictionary CSPReport {
+ CSPReportProperties csp-report;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSS.webidl b/vendor/web-sys/webidls/enabled/CSS.webidl
new file mode 100644
index 000000000..ad3f9a42d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSS.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css3-conditional/
+ * http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+namespace CSS {
+ [Throws]
+ boolean supports(DOMString property, DOMString value);
+
+ [Throws]
+ boolean supports(DOMString conditionText);
+};
+
+// http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
+partial namespace CSS {
+ DOMString escape(DOMString ident);
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSAnimation.webidl b/vendor/web-sys/webidls/enabled/CSSAnimation.webidl
new file mode 100644
index 000000000..8799bfadb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSAnimation.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-animations-2/#the-CSSAnimation-interface
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="nsDocument::IsWebAnimationsEnabled",
+ HeaderFile="nsAnimationManager.h"]
+interface CSSAnimation : Animation {
+ [Constant] readonly attribute DOMString animationName;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSConditionRule.webidl b/vendor/web-sys/webidls/enabled/CSSConditionRule.webidl
new file mode 100644
index 000000000..24fae2343
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSConditionRule.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface
+ */
+
+// https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface
+interface CSSConditionRule : CSSGroupingRule {
+ [SetterThrows]
+ attribute DOMString conditionText;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSCounterStyleRule.webidl b/vendor/web-sys/webidls/enabled/CSSCounterStyleRule.webidl
new file mode 100644
index 000000000..bb6f7e0e1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSCounterStyleRule.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-counter-styles-3/#the-csscounterstylerule-interface
+ */
+
+// https://drafts.csswg.org/css-counter-styles-3/#the-csscounterstylerule-interface
+interface CSSCounterStyleRule : CSSRule {
+ attribute DOMString name;
+ attribute DOMString system;
+ attribute DOMString symbols;
+ attribute DOMString additiveSymbols;
+ attribute DOMString negative;
+ attribute DOMString prefix;
+ attribute DOMString suffix;
+ attribute DOMString range;
+ attribute DOMString pad;
+ attribute DOMString speakAs;
+ attribute DOMString fallback;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSFontFaceRule.webidl b/vendor/web-sys/webidls/enabled/CSSFontFaceRule.webidl
new file mode 100644
index 000000000..221dd26ae
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSFontFaceRule.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-fonts/#om-fontface
+ */
+
+// https://drafts.csswg.org/css-fonts/#om-fontface
+// But we implement a very old draft, apparently....
+// See bug 1058408 for implementing the current spec.
+interface CSSFontFaceRule : CSSRule {
+ [SameObject] readonly attribute CSSStyleDeclaration style;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSFontFeatureValuesRule.webidl b/vendor/web-sys/webidls/enabled/CSSFontFeatureValuesRule.webidl
new file mode 100644
index 000000000..753293814
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSFontFeatureValuesRule.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-fonts/#om-fontfeaturevalues
+ */
+
+// https://drafts.csswg.org/css-fonts/#om-fontfeaturevalues
+// but we don't implement anything remotely resembling the spec.
+interface CSSFontFeatureValuesRule : CSSRule {
+ [SetterThrows]
+ attribute DOMString fontFamily;
+
+ // Not yet implemented
+ // readonly attribute CSSFontFeatureValuesMap annotation;
+ // readonly attribute CSSFontFeatureValuesMap ornaments;
+ // readonly attribute CSSFontFeatureValuesMap stylistic;
+ // readonly attribute CSSFontFeatureValuesMap swash;
+ // readonly attribute CSSFontFeatureValuesMap characterVariant;
+ // readonly attribute CSSFontFeatureValuesMap styleset;
+};
+
+partial interface CSSFontFeatureValuesRule {
+ // Gecko addition?
+ [SetterThrows]
+ attribute DOMString valueText;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSGroupingRule.webidl b/vendor/web-sys/webidls/enabled/CSSGroupingRule.webidl
new file mode 100644
index 000000000..7d70d48ea
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSGroupingRule.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#cssgroupingrule
+ */
+
+// https://drafts.csswg.org/cssom/#cssgroupingrule
+interface CSSGroupingRule : CSSRule {
+ [SameObject] readonly attribute CSSRuleList cssRules;
+ [Throws]
+ unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
+ [Throws]
+ undefined deleteRule(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSImportRule.webidl b/vendor/web-sys/webidls/enabled/CSSImportRule.webidl
new file mode 100644
index 000000000..fccb97141
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSImportRule.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#cssimportrule
+ */
+
+// https://drafts.csswg.org/cssom/#cssimportrule
+interface CSSImportRule : CSSRule {
+ readonly attribute DOMString href;
+ // Per spec, the .media is never null, but in our implementation it can
+ // be since stylesheet can be null, and in Stylo, media is derived from
+ // the stylesheet. See <https://bugzilla.mozilla.org/show_bug.cgi?id=1326509>.
+ [SameObject, PutForwards=mediaText] readonly attribute MediaList? media;
+ // Per spec, the .styleSheet is never null, but in our implementation it can
+ // be. See <https://bugzilla.mozilla.org/show_bug.cgi?id=1326509>.
+ [SameObject] readonly attribute CSSStyleSheet? styleSheet;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSKeyframeRule.webidl b/vendor/web-sys/webidls/enabled/CSSKeyframeRule.webidl
new file mode 100644
index 000000000..25d8965f2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSKeyframeRule.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-animations/#interface-csskeyframerule
+ */
+
+// https://drafts.csswg.org/css-animations/#interface-csskeyframerule
+interface CSSKeyframeRule : CSSRule {
+ attribute DOMString keyText;
+ readonly attribute CSSStyleDeclaration style;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSKeyframesRule.webidl b/vendor/web-sys/webidls/enabled/CSSKeyframesRule.webidl
new file mode 100644
index 000000000..3da96a313
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSKeyframesRule.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-animations/#interface-csskeyframesrule
+ */
+
+// https://drafts.csswg.org/css-animations/#interface-csskeyframesrule
+interface CSSKeyframesRule : CSSRule {
+ attribute DOMString name;
+ readonly attribute CSSRuleList cssRules;
+
+ undefined appendRule(DOMString rule);
+ undefined deleteRule(DOMString select);
+ CSSKeyframeRule? findRule(DOMString select);
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSMediaRule.webidl b/vendor/web-sys/webidls/enabled/CSSMediaRule.webidl
new file mode 100644
index 000000000..841a1b6f6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSMediaRule.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#the-cssmediarule-interface
+ * https://drafts.csswg.org/css-conditional/#the-cssmediarule-interface
+ */
+
+// https://drafts.csswg.org/cssom/#the-cssmediarule-interface and
+// https://drafts.csswg.org/css-conditional/#the-cssmediarule-interface
+// except they disagree with each other. We're taking the inheritance from
+// css-conditional and the PutForwards behavior from cssom.
+interface CSSMediaRule : CSSConditionRule {
+ [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSMozDocumentRule.webidl b/vendor/web-sys/webidls/enabled/CSSMozDocumentRule.webidl
new file mode 100644
index 000000000..8ca6e09ec
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSMozDocumentRule.webidl
@@ -0,0 +1,5 @@
+/* -*- 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/.
+ */
diff --git a/vendor/web-sys/webidls/enabled/CSSNamespaceRule.webidl b/vendor/web-sys/webidls/enabled/CSSNamespaceRule.webidl
new file mode 100644
index 000000000..63f930173
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSNamespaceRule.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#cssnamespacerule
+ */
+
+// https://drafts.csswg.org/cssom/#cssnamespacerule
+interface CSSNamespaceRule : CSSRule {
+ readonly attribute DOMString namespaceURI;
+ readonly attribute DOMString prefix;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSPageRule.webidl b/vendor/web-sys/webidls/enabled/CSSPageRule.webidl
new file mode 100644
index 000000000..93e47ef02
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSPageRule.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#the-csspagerule-interface
+ */
+
+// https://drafts.csswg.org/cssom/#the-csspagerule-interface
+// Per spec, this should inherit from CSSGroupingRule, but we don't
+// implement this yet.
+interface CSSPageRule : CSSRule {
+ // selectorText not implemented yet
+ // attribute DOMString selectorText;
+ [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSPseudoElement.webidl b/vendor/web-sys/webidls/enabled/CSSPseudoElement.webidl
new file mode 100644
index 000000000..145728096
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSPseudoElement.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-pseudo/#CSSPseudoElement-interface
+ * https://drafts.csswg.org/cssom/#pseudoelement
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// Both CSSOM and CSS Pseudo-Elements 4 provide contradictory definitions for
+// this interface.
+// What we implement here is a minimal subset of the two definitions which we
+// ship behind a pref until the specification issues have been resolved.
+[Func="nsDocument::IsWebAnimationsEnabled"]
+interface CSSPseudoElement {
+ readonly attribute DOMString type;
+ readonly attribute Element parentElement;
+};
+
+// https://drafts.csswg.org/web-animations/#extensions-to-the-pseudoelement-interface
+CSSPseudoElement includes Animatable;
diff --git a/vendor/web-sys/webidls/enabled/CSSRule.webidl b/vendor/web-sys/webidls/enabled/CSSRule.webidl
new file mode 100644
index 000000000..a82593035
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSRule.webidl
@@ -0,0 +1,58 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#the-cssrule-interface
+ * https://drafts.csswg.org/css-animations/#interface-cssrule
+ * https://drafts.csswg.org/css-counter-styles-3/#extentions-to-cssrule-interface
+ * https://drafts.csswg.org/css-conditional-3/#extentions-to-cssrule-interface
+ * https://drafts.csswg.org/css-fonts-3/#om-fontfeaturevalues
+ */
+
+// https://drafts.csswg.org/cssom/#the-cssrule-interface
+interface CSSRule {
+
+ const unsigned short STYLE_RULE = 1;
+ const unsigned short CHARSET_RULE = 2; // historical
+ const unsigned short IMPORT_RULE = 3;
+ const unsigned short MEDIA_RULE = 4;
+ const unsigned short FONT_FACE_RULE = 5;
+ const unsigned short PAGE_RULE = 6;
+ // FIXME: We don't support MARGIN_RULE yet.
+ // XXXbz Should we expose the constant anyway?
+ // const unsigned short MARGIN_RULE = 9;
+ const unsigned short NAMESPACE_RULE = 10;
+ readonly attribute unsigned short type;
+ attribute DOMString cssText;
+ readonly attribute CSSRule? parentRule;
+ readonly attribute CSSStyleSheet? parentStyleSheet;
+};
+
+// https://drafts.csswg.org/css-animations/#interface-cssrule
+partial interface CSSRule {
+ const unsigned short KEYFRAMES_RULE = 7;
+ const unsigned short KEYFRAME_RULE = 8;
+};
+
+// https://drafts.csswg.org/css-counter-styles-3/#extentions-to-cssrule-interface
+partial interface CSSRule {
+ const unsigned short COUNTER_STYLE_RULE = 11;
+};
+
+// https://drafts.csswg.org/css-conditional-3/#extentions-to-cssrule-interface
+partial interface CSSRule {
+ const unsigned short SUPPORTS_RULE = 12;
+};
+
+// Non-standard extension for @-moz-document rules.
+partial interface CSSRule {
+ [ChromeOnly]
+ const unsigned short DOCUMENT_RULE = 13;
+};
+
+// https://drafts.csswg.org/css-fonts-3/#om-fontfeaturevalues
+partial interface CSSRule {
+ const unsigned short FONT_FEATURE_VALUES_RULE = 14;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSRuleList.webidl b/vendor/web-sys/webidls/enabled/CSSRuleList.webidl
new file mode 100644
index 000000000..c4faec148
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSRuleList.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ */
+
+interface CSSRuleList {
+ readonly attribute unsigned long length;
+ getter CSSRule? item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSStyleDeclaration.webidl b/vendor/web-sys/webidls/enabled/CSSStyleDeclaration.webidl
new file mode 100644
index 000000000..9df169540
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSStyleDeclaration.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/cssom/
+ */
+
+ // Because of getComputedStyle, many CSSStyleDeclaration objects can be
+ // short-living.
+[ProbablyShortLivingWrapper]
+interface CSSStyleDeclaration {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString cssText;
+
+ readonly attribute unsigned long length;
+ getter DOMString item(unsigned long index);
+
+ [Throws, ChromeOnly]
+ sequence<DOMString> getCSSImageURLs(DOMString property);
+
+ [Throws]
+ DOMString getPropertyValue(DOMString property);
+ DOMString getPropertyPriority(DOMString property);
+ [CEReactions, NeedsSubjectPrincipal=NonSystem, Throws]
+ undefined setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
+ [CEReactions, Throws]
+ DOMString removeProperty(DOMString property);
+
+ readonly attribute CSSRule? parentRule;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSStyleRule.webidl b/vendor/web-sys/webidls/enabled/CSSStyleRule.webidl
new file mode 100644
index 000000000..571bd6a57
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSStyleRule.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom/#the-cssstylerule-interface
+ */
+
+// https://drafts.csswg.org/cssom/#the-cssstylerule-interface
+interface CSSStyleRule : CSSRule {
+ attribute DOMString selectorText;
+ [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSStyleSheet.webidl b/vendor/web-sys/webidls/enabled/CSSStyleSheet.webidl
new file mode 100644
index 000000000..7605c949a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSStyleSheet.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/cssom/
+ */
+
+enum CSSStyleSheetParsingMode {
+ "author",
+ "user",
+ "agent"
+};
+
+interface CSSStyleSheet : StyleSheet {
+ [Pure]
+ readonly attribute CSSRule? ownerRule;
+ [Throws, NeedsSubjectPrincipal]
+ readonly attribute CSSRuleList cssRules;
+ [ChromeOnly, BinaryName="parsingModeDOM"]
+ readonly attribute CSSStyleSheetParsingMode parsingMode;
+ [Throws, NeedsSubjectPrincipal]
+ unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
+ [Throws, NeedsSubjectPrincipal]
+ undefined deleteRule(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSSupportsRule.webidl b/vendor/web-sys/webidls/enabled/CSSSupportsRule.webidl
new file mode 100644
index 000000000..0576e90eb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSSupportsRule.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-conditional/#the-csssupportsrule-interface
+ */
+
+// https://drafts.csswg.org/css-conditional/#the-csssupportsrule-interface
+interface CSSSupportsRule : CSSConditionRule {
+};
diff --git a/vendor/web-sys/webidls/enabled/CSSTransition.webidl b/vendor/web-sys/webidls/enabled/CSSTransition.webidl
new file mode 100644
index 000000000..44ffb79f2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CSSTransition.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-transitions-2/#the-CSSTransition-interface
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="nsDocument::IsWebAnimationsEnabled",
+ HeaderFile="nsTransitionManager.h"]
+interface CSSTransition : Animation {
+ [Constant] readonly attribute DOMString transitionProperty;
+};
diff --git a/vendor/web-sys/webidls/enabled/Cache.webidl b/vendor/web-sys/webidls/enabled/Cache.webidl
new file mode 100644
index 000000000..2eb312f1c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Cache.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ *
+ */
+
+// https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#cache
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::DOMPrefs::DOMCachesEnabled"]
+interface Cache {
+ [NewObject]
+ Promise<Response> match(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject]
+ Promise<sequence<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options);
+ [NewObject, NeedsCallerType]
+ Promise<undefined> add(RequestInfo request);
+ [NewObject, NeedsCallerType]
+ Promise<undefined> addAll(sequence<RequestInfo> requests);
+ [NewObject]
+ Promise<undefined> put(RequestInfo request, Response response);
+ [NewObject]
+ Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject]
+ Promise<sequence<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options);
+};
+
+dictionary CacheQueryOptions {
+ boolean ignoreSearch = false;
+ boolean ignoreMethod = false;
+ boolean ignoreVary = false;
+ DOMString cacheName;
+};
+
+dictionary CacheBatchOperation {
+ DOMString type;
+ Request request;
+ Response response;
+ CacheQueryOptions options;
+};
diff --git a/vendor/web-sys/webidls/enabled/CacheStorage.webidl b/vendor/web-sys/webidls/enabled/CacheStorage.webidl
new file mode 100644
index 000000000..cb16c88da
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CacheStorage.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ *
+ */
+
+// https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#cache-storage
+
+// invalid widl
+// interface Principal;
+
+[Exposed=(Window,Worker),
+ ChromeConstructor(CacheStorageNamespace namespace, Principal principal),
+ Func="mozilla::dom::DOMPrefs::DOMCachesEnabled"]
+interface CacheStorage {
+ [NewObject]
+ Promise<Response> match(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject]
+ Promise<boolean> has(DOMString cacheName);
+ [NewObject]
+ Promise<Cache> open(DOMString cacheName);
+ [NewObject]
+ Promise<boolean> delete(DOMString cacheName);
+ [NewObject]
+ Promise<sequence<DOMString>> keys();
+};
+
+// chrome-only, gecko specific extension
+enum CacheStorageNamespace {
+ "content", "chrome"
+};
diff --git a/vendor/web-sys/webidls/enabled/CanvasCaptureMediaStream.webidl b/vendor/web-sys/webidls/enabled/CanvasCaptureMediaStream.webidl
new file mode 100644
index 000000000..9bd504417
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CanvasCaptureMediaStream.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/mediacapture-fromelement/index.html
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+[Pref="canvas.capturestream.enabled"]
+interface CanvasCaptureMediaStream : MediaStream {
+ readonly attribute HTMLCanvasElement canvas;
+ undefined requestFrame();
+};
diff --git a/vendor/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl b/vendor/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl
new file mode 100644
index 000000000..476a96882
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CanvasRenderingContext2D.webidl
@@ -0,0 +1,374 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+enum CanvasWindingRule { "nonzero", "evenodd" };
+
+dictionary ContextAttributes2D {
+ // whether or not we're planning to do a lot of readback operations
+ boolean willReadFrequently = false;
+ // signal if the canvas contains an alpha channel
+ boolean alpha = true;
+};
+
+dictionary HitRegionOptions {
+ Path2D? path = null;
+ DOMString id = "";
+ Element? control = null;
+};
+
+typedef (HTMLImageElement or
+ SVGImageElement) HTMLOrSVGImageElement;
+
+typedef (HTMLOrSVGImageElement or
+ HTMLCanvasElement or
+ HTMLVideoElement or
+ ImageBitmap or
+ OffscreenCanvas or
+ VideoFrame) CanvasImageSource;
+
+interface CanvasRenderingContext2D {
+
+ // back-reference to the canvas. Might be null if we're not
+ // associated with a canvas.
+ readonly attribute HTMLCanvasElement? canvas;
+
+ // Show the caret if appropriate when drawing
+ [Func="CanvasUtils::HasDrawWindowPrivilege"]
+ const unsigned long DRAWWINDOW_DRAW_CARET = 0x01;
+ // Don't flush pending layout notifications that could otherwise
+ // be batched up
+ [Func="CanvasUtils::HasDrawWindowPrivilege"]
+ const unsigned long DRAWWINDOW_DO_NOT_FLUSH = 0x02;
+ // Draw scrollbars and scroll the viewport if they are present
+ [Func="CanvasUtils::HasDrawWindowPrivilege"]
+ const unsigned long DRAWWINDOW_DRAW_VIEW = 0x04;
+ // Use the widget layer manager if available. This means hardware
+ // acceleration may be used, but it might actually be slower or
+ // lower quality than normal. It will however more accurately reflect
+ // the pixels rendered to the screen.
+ [Func="CanvasUtils::HasDrawWindowPrivilege"]
+ const unsigned long DRAWWINDOW_USE_WIDGET_LAYERS = 0x08;
+ // Don't synchronously decode images - draw what we have
+ [Func="CanvasUtils::HasDrawWindowPrivilege"]
+ const unsigned long DRAWWINDOW_ASYNC_DECODE_IMAGES = 0x10;
+
+ /**
+ * Renders a region of a window into the canvas. The contents of
+ * the window's viewport are rendered, ignoring viewport clipping
+ * and scrolling.
+ *
+ * @param x
+ * @param y
+ * @param w
+ * @param h specify the area of the window to render, in CSS
+ * pixels.
+ *
+ * @param backgroundColor the canvas is filled with this color
+ * before we render the window into it. This color may be
+ * transparent/translucent. It is given as a CSS color string
+ * (e.g., rgb() or rgba()).
+ *
+ * @param flags Used to better control the drawWindow call.
+ * Flags can be ORed together.
+ *
+ * Of course, the rendering obeys the current scale, transform and
+ * globalAlpha values.
+ *
+ * Hints:
+ * -- If 'rgba(0,0,0,0)' is used for the background color, the
+ * drawing will be transparent wherever the window is transparent.
+ * -- Top-level browsed documents are usually not transparent
+ * because the user's background-color preference is applied,
+ * but IFRAMEs are transparent if the page doesn't set a background.
+ * -- If an opaque color is used for the background color, rendering
+ * will be faster because we won't have to compute the window's
+ * transparency.
+ *
+ * This API cannot currently be used by Web content. It is chrome
+ * and Web Extensions (with a permission) only.
+ */
+ [Throws, Func="CanvasUtils::HasDrawWindowPrivilege"]
+ undefined drawWindow(Window window, double x, double y, double w, double h,
+ DOMString bgColor, optional unsigned long flags = 0);
+
+ /**
+ * This causes a context that is currently using a hardware-accelerated
+ * backend to fallback to a software one. All state should be preserved.
+ */
+ [ChromeOnly]
+ undefined demote();
+};
+
+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;
+
+interface mixin CanvasState {
+ // state
+ undefined save(); // push state on state stack
+ undefined restore(); // pop state stack and restore state
+};
+
+interface mixin CanvasTransform {
+ // transformations (default transform is the identity matrix)
+// NOT IMPLEMENTED attribute SVGMatrix currentTransform;
+ [Throws, LenientFloat]
+ undefined scale(double x, double y);
+ [Throws, LenientFloat]
+ undefined rotate(double angle);
+ [Throws, LenientFloat]
+ undefined translate(double x, double y);
+ [Throws, LenientFloat]
+ undefined transform(double a, double b, double c, double d, double e, double f);
+ [Throws, LenientFloat]
+ undefined setTransform(double a, double b, double c, double d, double e, double f);
+ [Throws]
+ undefined resetTransform();
+ [NewObject, Throws]
+ DOMMatrix getTransform();
+};
+
+[NoInterfaceObject]
+interface mixin CanvasCompositing {
+ attribute unrestricted double globalAlpha; // (default 1.0)
+ [Throws]
+ attribute DOMString globalCompositeOperation; // (default source-over)
+};
+
+interface mixin CanvasImageSmoothing {
+ // drawing images
+ attribute boolean imageSmoothingEnabled;
+};
+
+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)
+ [NewObject]
+ CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1);
+ [NewObject, Throws]
+ CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1);
+ [NewObject, Throws]
+ CanvasPattern? createPattern(CanvasImageSource image, [TreatNullAs=EmptyString] DOMString repetition);
+};
+
+interface mixin CanvasShadowStyles {
+ [LenientFloat]
+ attribute double shadowOffsetX; // (default 0)
+ [LenientFloat]
+ attribute double shadowOffsetY; // (default 0)
+ [LenientFloat]
+ attribute double shadowBlur; // (default 0)
+ attribute DOMString shadowColor; // (default transparent black)
+};
+
+interface mixin CanvasFilters {
+ [Pref="canvas.filters.enabled", SetterThrows]
+ attribute DOMString filter; // (default empty string = no filter)
+};
+
+interface mixin CanvasRect {
+ [LenientFloat]
+ undefined clearRect(double x, double y, double w, double h);
+ [LenientFloat]
+ undefined fillRect(double x, double y, double w, double h);
+ [LenientFloat]
+ undefined strokeRect(double x, double y, double w, double h);
+};
+
+interface mixin CanvasDrawPath {
+ // path API (see also CanvasPathMethods)
+ undefined beginPath();
+ undefined fill(optional CanvasWindingRule winding = "nonzero");
+ undefined fill(Path2D path, optional CanvasWindingRule winding = "nonzero");
+ undefined stroke();
+ undefined stroke(Path2D path);
+ undefined clip(optional CanvasWindingRule winding = "nonzero");
+ undefined clip(Path2D path, optional CanvasWindingRule winding = "nonzero");
+// NOT IMPLEMENTED undefined resetClip();
+ [NeedsSubjectPrincipal]
+ boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasWindingRule winding = "nonzero");
+ [NeedsSubjectPrincipal] // Only required because overloads can't have different extended attributes.
+ boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasWindingRule winding = "nonzero");
+ [NeedsSubjectPrincipal]
+ boolean isPointInStroke(double x, double y);
+ [NeedsSubjectPrincipal] // Only required because overloads can't have different extended attributes.
+ boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
+};
+
+interface mixin CanvasUserInterface {
+ [Pref="canvas.focusring.enabled", Throws] undefined drawFocusIfNeeded(Element element);
+// NOT IMPLEMENTED undefined drawSystemFocusRing(Path path, HTMLElement element);
+ [Pref="canvas.customfocusring.enabled"] boolean drawCustomFocusRing(Element element);
+// NOT IMPLEMENTED boolean drawCustomFocusRing(Path path, HTMLElement element);
+// NOT IMPLEMENTED undefined scrollPathIntoView();
+// NOT IMPLEMENTED undefined scrollPathIntoView(Path path);
+};
+
+interface mixin CanvasText {
+ // text (see also the CanvasPathDrawingStyles interface)
+ [Throws, LenientFloat]
+ undefined fillText(DOMString text, double x, double y, optional double maxWidth);
+ [Throws, LenientFloat]
+ undefined strokeText(DOMString text, double x, double y, optional double maxWidth);
+ [NewObject, Throws]
+ TextMetrics measureText(DOMString text);
+};
+
+interface mixin CanvasDrawImage {
+ [Throws, LenientFloat]
+ undefined drawImage(CanvasImageSource image, double dx, double dy);
+ [Throws, LenientFloat]
+ undefined drawImage(CanvasImageSource image, double dx, double dy, double dw, double dh);
+ [Throws, LenientFloat]
+ undefined drawImage(CanvasImageSource image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh);
+};
+
+interface mixin CanvasImageData {
+ // pixel manipulation
+ [NewObject, Throws]
+ ImageData createImageData(double sw, double sh);
+ [NewObject, Throws]
+ ImageData createImageData(ImageData imagedata);
+ [NewObject, Throws, NeedsSubjectPrincipal]
+ ImageData getImageData(double sx, double sy, double sw, double sh);
+ [Throws]
+ undefined putImageData(ImageData imagedata, double dx, double dy);
+ [Throws]
+ undefined putImageData(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight);
+};
+
+interface mixin CanvasPathDrawingStyles {
+ // line caps/joins
+ [LenientFloat]
+ attribute double lineWidth; // (default 1)
+ attribute DOMString lineCap; // "butt", "round", "square" (default "butt")
+ [GetterThrows]
+ attribute DOMString lineJoin; // "round", "bevel", "miter" (default "miter")
+ [LenientFloat]
+ attribute double miterLimit; // (default 10)
+
+ // dashed lines
+ [LenientFloat, Throws] undefined setLineDash(sequence<double> segments); // default empty
+ sequence<double> getLineDash();
+ [LenientFloat] attribute double lineDashOffset;
+};
+
+interface mixin CanvasTextDrawingStyles {
+ // text
+ [SetterThrows]
+ attribute DOMString font; // (default 10px sans-serif)
+ attribute DOMString textAlign; // "start", "end", "left", "right", "center" (default: "start")
+ attribute DOMString textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic")
+};
+
+interface mixin CanvasPathMethods {
+ // shared path API methods
+ undefined closePath();
+ [LenientFloat]
+ undefined moveTo(double x, double y);
+ [LenientFloat]
+ undefined lineTo(double x, double y);
+ [LenientFloat]
+ undefined quadraticCurveTo(double cpx, double cpy, double x, double y);
+
+ [LenientFloat]
+ undefined bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
+
+ [Throws, LenientFloat]
+ undefined arcTo(double x1, double y1, double x2, double y2, double radius);
+// NOT IMPLEMENTED [LenientFloat] undefined arcTo(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation);
+
+ [LenientFloat]
+ undefined rect(double x, double y, double w, double h);
+
+ [Throws, LenientFloat]
+ undefined arc(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false);
+
+ [Throws, LenientFloat]
+ undefined ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, optional boolean anticlockwise = false);
+};
+
+interface mixin CanvasHitRegions {
+ // hit regions
+ [Pref="canvas.hitregions.enabled", Throws] undefined addHitRegion(optional HitRegionOptions options);
+ [Pref="canvas.hitregions.enabled"] undefined removeHitRegion(DOMString id);
+ [Pref="canvas.hitregions.enabled"] undefined clearHitRegions();
+};
+
+interface CanvasGradient {
+ // opaque object
+ [Throws]
+ // addColorStop should take a double
+ undefined addColorStop(float offset, DOMString color);
+};
+
+interface CanvasPattern {
+ // opaque object
+ // [Throws, LenientFloat] - could not do this overload because of bug 1020975
+ // undefined setTransform(double a, double b, double c, double d, double e, double f);
+
+ // No throw necessary here - SVGMatrix is always good.
+ undefined setTransform(SVGMatrix matrix);
+};
+
+interface TextMetrics {
+
+ // x-direction
+ readonly attribute double width; // advance width
+
+ readonly attribute double actualBoundingBoxLeft;
+ readonly attribute double actualBoundingBoxRight;
+
+ readonly attribute double fontBoundingBoxAscent;
+ readonly attribute double fontBoundingBoxDescent;
+
+ // y-direction
+ readonly attribute double actualBoundingBoxAscent;
+ readonly attribute double actualBoundingBoxDescent;
+
+ /*
+ * NOT IMPLEMENTED YET
+
+ readonly attribute double emHeightAscent;
+ readonly attribute double emHeightDescent;
+ readonly attribute double hangingBaseline;
+ readonly attribute double alphabeticBaseline;
+ readonly attribute double ideographicBaseline;
+ */
+
+};
+
+[Pref="canvas.path.enabled",
+ Constructor,
+ Constructor(Path2D other),
+ Constructor(DOMString pathString)]
+interface Path2D
+{
+ undefined addPath(Path2D path, optional SVGMatrix transformation);
+};
+Path2D includes CanvasPathMethods;
diff --git a/vendor/web-sys/webidls/enabled/CaretPosition.webidl b/vendor/web-sys/webidls/enabled/CaretPosition.webidl
new file mode 100644
index 000000000..5907b40d5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CaretPosition.webidl
@@ -0,0 +1,20 @@
+/* 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/. */
+
+interface CaretPosition {
+
+ /**
+ * The offsetNode could potentially be null due to anonymous content.
+ */
+ readonly attribute Node? offsetNode;
+ readonly attribute unsigned long offset;
+
+};
+
+/**
+ * Gecko specific methods and properties for CaretPosition.
+ */
+partial interface CaretPosition {
+ DOMRect? getClientRect();
+};
diff --git a/vendor/web-sys/webidls/enabled/CaretStateChangedEvent.webidl b/vendor/web-sys/webidls/enabled/CaretStateChangedEvent.webidl
new file mode 100644
index 000000000..39edd4d8f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CaretStateChangedEvent.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ */
+
+enum CaretChangedReason {
+ "visibilitychange",
+ "updateposition",
+ "longpressonemptycontent",
+ "taponcaret",
+ "presscaret",
+ "releasecaret",
+ "scroll"
+};
+
+dictionary CaretStateChangedEventInit : EventInit {
+ boolean collapsed = true;
+ DOMRectReadOnly? boundingClientRect = null;
+ CaretChangedReason reason = "visibilitychange";
+ boolean caretVisible = false;
+ boolean caretVisuallyVisible = false;
+ boolean selectionVisible = false;
+ boolean selectionEditable = false;
+ DOMString selectedTextContent = "";
+};
+
+[Constructor(DOMString type, optional CaretStateChangedEventInit eventInit),
+ ChromeOnly]
+interface CaretStateChangedEvent : Event {
+ readonly attribute boolean collapsed;
+ readonly attribute DOMRectReadOnly? boundingClientRect;
+ readonly attribute CaretChangedReason reason;
+ readonly attribute boolean caretVisible;
+ readonly attribute boolean caretVisuallyVisible;
+ readonly attribute boolean selectionVisible;
+ readonly attribute boolean selectionEditable;
+ readonly attribute DOMString selectedTextContent;
+};
diff --git a/vendor/web-sys/webidls/enabled/ChannelMergerNode.webidl b/vendor/web-sys/webidls/enabled/ChannelMergerNode.webidl
new file mode 100644
index 000000000..6818abae2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ChannelMergerNode.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary ChannelMergerOptions : AudioNodeOptions {
+ unsigned long numberOfInputs = 6;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional ChannelMergerOptions options)]
+interface ChannelMergerNode : AudioNode {
+};
diff --git a/vendor/web-sys/webidls/enabled/ChannelSplitterNode.webidl b/vendor/web-sys/webidls/enabled/ChannelSplitterNode.webidl
new file mode 100644
index 000000000..25d254ca5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ChannelSplitterNode.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary ChannelSplitterOptions : AudioNodeOptions {
+ unsigned long numberOfOutputs = 6;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional ChannelSplitterOptions options)]
+interface ChannelSplitterNode : AudioNode {
+
+};
+
diff --git a/vendor/web-sys/webidls/enabled/CharacterData.webidl b/vendor/web-sys/webidls/enabled/CharacterData.webidl
new file mode 100644
index 000000000..bd1fc3406
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CharacterData.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#characterdata
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface CharacterData : Node {
+ [TreatNullAs=EmptyString, Pure, SetterThrows]
+ attribute DOMString data;
+ [Pure]
+ readonly attribute unsigned long length;
+ [Throws]
+ DOMString substringData(unsigned long offset, unsigned long count);
+ [Throws]
+ undefined appendData(DOMString data);
+ [Throws]
+ undefined insertData(unsigned long offset, DOMString data);
+ [Throws]
+ undefined deleteData(unsigned long offset, unsigned long count);
+ [Throws]
+ undefined replaceData(unsigned long offset, unsigned long count, DOMString data);
+};
+
+CharacterData includes ChildNode;
+CharacterData includes NonDocumentTypeChildNode;
diff --git a/vendor/web-sys/webidls/enabled/CheckerboardReportService.webidl b/vendor/web-sys/webidls/enabled/CheckerboardReportService.webidl
new file mode 100644
index 000000000..74832fc48
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CheckerboardReportService.webidl
@@ -0,0 +1,58 @@
+/* -*- 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/.
+ */
+
+/*
+ * This file declares data structures used to communicate checkerboard reports
+ * from C++ code to about:checkerboard (see bug 1238042). These dictionaries
+ * are NOT exposed to standard web content.
+ */
+
+enum CheckerboardReason {
+ "severe",
+ "recent"
+};
+
+// Individual checkerboard report. Contains fields for the severity of the
+// checkerboard event, the timestamp at which it was reported, the detailed
+// log of the event, and the reason this report was saved (currently either
+// "severe" or "recent").
+dictionary CheckerboardReport {
+ unsigned long severity;
+ DOMTimeStamp timestamp; // milliseconds since epoch
+ DOMString log;
+ CheckerboardReason reason;
+};
+
+// The guard function only allows creation of this interface on the
+// about:checkerboard page, and only if it's in the parent process.
+[Func="mozilla::dom::CheckerboardReportService::IsEnabled",
+ Constructor]
+interface CheckerboardReportService {
+ /**
+ * Gets the available checkerboard reports.
+ */
+ sequence<CheckerboardReport> getReports();
+
+ /**
+ * Gets the state of the apz.record_checkerboarding pref.
+ */
+ boolean isRecordingEnabled();
+
+ /**
+ * Sets the state of the apz.record_checkerboarding pref.
+ */
+ undefined setRecordingEnabled(boolean aEnabled);
+
+ /**
+ * Flush any in-progress checkerboard reports. Since this happens
+ * asynchronously, the caller may register an observer with the observer
+ * service to be notified when this operation is complete. The observer should
+ * listen for the topic "APZ:FlushActiveCheckerboard:Done". Upon receiving
+ * this notification, the caller may call getReports() to obtain the flushed
+ * reports, along with any other reports that are available.
+ */
+ undefined flushActiveReports();
+};
diff --git a/vendor/web-sys/webidls/enabled/ChildNode.webidl b/vendor/web-sys/webidls/enabled/ChildNode.webidl
new file mode 100644
index 000000000..a82d19298
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ChildNode.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#interface-childnode
+ */
+
+interface mixin ChildNode {
+ [CEReactions, Throws, Unscopable]
+ undefined before((Node or DOMString)... nodes);
+ [CEReactions, Throws, Unscopable]
+ undefined after((Node or DOMString)... nodes);
+ [CEReactions, Throws, Unscopable]
+ undefined replaceWith((Node or DOMString)... nodes);
+ [CEReactions, Unscopable]
+ undefined remove();
+};
+
+interface mixin NonDocumentTypeChildNode {
+ [Pure]
+ readonly attribute Element? previousElementSibling;
+ [Pure]
+ readonly attribute Element? nextElementSibling;
+};
diff --git a/vendor/web-sys/webidls/enabled/ChildSHistory.webidl b/vendor/web-sys/webidls/enabled/ChildSHistory.webidl
new file mode 100644
index 000000000..7ae2151b6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ChildSHistory.webidl
@@ -0,0 +1,40 @@
+/* -*- 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 nsISHistory;
+
+/**
+ * The ChildSHistory interface represents the child side of a browsing
+ * context's session history.
+ */
+[ChromeOnly]
+interface ChildSHistory {
+ [Pure]
+ readonly attribute long count;
+ [Pure]
+ readonly attribute long index;
+
+ boolean canGo(long aOffset);
+ [Throws]
+ undefined go(long aOffset);
+
+ /**
+ * Reload the current entry. The flags which should be passed to this
+ * function are documented and defined in nsIWebNavigation.idl
+ */
+ [Throws]
+ undefined reload(unsigned long aReloadFlags);
+
+ /**
+ * Getter for the legacy nsISHistory implementation.
+ *
+ * This getter _will be going away_, but is needed while we finish
+ * implementing all of the APIs which we will need in the content
+ * process on ChildSHistory.
+ */
+ readonly attribute nsISHistory legacySHistory;
+};
diff --git a/vendor/web-sys/webidls/enabled/Client.webidl b/vendor/web-sys/webidls/enabled/Client.webidl
new file mode 100644
index 000000000..684e4bd6b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Client.webidl
@@ -0,0 +1,51 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/ServiceWorker/#client-interface
+ *
+ */
+
+[Exposed=ServiceWorker]
+interface Client {
+ readonly attribute USVString url;
+
+ // Remove frameType in bug 1290936
+ [BinaryName="GetFrameType"]
+ readonly attribute FrameType frameType;
+
+ readonly attribute ClientType type;
+ readonly attribute DOMString id;
+
+ // Implement reserved in bug 1264177
+ // readonly attribute boolean reserved;
+
+ [Throws]
+ undefined postMessage(any message, optional sequence<object> transfer = []);
+};
+
+[Exposed=ServiceWorker]
+interface WindowClient : Client {
+ [BinaryName="GetVisibilityState"]
+ readonly attribute VisibilityState visibilityState;
+ readonly attribute boolean focused;
+
+ // Implement ancestorOrigins in bug 1264180
+ // [SameObject] readonly attribute FrozenArray<USVString> ancestorOrigins;
+
+ [Throws, NewObject]
+ Promise<WindowClient> focus();
+
+ [Throws, NewObject]
+ Promise<WindowClient> navigate(USVString url);
+};
+
+// Remove FrameType in bug 1290936
+enum FrameType {
+ "auxiliary",
+ "top-level",
+ "nested",
+ "none"
+};
diff --git a/vendor/web-sys/webidls/enabled/Clients.webidl b/vendor/web-sys/webidls/enabled/Clients.webidl
new file mode 100644
index 000000000..2d58f279b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Clients.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ *
+ */
+
+[Exposed=ServiceWorker]
+interface Clients {
+ // The objects returned will be new instances every time
+ [NewObject]
+ Promise<any> get(DOMString id);
+ [NewObject]
+ Promise<sequence<Client>> matchAll(optional ClientQueryOptions options);
+ [NewObject]
+ Promise<WindowClient?> openWindow(USVString url);
+ [NewObject]
+ Promise<undefined> claim();
+};
+
+dictionary ClientQueryOptions {
+ boolean includeUncontrolled = false;
+ ClientType type = "window";
+};
+
+enum ClientType {
+ "window",
+ "worker",
+ "sharedworker",
+ // https://github.com/w3c/ServiceWorker/issues/1036
+ "serviceworker",
+ "all"
+};
+
diff --git a/vendor/web-sys/webidls/enabled/CloseEvent.webidl b/vendor/web-sys/webidls/enabled/CloseEvent.webidl
new file mode 100644
index 000000000..4fddbd834
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CloseEvent.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The nsIDOMCloseEvent interface is the interface to the event
+ * close on a WebSocket object.
+ *
+ * For more information on this interface, please see
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#closeevent
+ */
+
+[Constructor(DOMString type, optional CloseEventInit eventInitDict),LegacyEventInit,
+ Exposed=(Window,Worker)]
+interface CloseEvent : Event
+{
+ readonly attribute boolean wasClean;
+ readonly attribute unsigned short code;
+ readonly attribute DOMString reason;
+};
+
+dictionary CloseEventInit : EventInit
+{
+ boolean wasClean = false;
+ unsigned short code = 0;
+ DOMString reason = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/Comment.webidl b/vendor/web-sys/webidls/enabled/Comment.webidl
new file mode 100644
index 000000000..023335f16
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Comment.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#comment
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(optional DOMString data = "")]
+interface Comment : CharacterData {
+};
diff --git a/vendor/web-sys/webidls/enabled/CompositionEvent.webidl b/vendor/web-sys/webidls/enabled/CompositionEvent.webidl
new file mode 100644
index 000000000..ebd7c9546
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CompositionEvent.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * https://w3c.github.io/uievents/#interface-compositionevent
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional CompositionEventInit eventInitDict)]
+interface CompositionEvent : UIEvent
+{
+ readonly attribute DOMString? data;
+ // locale is currently non-standard
+ readonly attribute DOMString locale;
+
+ /**
+ * ranges is trying to expose TextRangeArray in Gecko so a
+ * js-plugin couble be able to know the clauses information
+ */
+ [ChromeOnly,Cached,Pure]
+ readonly attribute sequence<TextClause> ranges;
+};
+
+dictionary CompositionEventInit : UIEventInit {
+ DOMString data = "";
+};
+
+partial interface CompositionEvent
+{
+ undefined initCompositionEvent(DOMString typeArg,
+ optional boolean canBubbleArg = false,
+ optional boolean cancelableArg = false,
+ optional Window? viewArg = null,
+ optional DOMString? dataArg = null,
+ optional DOMString localeArg = "");
+};
diff --git a/vendor/web-sys/webidls/enabled/Console.webidl b/vendor/web-sys/webidls/enabled/Console.webidl
new file mode 100644
index 000000000..a3ce30922
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Console.webidl
@@ -0,0 +1,230 @@
+/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=2 et sw=2 tw=80: */
+/* 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/.
+ *
+ * For more information on this interface, please see
+ * https://console.spec.whatwg.org/#console-namespace
+ */
+
+[Exposed=(Window,Worker,WorkerDebugger,Worklet,System),
+ ClassString="Console",
+ ProtoObjectHack]
+namespace console {
+
+ // NOTE: if you touch this namespace, remember to update the ConsoleInstance
+ // interface as well!
+
+ // Logging
+ [UseCounter]
+ undefined assert(optional boolean condition = false, any... data);
+ [UseCounter]
+ undefined clear();
+ [UseCounter]
+ undefined count(optional DOMString label = "default");
+ [UseCounter]
+ undefined countReset(optional DOMString label = "default");
+ [UseCounter]
+ undefined debug(any... data);
+ [UseCounter]
+ undefined error(any... data);
+ [UseCounter]
+ undefined info(any... data);
+ [UseCounter]
+ undefined log(any... data);
+ [UseCounter]
+ undefined table(any... data); // FIXME: The spec is still unclear about this.
+ [UseCounter]
+ undefined trace(any... data);
+ [UseCounter]
+ undefined warn(any... data);
+ [UseCounter]
+ undefined dir(any... data); // FIXME: This doesn't follow the spec yet.
+ [UseCounter]
+ undefined dirxml(any... data);
+
+ // Grouping
+ [UseCounter]
+ undefined group(any... data);
+ [UseCounter]
+ undefined groupCollapsed(any... data);
+ [UseCounter]
+ undefined groupEnd();
+
+ // Timing
+ [UseCounter]
+ undefined time(optional DOMString label = "default");
+ [UseCounter]
+ undefined timeLog(optional DOMString label = "default", any... data);
+ [UseCounter]
+ undefined timeEnd(optional DOMString label = "default");
+
+ // Mozilla only or Webcompat methods
+
+ [UseCounter]
+ undefined _exception(any... data);
+ [UseCounter]
+ undefined timeStamp(optional any data);
+
+ [UseCounter]
+ undefined profile(any... data);
+ [UseCounter]
+ undefined profileEnd(any... data);
+
+ // invalid widl
+ // [ChromeOnly]
+ // const boolean IS_NATIVE_CONSOLE = true;
+
+ [ChromeOnly, NewObject]
+ ConsoleInstance createInstance(optional ConsoleInstanceOptions options);
+};
+
+// This is used to propagate console events to the observers.
+dictionary ConsoleEvent {
+ (unsigned long long or DOMString) ID;
+ (unsigned long long or DOMString) innerID;
+ DOMString consoleID = "";
+ DOMString addonId = "";
+ DOMString level = "";
+ DOMString filename = "";
+ unsigned long lineNumber = 0;
+ unsigned long columnNumber = 0;
+ DOMString functionName = "";
+ double timeStamp = 0;
+ sequence<any> arguments;
+ sequence<DOMString?> styles;
+ boolean private = false;
+ // stacktrace is handled via a getter in some cases so we can construct it
+ // lazily. Note that we're not making this whole thing an interface because
+ // consumers expect to see own properties on it, which would mean making the
+ // props unforgeable, which means lots of JSFunction allocations. Maybe we
+ // should fix those consumers, of course....
+ // sequence<ConsoleStackEntry> stacktrace;
+ DOMString groupName = "";
+ any timer = null;
+ any counter = null;
+ DOMString prefix = "";
+};
+
+// Event for profile operations
+dictionary ConsoleProfileEvent {
+ DOMString action = "";
+ sequence<any> arguments;
+};
+
+// This dictionary is used to manage stack trace data.
+dictionary ConsoleStackEntry {
+ DOMString filename = "";
+ unsigned long lineNumber = 0;
+ unsigned long columnNumber = 0;
+ DOMString functionName = "";
+ DOMString? asyncCause;
+};
+
+dictionary ConsoleTimerStart {
+ DOMString name = "";
+};
+
+dictionary ConsoleTimerLogOrEnd {
+ DOMString name = "";
+ double duration = 0;
+};
+
+dictionary ConsoleTimerError {
+ DOMString error = "";
+ DOMString name = "";
+};
+
+dictionary ConsoleCounter {
+ DOMString label = "";
+ unsigned long count = 0;
+};
+
+dictionary ConsoleCounterError {
+ DOMString label = "";
+ DOMString error = "";
+};
+
+[ChromeOnly,
+ Exposed=(Window,Worker,WorkerDebugger,Worklet,System)]
+// This is basically a copy of the console namespace.
+interface ConsoleInstance {
+ // Logging
+ undefined assert(optional boolean condition = false, any... data);
+ undefined clear();
+ undefined count(optional DOMString label = "default");
+ undefined countReset(optional DOMString label = "default");
+ undefined debug(any... data);
+ undefined error(any... data);
+ undefined info(any... data);
+ undefined log(any... data);
+ undefined table(any... data); // FIXME: The spec is still unclear about this.
+ undefined trace(any... data);
+ undefined warn(any... data);
+ undefined dir(any... data); // FIXME: This doesn't follow the spec yet.
+ undefined dirxml(any... data);
+
+ // Grouping
+ undefined group(any... data);
+ undefined groupCollapsed(any... data);
+ undefined groupEnd();
+
+ // Timing
+ undefined time(optional DOMString label = "default");
+ undefined timeLog(optional DOMString label = "default", any... data);
+ undefined timeEnd(optional DOMString label = "default");
+
+ // Mozilla only or Webcompat methods
+
+ undefined _exception(any... data);
+ undefined timeStamp(optional any data);
+
+ undefined profile(any... data);
+ undefined profileEnd(any... data);
+};
+
+callback ConsoleInstanceDumpCallback = undefined (DOMString message);
+
+enum ConsoleLogLevel {
+ "All", "Debug", "Log", "Info", "Clear", "Trace", "TimeLog", "TimeEnd", "Time",
+ "Group", "GroupEnd", "Profile", "ProfileEnd", "Dir", "Dirxml", "Warn", "Error",
+ "Off"
+};
+
+dictionary ConsoleInstanceOptions {
+ // An optional function to intercept all strings written to stdout.
+ ConsoleInstanceDumpCallback dump;
+
+ // An optional prefix string to be printed before the actual logged message.
+ DOMString prefix = "";
+
+ // An ID representing the source of the message. Normally the inner ID of a
+ // DOM window.
+ DOMString innerID = "";
+
+ // String identified for the console, this will be passed through the console
+ // notifications.
+ DOMString consoleID = "";
+
+ // Identifier that allows to filter which messages are logged based on their
+ // log level.
+ ConsoleLogLevel maxLogLevel;
+
+ // String pref name which contains the level to use for maxLogLevel. If the
+ // pref doesn't exist, gets removed or it is used in workers, the maxLogLevel
+ // will default to the value passed to this constructor (or "all" if it wasn't
+ // specified).
+ DOMString maxLogLevelPref = "";
+};
+
+enum ConsoleLevel { "log", "warning", "error" };
+
+// this interface is just for testing
+partial interface ConsoleInstance {
+ [ChromeOnly]
+ undefined reportForServiceWorkerScope(DOMString scope, DOMString message,
+ DOMString filename, unsigned long lineNumber,
+ unsigned long columnNumber,
+ ConsoleLevel level);
+};
diff --git a/vendor/web-sys/webidls/enabled/ConstantSourceNode.webidl b/vendor/web-sys/webidls/enabled/ConstantSourceNode.webidl
new file mode 100644
index 000000000..238e4c05d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ConstantSourceNode.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary ConstantSourceOptions {
+ float offset = 1;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional ConstantSourceOptions options)]
+interface ConstantSourceNode : AudioScheduledSourceNode {
+ readonly attribute AudioParam offset;
+};
+
+ConstantSourceNode includes rustAudioScheduledSourceNode;
diff --git a/vendor/web-sys/webidls/enabled/ConvolverNode.webidl b/vendor/web-sys/webidls/enabled/ConvolverNode.webidl
new file mode 100644
index 000000000..1e66d5357
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ConvolverNode.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary ConvolverOptions : AudioNodeOptions {
+ AudioBuffer? buffer;
+ boolean disableNormalization = false;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional ConvolverOptions options)]
+interface ConvolverNode : AudioNode {
+
+ [SetterThrows]
+ attribute AudioBuffer? buffer;
+ attribute boolean normalize;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/Coordinates.webidl b/vendor/web-sys/webidls/enabled/Coordinates.webidl
new file mode 100644
index 000000000..840782f74
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Coordinates.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/geolocation-API
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[NoInterfaceObject]
+interface Coordinates {
+ readonly attribute double latitude;
+ readonly attribute double longitude;
+ readonly attribute double? altitude;
+ readonly attribute double accuracy;
+ readonly attribute double? altitudeAccuracy;
+ readonly attribute double? heading;
+ readonly attribute double? speed;
+};
diff --git a/vendor/web-sys/webidls/enabled/CreateOfferRequest.webidl b/vendor/web-sys/webidls/enabled/CreateOfferRequest.webidl
new file mode 100644
index 000000000..134fe33fa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CreateOfferRequest.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * This is an internal IDL file
+ */
+
+[ChromeOnly,
+ JSImplementation="@mozilla.org/dom/createofferrequest;1"]
+interface CreateOfferRequest {
+ readonly attribute unsigned long long windowID;
+ readonly attribute unsigned long long innerWindowID;
+ readonly attribute DOMString callID;
+ readonly attribute boolean isSecure;
+};
diff --git a/vendor/web-sys/webidls/enabled/CredentialManagement.webidl b/vendor/web-sys/webidls/enabled/CredentialManagement.webidl
new file mode 100644
index 000000000..31dbfe65f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CredentialManagement.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://www.w3.org/TR/credential-management-1/
+ */
+
+[Exposed=Window, SecureContext, Pref="security.webauth.webauthn"]
+interface Credential {
+ readonly attribute USVString id;
+ readonly attribute DOMString type;
+};
+
+[Exposed=Window, SecureContext, Pref="security.webauth.webauthn"]
+interface CredentialsContainer {
+ [Throws]
+ Promise<Credential?> get(optional CredentialRequestOptions options);
+ [Throws]
+ Promise<Credential?> create(optional CredentialCreationOptions options);
+ [Throws]
+ Promise<Credential> store(Credential credential);
+ [Throws]
+ Promise<undefined> preventSilentAccess();
+};
+
+dictionary CredentialRequestOptions {
+ PublicKeyCredentialRequestOptions publicKey;
+ AbortSignal signal;
+};
+
+dictionary CredentialCreationOptions {
+ PublicKeyCredentialCreationOptions publicKey;
+ AbortSignal signal;
+};
diff --git a/vendor/web-sys/webidls/enabled/Crypto.webidl b/vendor/web-sys/webidls/enabled/Crypto.webidl
new file mode 100644
index 000000000..c9ff277ab
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Crypto.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#crypto-interface
+ */
+
+[Exposed=(Window,Worker)]
+interface mixin GlobalCrypto {
+ [Throws] readonly attribute Crypto crypto;
+};
+
+[Exposed=(Window,Worker)]
+interface Crypto {
+ readonly attribute SubtleCrypto subtle;
+
+ [Throws]
+ ArrayBufferView getRandomValues(ArrayBufferView array);
+
+ DOMString randomUUID();
+};
diff --git a/vendor/web-sys/webidls/enabled/CustomElementRegistry.webidl b/vendor/web-sys/webidls/enabled/CustomElementRegistry.webidl
new file mode 100644
index 000000000..68aa737d3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CustomElementRegistry.webidl
@@ -0,0 +1,23 @@
+/* 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/. */
+
+// https://html.spec.whatwg.org/#dom-window-customelements
+[Func="CustomElementRegistry::IsCustomElementEnabled"]
+interface CustomElementRegistry {
+ [CEReactions, Throws]
+ undefined define(DOMString name, Function functionConstructor,
+ optional ElementDefinitionOptions options);
+ [ChromeOnly, Throws]
+ undefined setElementCreationCallback(DOMString name, CustomElementCreationCallback callback);
+ any get(DOMString name);
+ [Throws]
+ Promise<undefined> whenDefined(DOMString name);
+ [CEReactions] undefined upgrade(Node root);
+};
+
+dictionary ElementDefinitionOptions {
+ DOMString extends;
+};
+
+callback CustomElementCreationCallback = undefined (DOMString name);
diff --git a/vendor/web-sys/webidls/enabled/CustomEvent.webidl b/vendor/web-sys/webidls/enabled/CustomEvent.webidl
new file mode 100644
index 000000000..e72037c4b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/CustomEvent.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional CustomEventInit eventInitDict),
+ Exposed=(Window, Worker)]
+interface CustomEvent : Event
+{
+ readonly attribute any detail;
+
+ // initCustomEvent is a Gecko specific deprecated method.
+ undefined initCustomEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional any detail = null);
+};
+
+dictionary CustomEventInit : EventInit
+{
+ any detail = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMError.webidl b/vendor/web-sys/webidls/enabled/DOMError.webidl
new file mode 100644
index 000000000..5fb5d17ed
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMError.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#domerror
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString name, optional DOMString message = ""),
+ Exposed=(Window,Worker,System)]
+interface DOMError {
+ [Constant, UseCounter]
+ readonly attribute DOMString name;
+
+ [Constant, UseCounter]
+ readonly attribute DOMString message;
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMException.webidl b/vendor/web-sys/webidls/enabled/DOMException.webidl
new file mode 100644
index 000000000..7e9791870
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMException.webidl
@@ -0,0 +1,107 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#exception-domexception
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+
+// This is the WebIDL version of nsIException. This is mostly legacy stuff.
+
+// invalid widl
+//interface StackFrame;
+
+[Exposed=(Window,Worker,System)]
+interface mixin ExceptionMembers
+{
+ // The nsresult associated with this exception.
+ readonly attribute unsigned long result;
+
+ // Filename location. This is the location that caused the
+ // error, which may or may not be a source file location.
+ // For example, standard language errors would generally have
+ // the same location as their top stack entry. File
+ // parsers may put the location of the file they were parsing,
+ // etc.
+
+ // null indicates "no data"
+ readonly attribute DOMString filename;
+ // Valid line numbers begin at '1'. '0' indicates unknown.
+ readonly attribute unsigned long lineNumber;
+ // Valid column numbers begin at 0.
+ // We don't have an unambiguous indicator for unknown.
+ readonly attribute unsigned long columnNumber;
+
+ // A stack trace, if available. nsIStackFrame does not have classinfo so
+ // this was only ever usefully available to chrome JS.
+ [ChromeOnly, Exposed=Window]
+ readonly attribute StackFrame? location;
+
+ // Arbitary data for the implementation.
+ [Exposed=Window]
+ readonly attribute nsISupports? data;
+
+ // Formatted exception stack
+ [Replaceable]
+ readonly attribute DOMString stack;
+};
+
+[NoInterfaceObject, Exposed=(Window,Worker)]
+interface Exception {
+ // The name of the error code (ie, a string repr of |result|).
+ readonly attribute DOMString name;
+ // A custom message set by the thrower.
+ readonly attribute DOMString message;
+ // A generic formatter - make it suitable to print, etc.
+ stringifier;
+};
+
+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.
+[ExceptionClass,
+ Exposed=(Window, Worker,System),
+ Constructor(optional DOMString message = "", optional DOMString name)]
+interface DOMException {
+ // The name of the error code (ie, a string repr of |result|).
+ readonly attribute DOMString name;
+ // A custom message set by the thrower.
+ readonly attribute DOMString message;
+ readonly attribute unsigned short code;
+
+ const unsigned short INDEX_SIZE_ERR = 1;
+ const unsigned short DOMSTRING_SIZE_ERR = 2; // historical
+ const unsigned short HIERARCHY_REQUEST_ERR = 3;
+ const unsigned short WRONG_DOCUMENT_ERR = 4;
+ const unsigned short INVALID_CHARACTER_ERR = 5;
+ const unsigned short NO_DATA_ALLOWED_ERR = 6; // historical
+ const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7;
+ const unsigned short NOT_FOUND_ERR = 8;
+ const unsigned short NOT_SUPPORTED_ERR = 9;
+ const unsigned short INUSE_ATTRIBUTE_ERR = 10; // historical
+ const unsigned short INVALID_STATE_ERR = 11;
+ const unsigned short SYNTAX_ERR = 12;
+ const unsigned short INVALID_MODIFICATION_ERR = 13;
+ const unsigned short NAMESPACE_ERR = 14;
+ const unsigned short INVALID_ACCESS_ERR = 15;
+ const unsigned short VALIDATION_ERR = 16; // historical
+ const unsigned short TYPE_MISMATCH_ERR = 17; // historical; use JavaScript's TypeError instead
+ const unsigned short SECURITY_ERR = 18;
+ const unsigned short NETWORK_ERR = 19;
+ const unsigned short ABORT_ERR = 20;
+ const unsigned short URL_MISMATCH_ERR = 21;
+ const unsigned short QUOTA_EXCEEDED_ERR = 22;
+ const unsigned short TIMEOUT_ERR = 23;
+ const unsigned short INVALID_NODE_TYPE_ERR = 24;
+ const unsigned short DATA_CLONE_ERR = 25;
+};
+
+// XXXkhuey copy all of Gecko's non-standard stuff onto DOMException, but leave
+// the prototype chain sane.
+DOMException includes ExceptionMembers;
diff --git a/vendor/web-sys/webidls/enabled/DOMHighResTimeStamp.webidl b/vendor/web-sys/webidls/enabled/DOMHighResTimeStamp.webidl
new file mode 100644
index 000000000..bb797c545
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMHighResTimeStamp.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/hr-time/
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang).
+ * W3C liability, trademark and document use rules apply.
+ */
+
+typedef double DOMHighResTimeStamp;
diff --git a/vendor/web-sys/webidls/enabled/DOMImplementation.webidl b/vendor/web-sys/webidls/enabled/DOMImplementation.webidl
new file mode 100644
index 000000000..5fa3c8592
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMImplementation.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#interface-domimplementation
+ *
+ * Copyright:
+ * To the extent possible under law, the editors have waived all copyright and
+ * related or neighboring rights to this work.
+ */
+
+interface DOMImplementation {
+ boolean hasFeature();
+
+ [Throws]
+ DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId,
+ DOMString systemId);
+ [Throws]
+ Document createDocument(DOMString? namespace,
+ [TreatNullAs=EmptyString] DOMString qualifiedName,
+ optional DocumentType? doctype = null);
+ [Throws]
+ Document createHTMLDocument(optional DOMString title);
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMMatrix.webidl b/vendor/web-sys/webidls/enabled/DOMMatrix.webidl
new file mode 100644
index 000000000..06a0da44b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMMatrix.webidl
@@ -0,0 +1,150 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/fxtf/geometry/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="layout.css.DOMMatrix.enabled",
+ Constructor(optional (DOMString or sequence<unrestricted double>) init)]
+interface DOMMatrixReadOnly {
+ // These attributes are simple aliases for certain elements of the 4x4 matrix
+ readonly attribute unrestricted double a;
+ readonly attribute unrestricted double b;
+ readonly attribute unrestricted double c;
+ readonly attribute unrestricted double d;
+ readonly attribute unrestricted double e;
+ readonly attribute unrestricted double f;
+
+ readonly attribute unrestricted double m11;
+ readonly attribute unrestricted double m12;
+ readonly attribute unrestricted double m13;
+ readonly attribute unrestricted double m14;
+ readonly attribute unrestricted double m21;
+ readonly attribute unrestricted double m22;
+ readonly attribute unrestricted double m23;
+ readonly attribute unrestricted double m24;
+ readonly attribute unrestricted double m31;
+ readonly attribute unrestricted double m32;
+ readonly attribute unrestricted double m33;
+ readonly attribute unrestricted double m34;
+ readonly attribute unrestricted double m41;
+ readonly attribute unrestricted double m42;
+ readonly attribute unrestricted double m43;
+ readonly attribute unrestricted double m44;
+
+ // Immutable transform methods
+ DOMMatrix translate(unrestricted double tx,
+ unrestricted double ty,
+ optional unrestricted double tz = 0);
+ DOMMatrix scale(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix scale3d(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix scaleNonUniform(unrestricted double scaleX,
+ optional unrestricted double scaleY = 1,
+ optional unrestricted double scaleZ = 1,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix rotate(unrestricted double angle,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix rotateFromVector(unrestricted double x,
+ unrestricted double y);
+ DOMMatrix rotateAxisAngle(unrestricted double x,
+ unrestricted double y,
+ unrestricted double z,
+ unrestricted double angle);
+ DOMMatrix skewX(unrestricted double sx);
+ DOMMatrix skewY(unrestricted double sy);
+ DOMMatrix multiply(DOMMatrix other);
+ DOMMatrix flipX();
+ DOMMatrix flipY();
+ DOMMatrix inverse();
+
+ // Helper methods
+ readonly attribute boolean is2D;
+ readonly attribute boolean isIdentity;
+ DOMPoint transformPoint(optional DOMPointInit point);
+ [Throws] Float32Array toFloat32Array();
+ [Throws] Float64Array toFloat64Array();
+ stringifier;
+ [Default] object toJSON();
+};
+
+[Pref="layout.css.DOMMatrix.enabled",
+ Constructor,
+ Constructor(DOMString transformList),
+ Constructor(DOMMatrixReadOnly other),
+ Constructor(Float32Array array32),
+ Constructor(Float64Array array64),
+ Constructor(sequence<unrestricted double> numberSequence)]
+interface DOMMatrix : DOMMatrixReadOnly {
+ // These attributes are simple aliases for certain elements of the 4x4 matrix
+ inherit attribute unrestricted double a;
+ inherit attribute unrestricted double b;
+ inherit attribute unrestricted double c;
+ inherit attribute unrestricted double d;
+ inherit attribute unrestricted double e;
+ inherit attribute unrestricted double f;
+
+ inherit attribute unrestricted double m11;
+ inherit attribute unrestricted double m12;
+ inherit attribute unrestricted double m13;
+ inherit attribute unrestricted double m14;
+ inherit attribute unrestricted double m21;
+ inherit attribute unrestricted double m22;
+ inherit attribute unrestricted double m23;
+ inherit attribute unrestricted double m24;
+ inherit attribute unrestricted double m31;
+ inherit attribute unrestricted double m32;
+ inherit attribute unrestricted double m33;
+ inherit attribute unrestricted double m34;
+ inherit attribute unrestricted double m41;
+ inherit attribute unrestricted double m42;
+ inherit attribute unrestricted double m43;
+ inherit attribute unrestricted double m44;
+
+ // Mutable transform methods
+ DOMMatrix multiplySelf(DOMMatrix other);
+ DOMMatrix preMultiplySelf(DOMMatrix other);
+ DOMMatrix translateSelf(unrestricted double tx,
+ unrestricted double ty,
+ optional unrestricted double tz = 0);
+ DOMMatrix scaleSelf(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix scale3dSelf(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix scaleNonUniformSelf(unrestricted double scaleX,
+ optional unrestricted double scaleY = 1,
+ optional unrestricted double scaleZ = 1,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix rotateSelf(unrestricted double angle,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix rotateFromVectorSelf(unrestricted double x,
+ unrestricted double y);
+ DOMMatrix rotateAxisAngleSelf(unrestricted double x,
+ unrestricted double y,
+ unrestricted double z,
+ unrestricted double angle);
+ DOMMatrix skewXSelf(unrestricted double sx);
+ DOMMatrix skewYSelf(unrestricted double sy);
+ DOMMatrix invertSelf();
+ [Throws] DOMMatrix setMatrixValue(DOMString transformList);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/DOMParser.webidl b/vendor/web-sys/webidls/enabled/DOMParser.webidl
new file mode 100644
index 000000000..209a763f4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMParser.webidl
@@ -0,0 +1,31 @@
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * http://domparsing.spec.whatwg.org/#the-domparser-interface
+ */
+
+// invalid widl
+// interface Principal;
+// interface URI;
+// interface InputStream;
+
+enum SupportedType {
+ "text/html",
+ "text/xml",
+ "application/xml",
+ "application/xhtml+xml",
+ "image/svg+xml"
+};
+
+[Constructor]
+interface DOMParser {
+ [NewObject, Throws]
+ Document parseFromString(DOMString str, SupportedType type);
+
+ // Can be used to allow a DOMParser to parse XUL/XBL no matter what
+ // principal it's using for the document.
+ [ChromeOnly]
+ undefined forceEnableXULXBL();
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMPoint.webidl b/vendor/web-sys/webidls/enabled/DOMPoint.webidl
new file mode 100644
index 000000000..2ebba958e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMPoint.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/fxtf/geometry/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="layout.css.DOMPoint.enabled",
+ Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double z = 0, optional unrestricted double w = 1)]
+interface DOMPointReadOnly {
+ [NewObject] static DOMPointReadOnly fromPoint(optional DOMPointInit other);
+
+ readonly attribute unrestricted double x;
+ readonly attribute unrestricted double y;
+ readonly attribute unrestricted double z;
+ readonly attribute unrestricted double w;
+
+ [Default] object toJSON();
+};
+
+[Pref="layout.css.DOMPoint.enabled",
+ Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double z = 0, optional unrestricted double w = 1)]
+interface DOMPoint : DOMPointReadOnly {
+ [NewObject] static DOMPoint fromPoint(optional DOMPointInit other);
+
+ inherit attribute unrestricted double x;
+ inherit attribute unrestricted double y;
+ inherit attribute unrestricted double z;
+ inherit attribute unrestricted double w;
+};
+
+dictionary DOMPointInit {
+ unrestricted double x = 0;
+ unrestricted double y = 0;
+ unrestricted double z = 0;
+ unrestricted double w = 1;
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMQuad.webidl b/vendor/web-sys/webidls/enabled/DOMQuad.webidl
new file mode 100644
index 000000000..7370330b2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMQuad.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/fxtf/geometry/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="layout.css.DOMQuad.enabled",
+ Constructor(optional DOMPointInit p1, optional DOMPointInit p2,
+ optional DOMPointInit p3, optional DOMPointInit p4),
+ Constructor(DOMRectReadOnly rect)]
+interface DOMQuad {
+ [SameObject] readonly attribute DOMPoint p1;
+ [SameObject] readonly attribute DOMPoint p2;
+ [SameObject] readonly attribute DOMPoint p3;
+ [SameObject] readonly attribute DOMPoint p4;
+ [NewObject] DOMRectReadOnly getBounds();
+
+ [SameObject, Deprecated=DOMQuadBoundsAttr] readonly attribute DOMRectReadOnly bounds;
+
+ DOMQuadJSON toJSON();
+};
+
+dictionary DOMQuadJSON {
+ DOMPoint p1;
+ DOMPoint p2;
+ DOMPoint p3;
+ DOMPoint p4;
+};
+
+dictionary DOMQuadInit {
+ DOMPointInit p1;
+ DOMPointInit p2;
+ DOMPointInit p3;
+ DOMPointInit p4;
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMRect.webidl b/vendor/web-sys/webidls/enabled/DOMRect.webidl
new file mode 100644
index 000000000..b9261eccb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMRect.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/fxtf/geometry/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double width = 0, optional unrestricted double height = 0)]
+interface DOMRect : DOMRectReadOnly {
+ inherit attribute unrestricted double x;
+ inherit attribute unrestricted double y;
+ inherit attribute unrestricted double width;
+ inherit attribute unrestricted double height;
+};
+
+[ProbablyShortLivingWrapper,
+ Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double width = 0, optional unrestricted double height = 0)]
+interface DOMRectReadOnly {
+ readonly attribute unrestricted double x;
+ readonly attribute unrestricted double y;
+ readonly attribute unrestricted double width;
+ readonly attribute unrestricted double height;
+ readonly attribute unrestricted double top;
+ readonly attribute unrestricted double right;
+ readonly attribute unrestricted double bottom;
+ readonly attribute unrestricted double left;
+
+ [Default] object toJSON();
+};
+
+dictionary DOMRectInit {
+ unrestricted double x = 0;
+ unrestricted double y = 0;
+ unrestricted double width = 0;
+ unrestricted double height = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMRectList.webidl b/vendor/web-sys/webidls/enabled/DOMRectList.webidl
new file mode 100644
index 000000000..74332bfc1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMRectList.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ */
+
+interface DOMRectList {
+ readonly attribute unsigned long length;
+ getter DOMRect? item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMRequest.webidl b/vendor/web-sys/webidls/enabled/DOMRequest.webidl
new file mode 100644
index 000000000..49fbef6d3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMRequest.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/. */
+
+enum DOMRequestReadyState { "pending", "done" };
+
+[Exposed=(Window,Worker,System)]
+interface mixin DOMRequestShared {
+ readonly attribute DOMRequestReadyState readyState;
+
+ readonly attribute any result;
+ readonly attribute DOMException? error;
+
+ attribute EventHandler onsuccess;
+ attribute EventHandler onerror;
+};
+
+[Exposed=(Window,Worker,System)]
+interface DOMRequest : EventTarget {
+ // The [TreatNonCallableAsNull] annotation is required since then() should do
+ // nothing instead of throwing errors when non-callable arguments are passed.
+ // See documentation for Promise.then to see why we return "any".
+ [NewObject, Throws]
+ any then([TreatNonCallableAsNull] optional AnyCallback? fulfillCallback = null,
+ [TreatNonCallableAsNull] optional AnyCallback? rejectCallback = null);
+
+ [ChromeOnly]
+ undefined fireDetailedError(DOMException aError);
+};
+
+DOMRequest includes DOMRequestShared;
diff --git a/vendor/web-sys/webidls/enabled/DOMStringList.webidl b/vendor/web-sys/webidls/enabled/DOMStringList.webidl
new file mode 100644
index 000000000..56c5836ff
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMStringList.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker,System)]
+interface DOMStringList {
+ readonly attribute unsigned long length;
+ getter DOMString? item(unsigned long index);
+ boolean contains(DOMString string);
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMStringMap.webidl b/vendor/web-sys/webidls/enabled/DOMStringMap.webidl
new file mode 100644
index 000000000..9d5ec4754
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMStringMap.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#domstringmap-0
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[OverrideBuiltins]
+interface DOMStringMap {
+ getter DOMString (DOMString name);
+ [CEReactions, Throws]
+ setter undefined (DOMString name, DOMString value);
+ [CEReactions]
+ deleter undefined (DOMString name);
+};
diff --git a/vendor/web-sys/webidls/enabled/DOMTokenList.webidl b/vendor/web-sys/webidls/enabled/DOMTokenList.webidl
new file mode 100644
index 000000000..342e79040
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DOMTokenList.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// updated using https://dom.spec.whatwg.org/#interface-domtokenlist
+
+interface DOMTokenList {
+ readonly attribute unsigned long length;
+ getter DOMString? item(unsigned long index);
+ boolean contains(DOMString token);
+ [CEReactions, Throws]
+ undefined add(DOMString... tokens);
+ [CEReactions, Throws]
+ undefined remove(DOMString... tokens);
+ [CEReactions, Throws]
+ boolean replace(DOMString token, DOMString newToken);
+ [CEReactions, Throws]
+ boolean toggle(DOMString token, optional boolean force);
+ [Throws]
+ boolean supports(DOMString token);
+ [CEReactions, SetterThrows]
+ attribute DOMString value;
+ stringifier DOMString ();
+ iterable<DOMString>;
+};
diff --git a/vendor/web-sys/webidls/enabled/DataTransfer.webidl b/vendor/web-sys/webidls/enabled/DataTransfer.webidl
new file mode 100644
index 000000000..1d30ddb40
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DataTransfer.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-datatransfer-interface
+ */
+
+[Constructor]
+interface DataTransfer {
+ attribute DOMString dropEffect;
+ attribute DOMString effectAllowed;
+
+ readonly attribute DataTransferItemList items;
+
+ undefined setDragImage(Element image, long x, long y);
+
+ // ReturnValueNeedsContainsHack on .types because lots of extension
+ // code was expecting .contains() back when it was a DOMStringList.
+ [Pure, Cached, Frozen, NeedsCallerType, ReturnValueNeedsContainsHack]
+ readonly attribute sequence<DOMString> types;
+ [Throws, NeedsSubjectPrincipal]
+ DOMString getData(DOMString format);
+ [Throws, NeedsSubjectPrincipal]
+ undefined setData(DOMString format, DOMString data);
+ [Throws, NeedsSubjectPrincipal]
+ undefined clearData(optional DOMString format);
+ [NeedsSubjectPrincipal]
+ readonly attribute FileList? files;
+};
+
+partial interface DataTransfer {
+ [Throws, Pref="dom.input.dirpicker", NeedsSubjectPrincipal]
+ Promise<sequence<(File or Directory)>> getFilesAndDirectories();
+
+ [Throws, Pref="dom.input.dirpicker", NeedsSubjectPrincipal]
+ Promise<sequence<File>> getFiles(optional boolean recursiveFlag = false);
+};
diff --git a/vendor/web-sys/webidls/enabled/DataTransferItem.webidl b/vendor/web-sys/webidls/enabled/DataTransferItem.webidl
new file mode 100644
index 000000000..740796fda
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DataTransferItem.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * https://html.spec.whatwg.org/multipage/interaction.html#the-datatransferitem-interface
+ */
+
+interface DataTransferItem {
+ readonly attribute DOMString kind;
+ readonly attribute DOMString type;
+ [Throws, NeedsSubjectPrincipal]
+ undefined getAsString(FunctionStringCallback? _callback);
+ [Throws, NeedsSubjectPrincipal]
+ File? getAsFile();
+};
+
+callback FunctionStringCallback = undefined (DOMString data);
+
+partial interface DataTransferItem {
+ [Pref="dom.webkitBlink.filesystem.enabled", BinaryName="getAsEntry", Throws,
+ NeedsSubjectPrincipal]
+ FileSystemEntry? webkitGetAsEntry();
+};
diff --git a/vendor/web-sys/webidls/enabled/DataTransferItemList.webidl b/vendor/web-sys/webidls/enabled/DataTransferItemList.webidl
new file mode 100644
index 000000000..91688e365
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DataTransferItemList.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * https://html.spec.whatwg.org/multipage/interaction.html#the-datatransferitemlist-interface
+ */
+
+interface DataTransferItemList {
+ readonly attribute unsigned long length;
+ getter DataTransferItem (unsigned long index);
+ [Throws, NeedsSubjectPrincipal]
+ DataTransferItem? add(DOMString data, DOMString type);
+ [Throws, NeedsSubjectPrincipal]
+ DataTransferItem? add(File data);
+ [Throws, NeedsSubjectPrincipal]
+ undefined remove(unsigned long index);
+ [Throws, NeedsSubjectPrincipal]
+ undefined clear();
+};
diff --git a/vendor/web-sys/webidls/enabled/DecoderDoctorNotification.webidl b/vendor/web-sys/webidls/enabled/DecoderDoctorNotification.webidl
new file mode 100644
index 000000000..c994918bf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DecoderDoctorNotification.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+enum DecoderDoctorNotificationType {
+ "cannot-play",
+ "platform-decoder-not-found",
+ "can-play-but-some-missing-decoders",
+ "cannot-initialize-pulseaudio",
+ "unsupported-libavcodec",
+ "decode-error",
+ "decode-warning",
+};
+
+dictionary DecoderDoctorNotification {
+ required DecoderDoctorNotificationType type;
+ // True when the issue has been solved.
+ required boolean isSolved;
+ // Key from dom.properties, used for telemetry and prefs.
+ required DOMString decoderDoctorReportId;
+ // If provided, formats (or key systems) at issue.
+ DOMString formats;
+ // If provided, technical details about the decode-error/warning.
+ DOMString decodeIssue;
+ // If provided, URL of the document where the issue happened.
+ DOMString docURL;
+ // If provided, URL of the media resource that caused a decode-error/warning.
+ DOMString resourceURL;
+};
diff --git a/vendor/web-sys/webidls/enabled/DedicatedWorkerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/DedicatedWorkerGlobalScope.webidl
new file mode 100644
index 000000000..d450b31db
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DedicatedWorkerGlobalScope.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#the-workerglobalscope-common-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
+ * Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Global=(Worker,DedicatedWorker),
+ Exposed=DedicatedWorker]
+interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
+ [Replaceable]
+ readonly attribute DOMString name;
+
+ [Throws]
+ undefined postMessage(any message, optional sequence<object> transfer = []);
+
+ undefined close();
+
+ attribute EventHandler onmessage;
+ attribute EventHandler onmessageerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/DelayNode.webidl b/vendor/web-sys/webidls/enabled/DelayNode.webidl
new file mode 100644
index 000000000..75056316e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DelayNode.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary DelayOptions : AudioNodeOptions {
+ double maxDelayTime = 1;
+ double delayTime = 0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional DelayOptions options)]
+interface DelayNode : AudioNode {
+
+ readonly attribute AudioParam delayTime;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/DeviceLightEvent.webidl b/vendor/web-sys/webidls/enabled/DeviceLightEvent.webidl
new file mode 100644
index 000000000..8b44d2f01
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DeviceLightEvent.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ */
+
+[Pref="device.sensors.ambientLight.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceLightEventInit eventInitDict)]
+interface DeviceLightEvent : Event
+{
+ readonly attribute unrestricted double value;
+};
+
+dictionary DeviceLightEventInit : EventInit
+{
+ unrestricted double value = Infinity;
+};
diff --git a/vendor/web-sys/webidls/enabled/DeviceMotionEvent.webidl b/vendor/web-sys/webidls/enabled/DeviceMotionEvent.webidl
new file mode 100644
index 000000000..d52678147
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DeviceMotionEvent.webidl
@@ -0,0 +1,46 @@
+/* -*- 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/.
+ */
+
+[NoInterfaceObject]
+interface DeviceAcceleration {
+ readonly attribute double? x;
+ readonly attribute double? y;
+ readonly attribute double? z;
+};
+
+[NoInterfaceObject]
+interface DeviceRotationRate {
+ readonly attribute double? alpha;
+ readonly attribute double? beta;
+ readonly attribute double? gamma;
+};
+
+[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceMotionEventInit eventInitDict)]
+interface DeviceMotionEvent : Event {
+ readonly attribute DeviceAcceleration? acceleration;
+ readonly attribute DeviceAcceleration? accelerationIncludingGravity;
+ readonly attribute DeviceRotationRate? rotationRate;
+ readonly attribute double? interval;
+};
+
+dictionary DeviceAccelerationInit {
+ double? x = null;
+ double? y = null;
+ double? z = null;
+};
+
+dictionary DeviceRotationRateInit {
+ double? alpha = null;
+ double? beta = null;
+ double? gamma = null;
+};
+
+dictionary DeviceMotionEventInit : EventInit {
+ DeviceAccelerationInit acceleration;
+ DeviceAccelerationInit accelerationIncludingGravity;
+ DeviceRotationRateInit rotationRate;
+ double? interval = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/DeviceOrientationEvent.webidl b/vendor/web-sys/webidls/enabled/DeviceOrientationEvent.webidl
new file mode 100644
index 000000000..437e06903
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DeviceOrientationEvent.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+[Pref="device.sensors.orientation.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceOrientationEventInit eventInitDict), LegacyEventInit]
+interface DeviceOrientationEvent : Event
+{
+ readonly attribute double? alpha;
+ readonly attribute double? beta;
+ readonly attribute double? gamma;
+ readonly attribute boolean absolute;
+
+ // initDeviceOrientationEvent is a Gecko specific deprecated method.
+ undefined initDeviceOrientationEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional double? alpha = null,
+ optional double? beta = null,
+ optional double? gamma = null,
+ optional boolean absolute = false);
+};
+
+dictionary DeviceOrientationEventInit : EventInit
+{
+ double? alpha = null;
+ double? beta = null;
+ double? gamma = null;
+ boolean absolute = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/DeviceProximityEvent.webidl b/vendor/web-sys/webidls/enabled/DeviceProximityEvent.webidl
new file mode 100644
index 000000000..70ee70b33
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DeviceProximityEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ */
+
+[Pref="device.sensors.proximity.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceProximityEventInit eventInitDict)]
+interface DeviceProximityEvent : Event
+{
+ readonly attribute double value;
+ readonly attribute double min;
+ readonly attribute double max;
+};
+
+dictionary DeviceProximityEventInit : EventInit
+{
+ unrestricted double value = Infinity;
+ unrestricted double min = -Infinity;
+ unrestricted double max = Infinity;
+};
diff --git a/vendor/web-sys/webidls/enabled/Directory.webidl b/vendor/web-sys/webidls/enabled/Directory.webidl
new file mode 100644
index 000000000..942d50c7c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Directory.webidl
@@ -0,0 +1,53 @@
+/* -*- 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/.
+ */
+
+/*
+ * All functions on Directory that accept DOMString arguments for file or
+ * directory names only allow relative path to current directory itself. The
+ * path should be a descendent path like "path/to/file.txt" and not contain a
+ * segment of ".." or ".". So the paths aren't allowed to walk up the directory
+ * tree. For example, paths like "../foo", "..", "/foo/bar" or "foo/../bar" are
+ * not allowed.
+ *
+ * http://w3c.github.io/filesystem-api/#idl-def-Directory
+ * https://microsoftedge.github.io/directory-upload/proposal.html#directory-interface
+ */
+
+// This chromeConstructor is used by the MockFilePicker for testing only.
+[ChromeConstructor(DOMString path),
+ Exposed=(Window,Worker)]
+interface Directory {
+ /*
+ * The leaf name of the directory.
+ */
+ [Throws]
+ readonly attribute DOMString name;
+};
+
+[Exposed=(Window,Worker)]
+partial interface Directory {
+ // Already defined in the main interface declaration:
+ //readonly attribute DOMString name;
+
+ /*
+ * The path of the Directory (includes both its basename and leafname).
+ * The path begins with the name of the ancestor Directory that was
+ * originally exposed to content (say via a directory picker) and traversed
+ * to obtain this Directory. Full filesystem paths are not exposed to
+ * unprivilaged content.
+ */
+ [Throws]
+ readonly attribute DOMString path;
+
+ /*
+ * Getter for the immediate children of this directory.
+ */
+ [Throws]
+ Promise<sequence<(File or Directory)>> getFilesAndDirectories();
+
+ [Throws]
+ Promise<sequence<File>> getFiles(optional boolean recursiveFlag = false);
+};
diff --git a/vendor/web-sys/webidls/enabled/Document.webidl b/vendor/web-sys/webidls/enabled/Document.webidl
new file mode 100644
index 000000000..df41dfbf1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Document.webidl
@@ -0,0 +1,387 @@
+/* -*- 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/.
+ *
+ * https://dom.spec.whatwg.org/#interface-document
+ * https://html.spec.whatwg.org/multipage/dom.html#the-document-object
+ * https://html.spec.whatwg.org/multipage/obsolete.html#other-elements%2C-attributes-and-apis
+ * https://fullscreen.spec.whatwg.org/#api
+ * https://w3c.github.io/pointerlock/#extensions-to-the-document-interface
+ * https://w3c.github.io/pointerlock/#extensions-to-the-documentorshadowroot-mixin
+ * https://w3c.github.io/page-visibility/#extensions-to-the-document-interface
+ * https://drafts.csswg.org/cssom/#extensions-to-the-document-interface
+ * https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface
+ */
+
+/*TODO
+interface WindowProxy;
+interface nsISupports;
+interface URI;
+interface nsIDocShell;
+interface nsILoadGroup;
+*/
+
+enum VisibilityState { "hidden", "visible" };
+
+/* https://dom.spec.whatwg.org/#dictdef-elementcreationoptions */
+dictionary ElementCreationOptions {
+ DOMString is;
+
+ [ChromeOnly]
+ DOMString pseudo;
+};
+
+/* https://dom.spec.whatwg.org/#interface-document */
+[Constructor]
+interface Document : Node {
+ [Throws]
+ readonly attribute DOMImplementation implementation;
+ [Pure, Throws, BinaryName="documentURIFromJS", NeedsCallerType]
+ readonly attribute DOMString URL;
+ [Pure, Throws, BinaryName="documentURIFromJS", NeedsCallerType]
+ readonly attribute DOMString documentURI;
+ [Pure]
+ readonly attribute DOMString compatMode;
+ [Pure]
+ readonly attribute DOMString characterSet;
+ [Pure,BinaryName="characterSet"]
+ readonly attribute DOMString charset; // legacy alias of .characterSet
+ [Pure,BinaryName="characterSet"]
+ readonly attribute DOMString inputEncoding; // legacy alias of .characterSet
+ [Pure]
+ readonly attribute DOMString contentType;
+
+ [Pure]
+ readonly attribute DocumentType? doctype;
+ [Pure]
+ readonly attribute Element? documentElement;
+
+ [Pure]
+ HTMLCollection getElementsByTagName(DOMString localName);
+ [Pure, Throws]
+ HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
+ [Pure]
+ HTMLCollection getElementsByClassName(DOMString classNames);
+ [Pure]
+ Element? getElementById(DOMString elementId);
+
+ [CEReactions, NewObject, Throws]
+ Element createElement(DOMString localName, optional (ElementCreationOptions or DOMString) options);
+ [CEReactions, NewObject, Throws]
+ Element createElementNS(DOMString? namespace, DOMString qualifiedName, optional (ElementCreationOptions or DOMString) options);
+ [NewObject]
+ DocumentFragment createDocumentFragment();
+ [NewObject]
+ Text createTextNode(DOMString data);
+ [NewObject]
+ Comment createComment(DOMString data);
+ [NewObject, Throws]
+ ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
+
+ [CEReactions, Throws]
+ Node importNode(Node node, optional boolean deep = false);
+ [CEReactions, Throws]
+ Node adoptNode(Node node);
+
+ [NewObject, Throws, NeedsCallerType]
+ Event createEvent(DOMString interface);
+
+ [NewObject, Throws]
+ Range createRange();
+
+ // NodeFilter.SHOW_ALL = 0xFFFFFFFF
+ [NewObject, Throws]
+ NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
+ [NewObject, Throws]
+ TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
+
+ // NEW
+ // No support for prepend/append yet
+ // undefined prepend((Node or DOMString)... nodes);
+ // undefined append((Node or DOMString)... nodes);
+
+ // These are not in the spec, but leave them for now for backwards compat.
+ // So sort of like Gecko extensions
+ [NewObject, Throws]
+ CDATASection createCDATASection(DOMString data);
+ [NewObject, Throws]
+ Attr createAttribute(DOMString name);
+ [NewObject, Throws]
+ Attr createAttributeNS(DOMString? namespace, DOMString name);
+};
+
+// https://html.spec.whatwg.org/multipage/dom.html#the-document-object
+partial interface Document {
+ [PutForwards=href, Unforgeable] readonly attribute Location? location;
+ //(HTML only) attribute DOMString domain;
+ readonly attribute DOMString referrer;
+ //(HTML only) attribute DOMString cookie;
+ readonly attribute DOMString lastModified;
+ readonly attribute DOMString readyState;
+
+ // DOM tree accessors
+ //(Not proxy yet)getter object (DOMString name);
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString title;
+ [CEReactions, Pure]
+ attribute DOMString dir;
+ [CEReactions, Pure, SetterThrows]
+ attribute HTMLElement? body;
+ [Pure]
+ readonly attribute HTMLHeadElement? head;
+ [SameObject] readonly attribute HTMLCollection images;
+ [SameObject] readonly attribute HTMLCollection embeds;
+ [SameObject] readonly attribute HTMLCollection plugins;
+ [SameObject] readonly attribute HTMLCollection links;
+ [SameObject] readonly attribute HTMLCollection forms;
+ [SameObject] readonly attribute HTMLCollection scripts;
+ [Pure]
+ NodeList getElementsByName(DOMString elementName);
+
+ //(Not implemented)readonly attribute DOMElementMap cssElementMap;
+
+ // dynamic markup insertion
+ //(HTML only)Document open(optional DOMString type, optional DOMString replace);
+ //(HTML only)WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace);
+ //(HTML only)undefined close();
+ //(HTML only)undefined write(DOMString... text);
+ //(HTML only)undefined writeln(DOMString... text);
+
+ // user interaction
+ [Pure]
+ readonly attribute WindowProxy? defaultView;
+ [Throws]
+ boolean hasFocus();
+ //(HTML only) attribute DOMString designMode;
+ //(HTML only)boolean execCommand(DOMString commandId);
+ //(HTML only)boolean execCommand(DOMString commandId, boolean showUI);
+ //(HTML only)boolean execCommand(DOMString commandId, boolean showUI, DOMString value);
+ //(HTML only)boolean queryCommandEnabled(DOMString commandId);
+ //(HTML only)boolean queryCommandIndeterm(DOMString commandId);
+ //(HTML only)boolean queryCommandState(DOMString commandId);
+ //(HTML only)boolean queryCommandSupported(DOMString commandId);
+ //(HTML only)DOMString queryCommandValue(DOMString commandId);
+ //(Not implemented)readonly attribute HTMLCollection commands;
+
+ // special event handler IDL attributes that only apply to Document objects
+ [LenientThis] attribute EventHandler onreadystatechange;
+
+ // Gecko extensions?
+ attribute EventHandler onbeforescriptexecute;
+ attribute EventHandler onafterscriptexecute;
+
+ [Pref="dom.select_events.enabled"]
+ attribute EventHandler onselectionchange;
+
+ /**
+ * Returns the script element whose script is currently being processed.
+ *
+ * @see <https://developer.mozilla.org/en/DOM/document.currentScript>
+ */
+ [Pure]
+ readonly attribute Element? currentScript;
+ /**
+ * Release the current mouse capture if it is on an element within this
+ * document.
+ *
+ * @see <https://developer.mozilla.org/en/DOM/document.releaseCapture>
+ */
+ undefined releaseCapture();
+
+ [ChromeOnly]
+ readonly attribute URI? documentURIObject;
+
+ /**
+ * Current referrer policy - one of the REFERRER_POLICY_* constants
+ * from nsIHttpChannel.
+ */
+ [ChromeOnly]
+ readonly attribute unsigned long referrerPolicy;
+
+};
+
+// https://html.spec.whatwg.org/multipage/obsolete.html#other-elements%2C-attributes-and-apis
+partial interface Document {
+ //(HTML only)[CEReactions] attribute [TreatNullAs=EmptyString] DOMString fgColor;
+ //(HTML only)[CEReactions] attribute [TreatNullAs=EmptyString] DOMString linkColor;
+ //(HTML only)[CEReactions] attribute [TreatNullAs=EmptyString] DOMString vlinkColor;
+ //(HTML only)[CEReactions] attribute [TreatNullAs=EmptyString] DOMString alinkColor;
+ //(HTML only)[CEReactions] attribute [TreatNullAs=EmptyString] DOMString bgColor;
+
+ [SameObject] readonly attribute HTMLCollection anchors;
+ [SameObject] readonly attribute HTMLCollection applets;
+
+ //(HTML only)undefined clear();
+ //(HTML only)undefined captureEvents();
+ //(HTML only)undefined releaseEvents();
+
+ //(HTML only)[SameObject] readonly attribute HTMLAllCollection all;
+};
+
+// https://fullscreen.spec.whatwg.org/#api
+partial interface Document {
+ // Note: Per spec the 'S' in these two is lowercase, but the "Moz"
+ // versions have it uppercase.
+ [LenientSetter, Unscopable, Func="nsDocument::IsUnprefixedFullscreenEnabled"]
+ readonly attribute boolean fullscreen;
+ [LenientSetter, Func="nsDocument::IsUnprefixedFullscreenEnabled", NeedsCallerType]
+ readonly attribute boolean fullscreenEnabled;
+
+ [Func="nsDocument::IsUnprefixedFullscreenEnabled"]
+ undefined exitFullscreen();
+
+ // Events handlers
+ [Func="nsDocument::IsUnprefixedFullscreenEnabled"]
+ attribute EventHandler onfullscreenchange;
+ [Func="nsDocument::IsUnprefixedFullscreenEnabled"]
+ attribute EventHandler onfullscreenerror;
+};
+
+// https://w3c.github.io/pointerlock/#extensions-to-the-document-interface
+// https://w3c.github.io/pointerlock/#extensions-to-the-documentorshadowroot-mixin
+partial interface Document {
+ undefined exitPointerLock();
+
+ // Event handlers
+ attribute EventHandler onpointerlockchange;
+ attribute EventHandler onpointerlockerror;
+};
+
+// https://w3c.github.io/page-visibility/#extensions-to-the-document-interface
+partial interface Document {
+ readonly attribute boolean hidden;
+ readonly attribute VisibilityState visibilityState;
+ attribute EventHandler onvisibilitychange;
+};
+
+// https://drafts.csswg.org/cssom/#extensions-to-the-document-interface
+partial interface Document {
+ attribute DOMString? selectedStyleSheetSet;
+ readonly attribute DOMString? lastStyleSheetSet;
+ readonly attribute DOMString? preferredStyleSheetSet;
+ [Constant]
+ readonly attribute DOMStringList styleSheetSets;
+ undefined enableStyleSheetsForSet (DOMString? name);
+};
+
+// https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface
+partial interface Document {
+ CaretPosition? caretPositionFromPoint (float x, float y);
+
+ readonly attribute Element? scrollingElement;
+};
+
+// http://dev.w3.org/2006/webapi/selectors-api2/#interface-definitions
+partial interface Document {
+ [Throws, Pure]
+ Element? querySelector(DOMString selectors);
+ [Throws, Pure]
+ NodeList querySelectorAll(DOMString selectors);
+
+ //(Not implemented)Element? find(DOMString selectors, optional (Element or sequence<Node>)? refNodes);
+ //(Not implemented)NodeList findAll(DOMString selectors, optional (Element or sequence<Node>)? refNodes);
+};
+
+// https://drafts.csswg.org/web-animations/#extensions-to-the-document-interface
+partial interface Document {
+ [Func="nsDocument::IsWebAnimationsEnabled"]
+ readonly attribute DocumentTimeline timeline;
+ [Func="nsDocument::IsWebAnimationsEnabled"]
+ sequence<Animation> getAnimations();
+};
+
+// https://svgwg.org/svg2-draft/struct.html#InterfaceDocumentExtensions
+partial interface Document {
+ [BinaryName="SVGRootElement"]
+ readonly attribute SVGSVGElement? rootElement;
+};
+
+dictionary BlockParsingOptions {
+ /**
+ * If true, blocks script-created parsers (created via document.open()) in
+ * addition to network-created parsers.
+ */
+ boolean blockScriptCreated = true;
+};
+
+// Extension to give chrome JS the ability to determine when a document was
+// created to satisfy an iframe with srcdoc attribute.
+partial interface Document {
+ [ChromeOnly] readonly attribute boolean isSrcdocDocument;
+};
+
+
+// Extension to give chrome JS the ability to get the underlying
+// sandbox flag attribute
+partial interface Document {
+ [ChromeOnly] readonly attribute DOMString? sandboxFlagsAsString;
+};
+
+
+/**
+ * Chrome document anonymous content management.
+ * This is a Chrome-only API that allows inserting fixed positioned anonymous
+ * content on top of the current page displayed in the document.
+ * The supplied content is cloned and inserted into the document's CanvasFrame.
+ * Note that this only works for HTML documents.
+ */
+partial interface Document {
+ /**
+ * Deep-clones the provided element and inserts it into the CanvasFrame.
+ * Returns an AnonymousContent instance that can be used to manipulate the
+ * inserted element.
+ */
+ [ChromeOnly, NewObject, Throws]
+ AnonymousContent insertAnonymousContent(Element aElement);
+
+ /**
+ * Removes the element inserted into the CanvasFrame given an AnonymousContent
+ * instance.
+ */
+ [ChromeOnly, Throws]
+ undefined removeAnonymousContent(AnonymousContent aContent);
+};
+
+// http://w3c.github.io/selection-api/#extensions-to-document-interface
+partial interface Document {
+ [Throws]
+ Selection? getSelection();
+};
+
+// Extension to give chrome JS the ability to determine whether
+// the user has interacted with the document or not.
+partial interface Document {
+ [ChromeOnly] readonly attribute boolean userHasInteracted;
+};
+
+// Extension to give chrome JS the ability to simulate activate the docuement
+// by user gesture.
+partial interface Document {
+ [ChromeOnly]
+ undefined notifyUserGestureActivation();
+};
+
+// For more information on Flash classification, see
+// toolkit/components/url-classifier/flash-block-lists.rst
+enum FlashClassification {
+ "unclassified", // Denotes a classification that has not yet been computed.
+ // Allows for lazy classification.
+ "unknown", // Site is not on the whitelist or blacklist
+ "allowed", // Site is on the Flash whitelist
+ "denied" // Site is on the Flash blacklist
+};
+partial interface Document {
+ [ChromeOnly]
+ readonly attribute FlashClassification documentFlashClassification;
+};
+
+Document includes XPathEvaluator;
+Document includes GlobalEventHandlers;
+Document includes DocumentAndElementEventHandlers;
+Document includes TouchEventHandlers;
+Document includes ParentNode;
+Document includes OnErrorEventHandlerForNodes;
+Document includes GeometryUtils;
+Document includes FontFaceSource;
+Document includes DocumentOrShadowRoot;
diff --git a/vendor/web-sys/webidls/enabled/DocumentFragment.webidl b/vendor/web-sys/webidls/enabled/DocumentFragment.webidl
new file mode 100644
index 000000000..68a69c514
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DocumentFragment.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120405/#interface-documentfragment
+ * http://www.w3.org/TR/2012/WD-selectors-api-20120628/#interface-definitions
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor]
+interface DocumentFragment : Node {
+ Element? getElementById(DOMString elementId);
+};
+
+// http://www.w3.org/TR/2012/WD-selectors-api-20120628/#interface-definitions
+partial interface DocumentFragment {
+ [Throws]
+ Element? querySelector(DOMString selectors);
+ [Throws]
+ NodeList querySelectorAll(DOMString selectors);
+};
+
+DocumentFragment includes ParentNode;
diff --git a/vendor/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl b/vendor/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl
new file mode 100644
index 000000000..3da7e7098
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DocumentOrShadowRoot.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dom.spec.whatwg.org/#documentorshadowroot
+ * http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-the-documentorshadowroot-mixin
+ */
+
+interface mixin DocumentOrShadowRoot {
+ // Not implemented yet: bug 1430308.
+ // Selection? getSelection();
+ Element? elementFromPoint (float x, float y);
+ sequence<Element> elementsFromPoint (float x, float y);
+ // Not implemented yet: bug 1430307.
+ // CaretPosition? caretPositionFromPoint (float x, float y);
+
+ readonly attribute Element? activeElement;
+ readonly attribute StyleSheetList styleSheets;
+
+ readonly attribute Element? pointerLockElement;
+ [LenientSetter, Func="nsIDocument::IsUnprefixedFullscreenEnabled"]
+ readonly attribute Element? fullscreenElement;
+};
diff --git a/vendor/web-sys/webidls/enabled/DocumentTimeline.webidl b/vendor/web-sys/webidls/enabled/DocumentTimeline.webidl
new file mode 100644
index 000000000..c618a20b9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DocumentTimeline.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#documenttimeline
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary DocumentTimelineOptions {
+ DOMHighResTimeStamp originTime = 0;
+};
+
+[Func="nsDocument::IsWebAnimationsEnabled",
+ Constructor (optional DocumentTimelineOptions options)]
+interface DocumentTimeline : AnimationTimeline {
+};
diff --git a/vendor/web-sys/webidls/enabled/DocumentType.webidl b/vendor/web-sys/webidls/enabled/DocumentType.webidl
new file mode 100644
index 000000000..b19b319c2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DocumentType.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#documenttype
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface DocumentType : Node {
+ readonly attribute DOMString name;
+ readonly attribute DOMString publicId;
+ readonly attribute DOMString systemId;
+};
+
+DocumentType includes ChildNode;
diff --git a/vendor/web-sys/webidls/enabled/DragEvent.webidl b/vendor/web-sys/webidls/enabled/DragEvent.webidl
new file mode 100644
index 000000000..1b2ad402d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DragEvent.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional DragEventInit eventInitDict)]
+interface DragEvent : MouseEvent
+{
+ readonly attribute DataTransfer? dataTransfer;
+
+ undefined initDragEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Window? aView = null,
+ optional long aDetail = 0,
+ optional long aScreenX = 0,
+ optional long aScreenY = 0,
+ optional long aClientX = 0,
+ optional long aClientY = 0,
+ optional boolean aCtrlKey = false,
+ optional boolean aAltKey = false,
+ optional boolean aShiftKey = false,
+ optional boolean aMetaKey = false,
+ optional unsigned short aButton = 0,
+ optional EventTarget? aRelatedTarget = null,
+ optional DataTransfer? aDataTransfer = null);
+};
+
+dictionary DragEventInit : MouseEventInit
+{
+ DataTransfer? dataTransfer = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/DynamicsCompressorNode.webidl b/vendor/web-sys/webidls/enabled/DynamicsCompressorNode.webidl
new file mode 100644
index 000000000..2a19e35f8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/DynamicsCompressorNode.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary DynamicsCompressorOptions : AudioNodeOptions {
+ float attack = 0.003;
+ float knee = 30;
+ float ratio = 12;
+ float release = 0.25;
+ float threshold = -24;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional DynamicsCompressorOptions options)]
+interface DynamicsCompressorNode : AudioNode {
+
+ readonly attribute AudioParam threshold; // in Decibels
+ readonly attribute AudioParam knee; // in Decibels
+ readonly attribute AudioParam ratio; // unit-less
+ readonly attribute float reduction; // in Decibels
+ readonly attribute AudioParam attack; // in Seconds
+ readonly attribute AudioParam release; // in Seconds
+
+};
diff --git a/vendor/web-sys/webidls/enabled/Element.webidl b/vendor/web-sys/webidls/enabled/Element.webidl
new file mode 100644
index 000000000..02704b318
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Element.webidl
@@ -0,0 +1,265 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#element and
+ * http://domparsing.spec.whatwg.org/ and
+ * http://dev.w3.org/csswg/cssom-view/ and
+ * http://www.w3.org/TR/selectors-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface Element : Node {
+ [Constant]
+ readonly attribute DOMString? namespaceURI;
+ [Constant]
+ readonly attribute DOMString? prefix;
+ [Constant]
+ readonly attribute DOMString localName;
+
+ // Not [Constant] because it depends on which document we're in
+ [Pure]
+ readonly attribute DOMString tagName;
+
+ [CEReactions, Pure]
+ attribute DOMString id;
+ [CEReactions, Pure]
+ attribute DOMString className;
+ [Constant, PutForwards=value]
+ readonly attribute DOMTokenList classList;
+
+ [SameObject]
+ readonly attribute NamedNodeMap attributes;
+ [Pure]
+ sequence<DOMString> getAttributeNames();
+ [Pure]
+ DOMString? getAttribute(DOMString name);
+ [Pure]
+ DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
+ [CEReactions, NeedsSubjectPrincipal=NonSystem, Throws]
+ boolean toggleAttribute(DOMString name, optional boolean force);
+ [CEReactions, NeedsSubjectPrincipal=NonSystem, Throws]
+ undefined setAttribute(DOMString name, DOMString value);
+ [CEReactions, NeedsSubjectPrincipal=NonSystem, Throws]
+ undefined setAttributeNS(DOMString? namespace, DOMString name, DOMString value);
+ [CEReactions, Throws]
+ undefined removeAttribute(DOMString name);
+ [CEReactions, Throws]
+ undefined removeAttributeNS(DOMString? namespace, DOMString localName);
+ [Pure]
+ boolean hasAttribute(DOMString name);
+ [Pure]
+ boolean hasAttributeNS(DOMString? namespace, DOMString localName);
+ [Pure]
+ boolean hasAttributes();
+
+ [Throws, Pure]
+ Element? closest(DOMString selector);
+
+ [Throws, Pure]
+ boolean matches(DOMString selector);
+ [Throws, Pure, BinaryName="matches"]
+ boolean webkitMatchesSelector(DOMString selector);
+
+ [Pure]
+ HTMLCollection getElementsByTagName(DOMString localName);
+ [Throws, Pure]
+ HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
+ [Pure]
+ HTMLCollection getElementsByClassName(DOMString classNames);
+ [ChromeOnly, Pure]
+ sequence<Element> getElementsWithGrid();
+
+ [CEReactions, Throws, Pure]
+ Element? insertAdjacentElement(DOMString where, Element element); // historical
+
+ [Throws]
+ undefined insertAdjacentText(DOMString where, DOMString data); // historical
+
+ /**
+ * The ratio of font-size-inflated text font size to computed font
+ * size for this element. This will query the element for its primary frame,
+ * and then use this to get font size inflation information about the frame.
+ * This will be 1.0 if font size inflation is not enabled, and -1.0 if an
+ * error occurred during the retrieval of the font size inflation.
+ *
+ * @note The font size inflation ratio that is returned is actually the
+ * font size inflation data for the element's _primary frame_, not the
+ * element itself, but for most purposes, this should be sufficient.
+ */
+ [ChromeOnly]
+ readonly attribute float fontSizeInflation;
+
+ // Selectors API
+
+ // Pointer events methods.
+ [Throws, Pref="dom.w3c_pointer_events.enabled"]
+ undefined setPointerCapture(long pointerId);
+
+ [Throws, Pref="dom.w3c_pointer_events.enabled"]
+ undefined releasePointerCapture(long pointerId);
+
+ [Pref="dom.w3c_pointer_events.enabled"]
+ boolean hasPointerCapture(long pointerId);
+
+ // Proprietary extensions
+ /**
+ * Set this during a mousedown event to grab and retarget all mouse events
+ * to this element until the mouse button is released or releaseCapture is
+ * called. If retargetToElement is true, then all events are targetted at
+ * this element. If false, events can also fire at descendants of this
+ * element.
+ *
+ */
+ undefined setCapture(optional boolean retargetToElement = false);
+
+ /**
+ * If this element has captured the mouse, release the capture. If another
+ * element has captured the mouse, this method has no effect.
+ */
+ undefined releaseCapture();
+
+ /*
+ * Chrome-only version of setCapture that works outside of a mousedown event.
+ */
+ [ChromeOnly]
+ undefined setCaptureAlways(optional boolean retargetToElement = false);
+
+ // Obsolete methods.
+ Attr? getAttributeNode(DOMString name);
+ [CEReactions, Throws]
+ Attr? setAttributeNode(Attr newAttr);
+ [CEReactions, Throws]
+ Attr? removeAttributeNode(Attr oldAttr);
+ Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
+ [CEReactions, Throws]
+ Attr? setAttributeNodeNS(Attr newAttr);
+
+ [ChromeOnly]
+ /**
+ * Scrolls the element by (dx, dy) CSS pixels without doing any
+ * layout flushing.
+ */
+ boolean scrollByNoFlush(long dx, long dy);
+
+ // Support reporting of Flexbox properties
+ /**
+ * If this element has a display:flex or display:inline-flex style,
+ * this property returns an object with computed values for flex
+ * properties, as well as a property that exposes the flex lines
+ * in this container.
+ */
+ [ChromeOnly, Pure]
+ Flex? getAsFlexContainer();
+
+ // Support reporting of Grid properties
+ /**
+ * If this element has a display:grid or display:inline-grid style,
+ * this property returns an object with computed values for grid
+ * tracks and lines.
+ */
+ [ChromeOnly, Pure]
+ sequence<Grid> getGridFragments();
+
+ [ChromeOnly]
+ DOMMatrixReadOnly getTransformToAncestor(Element ancestor);
+ [ChromeOnly]
+ DOMMatrixReadOnly getTransformToParent();
+ [ChromeOnly]
+ DOMMatrixReadOnly getTransformToViewport();
+};
+
+// http://dev.w3.org/csswg/cssom-view/
+enum ScrollLogicalPosition { "start", "center", "end", "nearest" };
+dictionary ScrollIntoViewOptions : ScrollOptions {
+ ScrollLogicalPosition block = "start";
+ ScrollLogicalPosition inline = "nearest";
+};
+
+// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-element-interface
+partial interface Element {
+ DOMRectList getClientRects();
+ DOMRect getBoundingClientRect();
+
+ // scrolling
+ undefined scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg);
+ // None of the CSSOM attributes are [Pure], because they flush
+ attribute long scrollTop; // scroll on setting
+ attribute long scrollLeft; // scroll on setting
+ readonly attribute long scrollWidth;
+ readonly attribute long scrollHeight;
+
+ undefined scroll(unrestricted double x, unrestricted double y);
+ undefined scroll(optional ScrollToOptions options);
+ undefined scrollTo(unrestricted double x, unrestricted double y);
+ undefined scrollTo(optional ScrollToOptions options);
+ undefined scrollBy(unrestricted double x, unrestricted double y);
+ undefined scrollBy(optional ScrollToOptions options);
+
+ readonly attribute long clientTop;
+ readonly attribute long clientLeft;
+ readonly attribute long clientWidth;
+ readonly attribute long clientHeight;
+};
+
+// http://domparsing.spec.whatwg.org/#extensions-to-the-element-interface
+partial interface Element {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, Pure, SetterThrows, GetterCanOOM, TreatNullAs=EmptyString]
+ attribute DOMString innerHTML;
+ [CEReactions, Pure,SetterThrows,TreatNullAs=EmptyString]
+ attribute DOMString outerHTML;
+ [CEReactions, Throws]
+ undefined insertAdjacentHTML(DOMString position, DOMString text);
+};
+
+// http://www.w3.org/TR/selectors-api/#interface-definitions
+partial interface Element {
+ [Throws, Pure]
+ Element? querySelector(DOMString selectors);
+ [Throws, Pure]
+ NodeList querySelectorAll(DOMString selectors);
+};
+
+// https://dom.spec.whatwg.org/#dictdef-shadowrootinit
+dictionary ShadowRootInit {
+ required ShadowRootMode mode;
+};
+
+// https://dom.spec.whatwg.org/#element
+partial interface Element {
+ // Shadow DOM v1
+ [Throws, Func="nsDocument::IsShadowDOMEnabled"]
+ ShadowRoot attachShadow(ShadowRootInit shadowRootInitDict);
+ [BinaryName="shadowRootByMode", Func="nsDocument::IsShadowDOMEnabled"]
+ readonly attribute ShadowRoot? shadowRoot;
+
+ [ChromeOnly, Func="nsDocument::IsShadowDOMEnabled", BinaryName="shadowRoot"]
+ readonly attribute ShadowRoot? openOrClosedShadowRoot;
+
+ [BinaryName="assignedSlotByMode", Func="nsDocument::IsShadowDOMEnabled"]
+ readonly attribute HTMLSlotElement? assignedSlot;
+ [CEReactions, Unscopable, SetterThrows, Func="nsDocument::IsShadowDOMEnabled"]
+ attribute DOMString slot;
+};
+
+Element includes ChildNode;
+Element includes NonDocumentTypeChildNode;
+Element includes ParentNode;
+Element includes Animatable;
+Element includes GeometryUtils;
+
+// https://fullscreen.spec.whatwg.org/#api
+partial interface Element {
+ [Throws, Func="nsDocument::IsUnprefixedFullscreenEnabled", NeedsCallerType]
+ undefined requestFullscreen();
+};
+
+// https://w3c.github.io/pointerlock/#extensions-to-the-element-interface
+partial interface Element {
+ [NeedsCallerType]
+ undefined requestPointerLock();
+};
diff --git a/vendor/web-sys/webidls/enabled/ErrorEvent.webidl b/vendor/web-sys/webidls/enabled/ErrorEvent.webidl
new file mode 100644
index 000000000..cb858dffd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ErrorEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/. */
+
+[Constructor(DOMString type, optional ErrorEventInit eventInitDict),
+ Exposed=(Window,Worker,System)]
+interface ErrorEvent : Event
+{
+ readonly attribute DOMString message;
+ readonly attribute DOMString filename;
+ readonly attribute unsigned long lineno;
+ readonly attribute unsigned long colno;
+ readonly attribute any error;
+};
+
+dictionary ErrorEventInit : EventInit
+{
+ DOMString message = "";
+ DOMString filename = "";
+ unsigned long lineno = 0;
+ unsigned long colno = 0;
+ any error = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/Event.webidl b/vendor/web-sys/webidls/enabled/Event.webidl
new file mode 100644
index 000000000..43ddcde1c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Event.webidl
@@ -0,0 +1,65 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional EventInit eventInitDict),
+ Exposed=(Window,Worker,System), ProbablyShortLivingWrapper]
+interface Event {
+ [Pure]
+ readonly attribute DOMString type;
+ [Pure, BindingAlias="srcElement"]
+ readonly attribute EventTarget? target;
+ [Pure]
+ readonly attribute EventTarget? currentTarget;
+
+ sequence<EventTarget> composedPath();
+
+ const unsigned short NONE = 0;
+ const unsigned short CAPTURING_PHASE = 1;
+ const unsigned short AT_TARGET = 2;
+ const unsigned short BUBBLING_PHASE = 3;
+ [Pure]
+ readonly attribute unsigned short eventPhase;
+
+ undefined stopPropagation();
+ undefined stopImmediatePropagation();
+
+ [Pure]
+ readonly attribute boolean bubbles;
+ [Pure]
+ readonly attribute boolean cancelable;
+ [NeedsCallerType]
+ undefined preventDefault();
+ [Pure, NeedsCallerType]
+ readonly attribute boolean defaultPrevented;
+ [ChromeOnly, Pure]
+ readonly attribute boolean defaultPreventedByChrome;
+ [ChromeOnly, Pure]
+ readonly attribute boolean defaultPreventedByContent;
+ [Pure]
+ readonly attribute boolean composed;
+
+ [Unforgeable, Pure]
+ readonly attribute boolean isTrusted;
+ [Pure]
+ readonly attribute DOMHighResTimeStamp timeStamp;
+
+ undefined initEvent(DOMString type,
+ optional boolean bubbles = false,
+ optional boolean cancelable = false);
+ attribute boolean cancelBubble;
+};
+
+dictionary EventInit {
+ boolean bubbles = false;
+ boolean cancelable = false;
+ boolean composed = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/EventHandler.webidl b/vendor/web-sys/webidls/enabled/EventHandler.webidl
new file mode 100644
index 000000000..5d28db0a0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/EventHandler.webidl
@@ -0,0 +1,170 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#eventhandler
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+[TreatNonObjectAsNull]
+callback EventHandlerNonNull = any (Event event);
+typedef EventHandlerNonNull? EventHandler;
+
+[TreatNonObjectAsNull]
+callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event);
+typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
+
+[TreatNonObjectAsNull]
+callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error);
+typedef OnErrorEventHandlerNonNull? OnErrorEventHandler;
+
+interface mixin GlobalEventHandlers {
+ attribute EventHandler onabort;
+ attribute EventHandler onblur;
+// We think the spec is wrong here. See OnErrorEventHandlerForNodes/Window
+// below.
+// attribute OnErrorEventHandler onerror;
+ attribute EventHandler onfocus;
+ //(Not implemented)attribute EventHandler oncancel;
+ attribute EventHandler onauxclick;
+ attribute EventHandler oncanplay;
+ attribute EventHandler oncanplaythrough;
+ attribute EventHandler onchange;
+ attribute EventHandler onclick;
+ attribute EventHandler onclose;
+ attribute EventHandler oncontextmenu;
+ //(Not implemented)attribute EventHandler oncuechange;
+ attribute EventHandler ondblclick;
+ attribute EventHandler ondrag;
+ attribute EventHandler ondragend;
+ attribute EventHandler ondragenter;
+ attribute EventHandler ondragexit;
+ attribute EventHandler ondragleave;
+ attribute EventHandler ondragover;
+ attribute EventHandler ondragstart;
+ attribute EventHandler ondrop;
+ attribute EventHandler ondurationchange;
+ attribute EventHandler onemptied;
+ attribute EventHandler onended;
+ attribute EventHandler oninput;
+ attribute EventHandler oninvalid;
+ attribute EventHandler onkeydown;
+ attribute EventHandler onkeypress;
+ attribute EventHandler onkeyup;
+ attribute EventHandler onload;
+ attribute EventHandler onloadeddata;
+ attribute EventHandler onloadedmetadata;
+ attribute EventHandler onloadend;
+ attribute EventHandler onloadstart;
+ attribute EventHandler onmousedown;
+ [LenientThis] attribute EventHandler onmouseenter;
+ [LenientThis] attribute EventHandler onmouseleave;
+ attribute EventHandler onmousemove;
+ attribute EventHandler onmouseout;
+ attribute EventHandler onmouseover;
+ attribute EventHandler onmouseup;
+ attribute EventHandler onwheel;
+ attribute EventHandler onpause;
+ attribute EventHandler onplay;
+ attribute EventHandler onplaying;
+ attribute EventHandler onprogress;
+ attribute EventHandler onratechange;
+ attribute EventHandler onreset;
+ attribute EventHandler onresize;
+ attribute EventHandler onscroll;
+ attribute EventHandler onseeked;
+ attribute EventHandler onseeking;
+ attribute EventHandler onselect;
+ attribute EventHandler onshow;
+ //(Not implemented)attribute EventHandler onsort;
+ attribute EventHandler onstalled;
+ attribute EventHandler onsubmit;
+ attribute EventHandler onsuspend;
+ attribute EventHandler ontimeupdate;
+ attribute EventHandler onvolumechange;
+ attribute EventHandler onwaiting;
+
+ [Pref="dom.select_events.enabled"]
+ attribute EventHandler onselectstart;
+
+ attribute EventHandler ontoggle;
+
+ // Pointer events handlers
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointercancel;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerdown;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerup;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointermove;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerout;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerover;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerenter;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onpointerleave;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler ongotpointercapture;
+ [Pref="dom.w3c_pointer_events.enabled"]
+ attribute EventHandler onlostpointercapture;
+
+ // CSS-Animation and CSS-Transition handlers.
+ attribute EventHandler onanimationcancel;
+ attribute EventHandler onanimationend;
+ attribute EventHandler onanimationiteration;
+ attribute EventHandler onanimationstart;
+ attribute EventHandler ontransitioncancel;
+ attribute EventHandler ontransitionend;
+ attribute EventHandler ontransitionrun;
+ attribute EventHandler ontransitionstart;
+
+ // CSS-Animation and CSS-Transition legacy handlers.
+ // This handler isn't standard.
+ attribute EventHandler onwebkitanimationend;
+ attribute EventHandler onwebkitanimationiteration;
+ attribute EventHandler onwebkitanimationstart;
+ attribute EventHandler onwebkittransitionend;
+};
+
+interface mixin WindowEventHandlers {
+ attribute EventHandler onafterprint;
+ attribute EventHandler onbeforeprint;
+ attribute OnBeforeUnloadEventHandler onbeforeunload;
+ attribute EventHandler onhashchange;
+ attribute EventHandler onlanguagechange;
+ attribute EventHandler onmessage;
+ attribute EventHandler onmessageerror;
+ attribute EventHandler onoffline;
+ attribute EventHandler ononline;
+ attribute EventHandler onpagehide;
+ attribute EventHandler onpageshow;
+ attribute EventHandler onpopstate;
+ attribute EventHandler onstorage;
+ attribute EventHandler onunload;
+};
+
+interface mixin DocumentAndElementEventHandlers {
+ attribute EventHandler oncopy;
+ attribute EventHandler oncut;
+ attribute EventHandler onpaste;
+};
+
+// The spec has |attribute OnErrorEventHandler onerror;| on
+// GlobalEventHandlers, and calls the handler differently depending on
+// 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.
+
+interface mixin OnErrorEventHandlerForNodes {
+ attribute EventHandler onerror;
+};
+
+interface mixin OnErrorEventHandlerForWindow {
+ attribute OnErrorEventHandler onerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/EventListener.webidl b/vendor/web-sys/webidls/enabled/EventListener.webidl
new file mode 100644
index 000000000..c252ee433
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/EventListener.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+callback interface EventListener {
+ undefined handleEvent(Event event);
+};
diff --git a/vendor/web-sys/webidls/enabled/EventSource.webidl b/vendor/web-sys/webidls/enabled/EventSource.webidl
new file mode 100644
index 000000000..6b1a0c4d2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/EventSource.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/comms.html#the-eventsource-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[Exposed=(Window,DedicatedWorker,SharedWorker),
+ Constructor(USVString url, optional EventSourceInit eventSourceInitDict)]
+interface EventSource : EventTarget {
+ [Constant]
+ readonly attribute DOMString url;
+ [Constant]
+ readonly attribute boolean withCredentials;
+
+ // ready state
+ const unsigned short CONNECTING = 0;
+ const unsigned short OPEN = 1;
+ const unsigned short CLOSED = 2;
+ readonly attribute unsigned short readyState;
+
+ // networking
+ attribute EventHandler onopen;
+ attribute EventHandler onmessage;
+ attribute EventHandler onerror;
+ undefined close();
+};
+
+dictionary EventSourceInit {
+ boolean withCredentials = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/EventTarget.webidl b/vendor/web-sys/webidls/enabled/EventTarget.webidl
new file mode 100644
index 000000000..fc40a314f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/EventTarget.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+
+dictionary EventListenerOptions {
+ boolean capture = false;
+};
+
+dictionary AddEventListenerOptions : EventListenerOptions {
+ boolean passive;
+ boolean once = false;
+};
+
+[Constructor,
+ Exposed=(Window,Worker,WorkerDebugger,AudioWorklet,System)]
+interface EventTarget {
+ /* Passing null for wantsUntrusted means "default behavior", which
+ differs in content and chrome. In content that default boolean
+ value is true, while in chrome the default boolean value is
+ false. */
+ [Throws]
+ undefined addEventListener(DOMString type,
+ EventListener listener,
+ optional (AddEventListenerOptions or boolean) options,
+ optional boolean? wantsUntrusted = null);
+ [Throws]
+ undefined removeEventListener(DOMString type,
+ EventListener listener,
+ optional (EventListenerOptions or boolean) options);
+ [Throws, NeedsCallerType]
+ boolean dispatchEvent(Event event);
+};
diff --git a/vendor/web-sys/webidls/enabled/ExtendableEvent.webidl b/vendor/web-sys/webidls/enabled/ExtendableEvent.webidl
new file mode 100644
index 000000000..c8cd855fc
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ExtendableEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ */
+
+[Constructor(DOMString type, optional ExtendableEventInit eventInitDict),
+ Exposed=ServiceWorker]
+interface ExtendableEvent : Event {
+ // https://github.com/slightlyoff/ServiceWorker/issues/261
+ [Throws]
+ undefined waitUntil(Promise<any> p);
+};
+
+dictionary ExtendableEventInit : EventInit {
+ // Defined for the forward compatibility across the derived events
+};
diff --git a/vendor/web-sys/webidls/enabled/ExtendableMessageEvent.webidl b/vendor/web-sys/webidls/enabled/ExtendableMessageEvent.webidl
new file mode 100644
index 000000000..b2bdf6792
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ExtendableMessageEvent.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * https://w3c.github.io/ServiceWorker/#extendablemessage-event-section
+ */
+
+[Constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict),
+ Exposed=(ServiceWorker)]
+interface ExtendableMessageEvent : ExtendableEvent {
+ /**
+ * Custom data associated with this event.
+ */
+ [GetterThrows]
+ readonly attribute any data;
+
+ /**
+ * The origin of the site from which this event originated.
+ */
+ readonly attribute DOMString origin;
+
+ /**
+ * The last event ID string of the event source.
+ */
+ readonly attribute DOMString lastEventId;
+
+ /**
+ * The client, service worker or port which originated this event.
+ */
+ readonly attribute (Client or ServiceWorker or MessagePort)? source;
+
+ [Constant, Cached, Frozen]
+ readonly attribute sequence<MessagePort> ports;
+};
+
+dictionary ExtendableMessageEventInit : ExtendableEventInit {
+ any data = null;
+ DOMString origin = "";
+ DOMString lastEventId = "";
+ (Client or ServiceWorker or MessagePort)? source = null;
+ sequence<MessagePort> ports = [];
+};
diff --git a/vendor/web-sys/webidls/enabled/External.webidl b/vendor/web-sys/webidls/enabled/External.webidl
new file mode 100644
index 000000000..0b75af6a7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/External.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ */
+
+[NoInterfaceObject, JSImplementation="@mozilla.org/sidebar;1"]
+interface External
+{
+ undefined AddSearchProvider(DOMString aDescriptionURL);
+ unsigned long IsSearchProviderInstalled(DOMString aSearchURL);
+};
diff --git a/vendor/web-sys/webidls/enabled/FakePluginTagInit.webidl b/vendor/web-sys/webidls/enabled/FakePluginTagInit.webidl
new file mode 100644
index 000000000..714be8750
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FakePluginTagInit.webidl
@@ -0,0 +1,48 @@
+/* -*- 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/.
+ */
+
+/**
+ * A fake plugin is fundamentally identified by its handlerURI.
+ *
+ * In addition to that, a fake plugin registration needs to provide at least one
+ * FakePluginMimeEntry so we'll know what types(s) the plugin is registered for.
+ * Other information is optional, though having usable niceName is highly
+ * recommended.
+ */
+dictionary FakePluginTagInit {
+ required DOMString handlerURI;
+ required sequence<FakePluginMimeEntry> mimeEntries;
+
+ // The niceName should really be provided, and be unique, if possible; it can
+ // be used as a key to persist state for this plug-in.
+ DOMString niceName = "";
+
+ // Other things can be provided but don't really matter that much.
+ DOMString fullPath = "";
+ DOMString name = "";
+ DOMString description = "";
+ DOMString fileName = "";
+ DOMString version = "";
+
+ /**
+ * Optional script to run in a sandbox when instantiating a plugin. The script
+ * runs in a sandbox with system principal in the process that contains the
+ * element that instantiates the plugin (ie the EMBED or OBJECT element). The
+ * sandbox global has a 'pluginElement' property that the script can use to
+ * access the element that instantiates the plugin.
+ */
+ DOMString sandboxScript = "";
+};
+
+/**
+ * A single MIME entry for the fake plugin.
+ */
+dictionary FakePluginMimeEntry {
+ required DOMString type;
+ DOMString description = "";
+ DOMString extension = "";
+};
+
diff --git a/vendor/web-sys/webidls/enabled/Fetch.webidl b/vendor/web-sys/webidls/enabled/Fetch.webidl
new file mode 100644
index 000000000..056b15f9d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Fetch.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://fetch.spec.whatwg.org/
+ */
+
+typedef object JSON;
+typedef (Blob or BufferSource or FormData or URLSearchParams or USVString or ReadableStream) BodyInit;
+
+[Exposed=(Window,Worker)]
+interface mixin Body {
+ readonly attribute boolean bodyUsed;
+ [Throws]
+ Promise<ArrayBuffer> arrayBuffer();
+ [Throws]
+ Promise<Blob> blob();
+ [Throws]
+ Promise<FormData> formData();
+ [Throws]
+ Promise<JSON> json();
+ [Throws]
+ Promise<USVString> text();
+ readonly attribute ReadableStream? body;
+};
+
+// These are helper dictionaries for the parsing of a
+// getReader().read().then(data) parsing.
+// See more about how these 2 helpers are used in
+// dom/fetch/FetchStreamReader.cpp
+dictionary FetchReadableStreamReadDataDone {
+ boolean done = false;
+};
+
+dictionary FetchReadableStreamReadDataArray {
+ Uint8Array value;
+};
diff --git a/vendor/web-sys/webidls/enabled/FetchEvent.webidl b/vendor/web-sys/webidls/enabled/FetchEvent.webidl
new file mode 100644
index 000000000..3e1e486c0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FetchEvent.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ */
+
+[Constructor(DOMString type, FetchEventInit eventInitDict),
+ Func="ServiceWorkerVisible",
+ Exposed=(ServiceWorker)]
+interface FetchEvent : ExtendableEvent {
+ [SameObject] readonly attribute Request request;
+ readonly attribute DOMString? clientId;
+ readonly attribute boolean isReload;
+
+ [Throws]
+ undefined respondWith(Promise<Response> r);
+};
+
+dictionary FetchEventInit : EventInit {
+ required Request request;
+ DOMString? clientId = null;
+ boolean isReload = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/FetchObserver.webidl b/vendor/web-sys/webidls/enabled/FetchObserver.webidl
new file mode 100644
index 000000000..5bdb78325
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FetchObserver.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ */
+
+callback interface ObserverCallback {
+ undefined handleEvent(FetchObserver observer);
+};
+
+enum FetchState {
+ // Pending states
+ "requesting", "responding",
+ // Final states
+ "aborted", "errored", "complete"
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::DOMPrefs::FetchObserverEnabled"]
+interface FetchObserver : EventTarget {
+ readonly attribute FetchState state;
+
+ // Events
+ attribute EventHandler onstatechange;
+ attribute EventHandler onrequestprogress;
+ attribute EventHandler onresponseprogress;
+};
diff --git a/vendor/web-sys/webidls/enabled/File.webidl b/vendor/web-sys/webidls/enabled/File.webidl
new file mode 100644
index 000000000..5f612aaeb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/File.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/FileAPI/#file
+ */
+
+// invalid widl
+//interface nsIFile;
+
+[Constructor(sequence<BlobPart> fileBits,
+ USVString fileName, optional FilePropertyBag options),
+ Exposed=(Window,Worker)]
+interface File : Blob {
+ readonly attribute DOMString name;
+
+ [GetterThrows]
+ readonly attribute long long lastModified;
+};
+
+dictionary FilePropertyBag {
+ DOMString type = "";
+ long long lastModified;
+};
+
+dictionary ChromeFilePropertyBag : FilePropertyBag {
+ DOMString name = "";
+ boolean existenceCheck = true;
+};
diff --git a/vendor/web-sys/webidls/enabled/FileList.webidl b/vendor/web-sys/webidls/enabled/FileList.webidl
new file mode 100644
index 000000000..5e4590347
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileList.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2006/webapi/FileAPI/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker)]
+interface FileList {
+ getter File? item(unsigned long index);
+ readonly attribute unsigned long length;
+};
diff --git a/vendor/web-sys/webidls/enabled/FileReader.webidl b/vendor/web-sys/webidls/enabled/FileReader.webidl
new file mode 100644
index 000000000..d93437bc6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileReader.webidl
@@ -0,0 +1,50 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/FileAPI/#APIASynch
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor,
+ Exposed=(Window,Worker,System)]
+interface FileReader : EventTarget {
+ // async read methods
+ [Throws]
+ undefined readAsArrayBuffer(Blob blob);
+ [Throws]
+ undefined readAsBinaryString(Blob filedata);
+ [Throws]
+ undefined readAsText(Blob blob, optional DOMString label);
+ [Throws]
+ undefined readAsDataURL(Blob blob);
+
+ undefined abort();
+
+ // states
+ const unsigned short EMPTY = 0;
+ const unsigned short LOADING = 1;
+ const unsigned short DONE = 2;
+
+
+ readonly attribute unsigned short readyState;
+
+ // File or Blob data
+ // bug 858217: readonly attribute (DOMString or ArrayBuffer)? result;
+ [Throws]
+ readonly attribute any result;
+
+ readonly attribute DOMException? error;
+
+ // event handler attributes
+ attribute EventHandler onloadstart;
+ attribute EventHandler onprogress;
+ attribute EventHandler onload;
+ attribute EventHandler onabort;
+ attribute EventHandler onerror;
+ attribute EventHandler onloadend;
+};
diff --git a/vendor/web-sys/webidls/enabled/FileReaderSync.webidl b/vendor/web-sys/webidls/enabled/FileReaderSync.webidl
new file mode 100644
index 000000000..6628794f2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileReaderSync.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2006/webapi/FileAPI/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor,
+ Exposed=(DedicatedWorker,SharedWorker)]
+interface FileReaderSync {
+
+ // Synchronously return strings
+
+ [Throws]
+ ArrayBuffer readAsArrayBuffer(Blob blob);
+ [Throws]
+ DOMString readAsBinaryString(Blob blob);
+ [Throws]
+ DOMString readAsText(Blob blob, optional DOMString encoding);
+ [Throws]
+ DOMString readAsDataURL(Blob blob);
+};
diff --git a/vendor/web-sys/webidls/enabled/FileSystem.webidl b/vendor/web-sys/webidls/enabled/FileSystem.webidl
new file mode 100644
index 000000000..fe26000f6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileSystem.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ */
+
+
+dictionary FileSystemFlags {
+ boolean create = false;
+ boolean exclusive = false;
+};
+
+callback interface FileSystemEntryCallback {
+ undefined handleEvent(FileSystemEntry entry);
+};
+
+callback interface VoidCallback {
+ undefined handleEvent();
+};
+
+callback interface ErrorCallback {
+ undefined handleEvent(DOMException err);
+};
+
+interface FileSystem {
+ readonly attribute USVString name;
+ readonly attribute FileSystemDirectoryEntry root;
+};
diff --git a/vendor/web-sys/webidls/enabled/FileSystemDirectoryEntry.webidl b/vendor/web-sys/webidls/enabled/FileSystemDirectoryEntry.webidl
new file mode 100644
index 000000000..e233e31a1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileSystemDirectoryEntry.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ */
+
+interface FileSystemDirectoryEntry : FileSystemEntry {
+ FileSystemDirectoryReader createReader();
+
+ undefined getFile(optional USVString? path,
+ optional FileSystemFlags options,
+ optional FileSystemEntryCallback successCallback,
+ optional ErrorCallback errorCallback);
+
+ undefined getDirectory(optional USVString? path,
+ optional FileSystemFlags options,
+ optional FileSystemEntryCallback successCallback,
+ optional ErrorCallback errorCallback);
+};
diff --git a/vendor/web-sys/webidls/enabled/FileSystemDirectoryReader.webidl b/vendor/web-sys/webidls/enabled/FileSystemDirectoryReader.webidl
new file mode 100644
index 000000000..8f09c7bf7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileSystemDirectoryReader.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ */
+
+callback interface FileSystemEntriesCallback {
+ undefined handleEvent(sequence<FileSystemEntry> entries);
+};
+
+interface FileSystemDirectoryReader {
+
+ // readEntries can be called just once. The second time it returns no data.
+
+ [Throws]
+ undefined readEntries(FileSystemEntriesCallback successCallback,
+ optional ErrorCallback errorCallback);
+};
diff --git a/vendor/web-sys/webidls/enabled/FileSystemEntry.webidl b/vendor/web-sys/webidls/enabled/FileSystemEntry.webidl
new file mode 100644
index 000000000..5a8d2bc8d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileSystemEntry.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ */
+
+interface FileSystemEntry {
+ readonly attribute boolean isFile;
+ readonly attribute boolean isDirectory;
+
+ [GetterThrows]
+ readonly attribute USVString name;
+
+ [GetterThrows]
+ readonly attribute USVString fullPath;
+
+ readonly attribute FileSystem filesystem;
+
+ undefined getParent(optional FileSystemEntryCallback successCallback,
+ optional ErrorCallback errorCallback);
+};
diff --git a/vendor/web-sys/webidls/enabled/FileSystemFileEntry.webidl b/vendor/web-sys/webidls/enabled/FileSystemFileEntry.webidl
new file mode 100644
index 000000000..ac13573f6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FileSystemFileEntry.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ */
+
+callback interface FileCallback {
+ undefined handleEvent(File file);
+};
+
+interface FileSystemFileEntry : FileSystemEntry {
+ [BinaryName="GetFile"]
+ undefined file (FileCallback successCallback,
+ optional ErrorCallback errorCallback);
+};
diff --git a/vendor/web-sys/webidls/enabled/Flex.webidl b/vendor/web-sys/webidls/enabled/Flex.webidl
new file mode 100644
index 000000000..58c713630
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Flex.webidl
@@ -0,0 +1,54 @@
+/* -*- 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/.
+ */
+
+/**
+ * These objects support visualization of flex containers by the
+ * dev tools.
+ */
+
+[ChromeOnly]
+interface Flex
+{
+ sequence<FlexLine> getLines();
+};
+
+/**
+ * Lines with items that have been shrunk are shrinking; with items
+ * that have grown are growing, and all others are unchanged.
+ */
+enum FlexLineGrowthState { "unchanged", "shrinking", "growing" };
+
+[ChromeOnly]
+interface FlexLine
+{
+ readonly attribute FlexLineGrowthState growthState;
+ readonly attribute double crossStart;
+ readonly attribute double crossSize;
+
+ // firstBaselineOffset measures from flex-start edge.
+ readonly attribute double firstBaselineOffset;
+
+ // lastBaselineOffset measures from flex-end edge.
+ readonly attribute double lastBaselineOffset;
+
+ /**
+ * getItems() returns FlexItems only for the Elements in this Flex
+ * container -- ignoring struts and abs-pos Elements.
+ */
+ sequence<FlexItem> getItems();
+};
+
+[ChromeOnly]
+interface FlexItem
+{
+ readonly attribute Node? node;
+ readonly attribute double mainBaseSize;
+ readonly attribute double mainDeltaSize;
+ readonly attribute double mainMinSize;
+ readonly attribute double mainMaxSize;
+ readonly attribute double crossMinSize;
+ readonly attribute double crossMaxSize;
+};
diff --git a/vendor/web-sys/webidls/enabled/FocusEvent.webidl b/vendor/web-sys/webidls/enabled/FocusEvent.webidl
new file mode 100644
index 000000000..52a2f1fde
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FocusEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString typeArg, optional FocusEventInit focusEventInitDict)]
+interface FocusEvent : UIEvent {
+ // Introduced in DOM Level 3:
+ readonly attribute EventTarget? relatedTarget;
+};
+
+dictionary FocusEventInit : UIEventInit {
+ EventTarget? relatedTarget = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/FontFace.webidl b/vendor/web-sys/webidls/enabled/FontFace.webidl
new file mode 100644
index 000000000..5705f5d8d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FontFace.webidl
@@ -0,0 +1,52 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-font-loading/#fontface-interface
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+typedef (ArrayBuffer or ArrayBufferView) BinaryData;
+
+dictionary FontFaceDescriptors {
+ DOMString style = "normal";
+ DOMString weight = "normal";
+ DOMString stretch = "normal";
+ DOMString unicodeRange = "U+0-10FFFF";
+ DOMString variant = "normal";
+ DOMString featureSettings = "normal";
+ DOMString variationSettings = "normal";
+ DOMString display = "auto";
+};
+
+enum FontFaceLoadStatus { "unloaded", "loading", "loaded", "error" };
+
+// Bug 1072107 is for exposing this in workers.
+// [Exposed=(Window,Worker)]
+[Constructor(DOMString family,
+ (DOMString or BinaryData) source,
+ optional FontFaceDescriptors descriptors),
+ Pref="layout.css.font-loading-api.enabled"]
+interface FontFace {
+ [SetterThrows] attribute DOMString family;
+ [SetterThrows] attribute DOMString style;
+ [SetterThrows] attribute DOMString weight;
+ [SetterThrows] attribute DOMString stretch;
+ [SetterThrows] attribute DOMString unicodeRange;
+ [SetterThrows] attribute DOMString variant;
+ [SetterThrows] attribute DOMString featureSettings;
+ [SetterThrows, Pref="layout.css.font-variations.enabled"] attribute DOMString variationSettings;
+ [SetterThrows, Pref="layout.css.font-display.enabled"] attribute DOMString display;
+
+ readonly attribute FontFaceLoadStatus status;
+
+ [Throws]
+ Promise<FontFace> load();
+
+ [Throws]
+ readonly attribute Promise<FontFace> loaded;
+};
diff --git a/vendor/web-sys/webidls/enabled/FontFaceSet.webidl b/vendor/web-sys/webidls/enabled/FontFaceSet.webidl
new file mode 100644
index 000000000..7ed9435f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FontFaceSet.webidl
@@ -0,0 +1,64 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// To implement FontFaceSet's iterator until we can use setlike.
+dictionary FontFaceSetIteratorResult
+{
+ required any value;
+ required boolean done;
+};
+
+// To implement FontFaceSet's iterator until we can use setlike.
+[NoInterfaceObject]
+interface FontFaceSetIterator {
+ [Throws] FontFaceSetIteratorResult next();
+};
+
+callback FontFaceSetForEachCallback = undefined (FontFace value, FontFace key, FontFaceSet set);
+
+enum FontFaceSetLoadStatus { "loading", "loaded" };
+
+// Bug 1072762 is for the FontFaceSet constructor.
+// [Constructor(sequence<FontFace> initialFaces)]
+[Pref="layout.css.font-loading-api.enabled"]
+interface FontFaceSet : EventTarget {
+
+ // Emulate setlike behavior until we can use that directly.
+ readonly attribute unsigned long size;
+ [Throws] undefined add(FontFace font);
+ boolean has(FontFace font);
+ boolean delete(FontFace font);
+ undefined clear();
+ [NewObject] FontFaceSetIterator entries();
+ // Iterator keys();
+ [NewObject, Alias=keys, Alias="@@iterator"] FontFaceSetIterator values();
+ [Throws] undefined forEach(FontFaceSetForEachCallback cb, optional any thisArg);
+
+ // -- events for when loading state changes
+ attribute EventHandler onloading;
+ attribute EventHandler onloadingdone;
+ attribute EventHandler onloadingerror;
+
+ // check and start loads if appropriate
+ // and fulfill promise when all loads complete
+ [NewObject] Promise<sequence<FontFace>> load(DOMString font, optional DOMString text = " ");
+
+ // return whether all fonts in the fontlist are loaded
+ // (does not initiate load if not available)
+ [Throws] boolean check(DOMString font, optional DOMString text = " ");
+
+ // async notification that font loading and layout operations are done
+ [Throws] readonly attribute Promise<undefined> ready;
+
+ // loading state, "loading" while one or more fonts loading, "loaded" otherwise
+ readonly attribute FontFaceSetLoadStatus status;
+};
diff --git a/vendor/web-sys/webidls/enabled/FontFaceSetLoadEvent.webidl b/vendor/web-sys/webidls/enabled/FontFaceSetLoadEvent.webidl
new file mode 100644
index 000000000..fee0f3068
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FontFaceSetLoadEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary FontFaceSetLoadEventInit : EventInit {
+ sequence<FontFace> fontfaces = [];
+};
+
+[Constructor(DOMString type, optional FontFaceSetLoadEventInit eventInitDict),
+ Pref="layout.css.font-loading-api.enabled"]
+interface FontFaceSetLoadEvent : Event {
+ [Cached, Constant, Frozen] readonly attribute sequence<FontFace> fontfaces;
+};
diff --git a/vendor/web-sys/webidls/enabled/FontFaceSource.webidl b/vendor/web-sys/webidls/enabled/FontFaceSource.webidl
new file mode 100644
index 000000000..54f368611
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FontFaceSource.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/css-font-loading/#font-face-source
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin FontFaceSource {
+ [Pref="layout.css.font-loading-api.enabled"]
+ readonly attribute FontFaceSet fonts;
+};
diff --git a/vendor/web-sys/webidls/enabled/FormData.webidl b/vendor/web-sys/webidls/enabled/FormData.webidl
new file mode 100644
index 000000000..e4f842e3e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FormData.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://xhr.spec.whatwg.org
+ */
+
+typedef (Blob or Directory or USVString) FormDataEntryValue;
+
+[Constructor(optional HTMLFormElement form),
+ Exposed=(Window,Worker)]
+interface FormData {
+ [Throws]
+ undefined append(USVString name, Blob value, optional USVString filename);
+ [Throws]
+ undefined append(USVString name, USVString value);
+ undefined delete(USVString name);
+ FormDataEntryValue? get(USVString name);
+ sequence<FormDataEntryValue> getAll(USVString name);
+ boolean has(USVString name);
+ [Throws]
+ undefined set(USVString name, Blob value, optional USVString filename);
+ [Throws]
+ undefined set(USVString name, USVString value);
+ iterable<USVString, FormDataEntryValue>;
+};
diff --git a/vendor/web-sys/webidls/enabled/FrameLoader.webidl b/vendor/web-sys/webidls/enabled/FrameLoader.webidl
new file mode 100644
index 000000000..7cf40f225
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FrameLoader.webidl
@@ -0,0 +1,219 @@
+/* -*- 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 LoadContext;
+//interface TabParent;
+//interface URI;
+//interface nsIDocShell;
+//interface nsIPrintSettings;
+//interface nsIWebBrowserPersistDocumentReceiver;
+//interface nsIWebProgressListener;
+
+[ChromeOnly]
+interface FrameLoader {
+ /**
+ * Get the docshell from the frame loader.
+ */
+ [GetterThrows]
+ readonly attribute nsIDocShell? docShell;
+
+ /**
+ * Get this frame loader's TabParent, if it has a remote frame. Otherwise,
+ * returns null.
+ */
+ readonly attribute TabParent? tabParent;
+
+ /**
+ * Get an nsILoadContext for the top-level docshell. For remote
+ * frames, a shim is returned that contains private browsing and app
+ * information.
+ */
+ readonly attribute LoadContext loadContext;
+
+ /**
+ * Get the ParentSHistory for the nsFrameLoader. May return null if this
+ * frameloader is not for a toplevel frame.
+ */
+ readonly attribute ParentSHistory? parentSHistory;
+
+ /**
+ * Adds a blocking promise for the current cross process navigation.
+ * This method can only be called while the "BrowserWillChangeProcess" event
+ * is being fired.
+ */
+ [Throws]
+ undefined addProcessChangeBlockingPromise(Promise<any> aPromise);
+
+ /**
+ * Find out whether the loader's frame is at too great a depth in
+ * the frame tree. This can be used to decide what operations may
+ * or may not be allowed on the loader's docshell.
+ */
+ [Pure]
+ readonly attribute boolean depthTooGreat;
+
+ /**
+ * Activate remote frame.
+ * Throws an exception with non-remote frames.
+ */
+ [Throws]
+ undefined activateRemoteFrame();
+
+ /**
+ * Deactivate remote frame.
+ * Throws an exception with non-remote frames.
+ */
+ [Throws]
+ undefined deactivateRemoteFrame();
+
+ /**
+ * @see nsIDOMWindowUtils sendMouseEvent.
+ */
+ [Throws]
+ undefined sendCrossProcessMouseEvent(DOMString aType,
+ float aX,
+ float aY,
+ long aButton,
+ long aClickCount,
+ long aModifiers,
+ optional boolean aIgnoreRootScrollFrame = false);
+
+ /**
+ * Activate event forwarding from client (remote frame) to parent.
+ */
+ [Throws]
+ undefined activateFrameEvent(DOMString aType, boolean capture);
+
+ // Note, when frameloaders are swapped, also messageManagers are swapped.
+ readonly attribute MessageSender? messageManager;
+
+ /**
+ * Request that the next time a remote layer transaction has been
+ * received by the Compositor, a MozAfterRemoteFrame event be sent
+ * to the window.
+ */
+ undefined requestNotifyAfterRemotePaint();
+
+ /**
+ * Close the window through the ownerElement.
+ */
+ [Throws]
+ undefined requestFrameLoaderClose();
+
+ /**
+ * Force a remote browser to recompute its dimension and screen position.
+ */
+ [Throws]
+ undefined requestUpdatePosition();
+
+ /**
+ * Print the current document.
+ *
+ * @param aOuterWindowID the ID of the outer window to print
+ * @param aPrintSettings optional print settings to use; printSilent can be
+ * set to prevent prompting.
+ * @param aProgressListener optional print progress listener.
+ */
+ [Throws]
+ undefined print(unsigned long long aOuterWindowID,
+ nsIPrintSettings aPrintSettings,
+ optional nsIWebProgressListener? aProgressListener = null);
+
+ /**
+ * If false, then the subdocument is not clipped to its CSS viewport, and the
+ * subdocument's viewport scrollbar(s) are not rendered.
+ * Defaults to true.
+ */
+ attribute boolean clipSubdocument;
+
+ /**
+ * If false, then the subdocument's scroll coordinates will not be clamped
+ * to their scroll boundaries.
+ * Defaults to true.
+ */
+ attribute boolean clampScrollPosition;
+
+ /**
+ * The element which owns this frame loader.
+ *
+ * For example, if this is a frame loader for an <iframe>, this attribute
+ * returns the iframe element.
+ */
+ [Pure]
+ readonly attribute Element? ownerElement;
+
+
+ /**
+ * Cached childID of the ContentParent owning the TabParent in this frame
+ * loader. This can be used to obtain the childID after the TabParent died.
+ */
+ [Pure]
+ readonly attribute unsigned long long childID;
+
+ /**
+ * Find out whether the owner content really is a mozbrowser. <xul:browser>
+ * is not considered to be a mozbrowser frame.
+ */
+ [Pure]
+ readonly attribute boolean ownerIsMozBrowserFrame;
+
+ /**
+ * The last known width of the frame. Reading this property will not trigger
+ * a reflow, and therefore may not reflect the current state of things. It
+ * should only be used in asynchronous APIs where values are not guaranteed
+ * to be up-to-date when received.
+ */
+ [Pure]
+ readonly attribute unsigned long lazyWidth;
+
+ /**
+ * The last known height of the frame. Reading this property will not trigger
+ * a reflow, and therefore may not reflect the current state of things. It
+ * should only be used in asynchronous APIs where values are not guaranteed
+ * to be up-to-date when received.
+ */
+ [Pure]
+ readonly attribute unsigned long lazyHeight;
+
+ /**
+ * Is `true` if the frameloader is dead (destroy has been called on it)
+ */
+ [Pure]
+ readonly attribute boolean isDead;
+};
+
+/**
+ * Interface for objects which represent a document that can be
+ * serialized with nsIWebBrowserPersist. This interface is
+ * asynchronous because the actual document can be in another process
+ * (e.g., if this object is a FrameLoader for an out-of-process
+ * frame).
+ *
+ * XXXbz This method should really just return a Promise...
+ *
+ * @see nsIWebBrowserPersistDocumentReceiver
+ * @see nsIWebBrowserPersistDocument
+ * @see nsIWebBrowserPersist
+ *
+ * @param aOuterWindowID
+ * The outer window ID of the subframe we'd like to persist.
+ * If set at 0, WebBrowserPersistable will attempt to persist
+ * the top-level document. If the outer window ID is for a subframe
+ * that does not exist, or is not held beneath the WebBrowserPersistable,
+ * aRecv's onError method will be called with NS_ERROR_NO_CONTENT.
+ * @param aRecv
+ * The nsIWebBrowserPersistDocumentReceiver is a callback that
+ * will be fired once the document is ready for persisting.
+ */
+interface mixin WebBrowserPersistable
+{
+ [Throws]
+ undefined startPersistence(unsigned long long aOuterWindowID,
+ nsIWebBrowserPersistDocumentReceiver aRecv);
+};
+
+FrameLoader includes WebBrowserPersistable;
diff --git a/vendor/web-sys/webidls/enabled/Function.webidl b/vendor/web-sys/webidls/enabled/Function.webidl
new file mode 100644
index 000000000..1abc47d4a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Function.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#functiocn
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+callback Function = any(any... arguments);
+
+callback VoidFunction = undefined ();
diff --git a/vendor/web-sys/webidls/enabled/FuzzingFunctions.webidl b/vendor/web-sys/webidls/enabled/FuzzingFunctions.webidl
new file mode 100644
index 000000000..3fc7d22ca
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/FuzzingFunctions.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ */
+
+/*
+ * Various functions useful for automated fuzzing that are enabled
+ * only in --enable-fuzzing builds, because they may be dangerous to
+ * enable on untrusted pages.
+*/
+
+[Pref="fuzzing.enabled"]
+interface FuzzingFunctions {
+ /**
+ * Synchronously perform a garbage collection.
+ */
+ static undefined garbageCollect();
+
+ /**
+ * Synchronously perform a cycle collection.
+ */
+ static undefined cycleCollect();
+
+ /**
+ * Enable accessibility.
+ */
+ [Throws]
+ static undefined enableAccessibility();
+};
diff --git a/vendor/web-sys/webidls/enabled/GainNode.webidl b/vendor/web-sys/webidls/enabled/GainNode.webidl
new file mode 100644
index 000000000..c62417abf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GainNode.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary GainOptions : AudioNodeOptions {
+ float gain = 1.0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional GainOptions options)]
+interface GainNode : AudioNode {
+
+ readonly attribute AudioParam gain;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/Gamepad.webidl b/vendor/web-sys/webidls/enabled/Gamepad.webidl
new file mode 100644
index 000000000..480f94696
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Gamepad.webidl
@@ -0,0 +1,99 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/gamepad/
+ * https://w3c.github.io/gamepad/extensions.html
+ * https://w3c.github.io/webvr/spec/1.1/#interface-gamepad
+ */
+
+[Pref="dom.gamepad.enabled"]
+interface GamepadButton {
+ readonly attribute boolean pressed;
+ readonly attribute boolean touched;
+ readonly attribute double value;
+};
+
+enum GamepadHand {
+ "",
+ "left",
+ "right"
+};
+
+enum GamepadMappingType {
+ "",
+ "standard"
+};
+
+[Pref="dom.gamepad.enabled"]
+interface Gamepad {
+ /**
+ * An identifier, unique per type of device.
+ */
+ readonly attribute DOMString id;
+
+ /**
+ * The game port index for the device. Unique per device
+ * attached to this system.
+ */
+ readonly attribute unsigned long index;
+
+ /**
+ * The mapping in use for this device. The empty string
+ * indicates that no mapping is in use.
+ */
+ readonly attribute GamepadMappingType mapping;
+
+ /**
+ * The hand in use for this device. The empty string
+ * indicates that unknown, both hands, or not applicable
+ */
+ [Pref="dom.gamepad.extensions.enabled"]
+ readonly attribute GamepadHand hand;
+
+ /**
+ * The displayId in use for as an association point in the VRDisplay API
+ * to identify which VRDisplay that the gamepad is associated with.
+ */
+ [Pref="dom.vr.enabled"]
+ readonly attribute unsigned long displayId;
+
+ /**
+ * true if this gamepad is currently connected to the system.
+ */
+ readonly attribute boolean connected;
+
+ /**
+ * The current state of all buttons on the device, an
+ * array of GamepadButton.
+ */
+ [Pure, Cached, Frozen]
+ readonly attribute sequence<GamepadButton> buttons;
+
+ /**
+ * The current position of all axes on the device, an
+ * array of doubles.
+ */
+ [Pure, Cached, Frozen]
+ readonly attribute sequence<double> axes;
+
+ /**
+ * Timestamp from when the data of this device was last updated.
+ */
+ readonly attribute DOMHighResTimeStamp timestamp;
+
+ /**
+ * The current pose of the device, a GamepadPose.
+ */
+ [Pref="dom.gamepad.extensions.enabled"]
+ readonly attribute GamepadPose? pose;
+
+ /**
+ * The current haptic actuator of the device, an array of
+ * GamepadHapticActuator.
+ */
+ [Constant, Cached, Frozen, Pref="dom.gamepad.extensions.enabled"]
+ readonly attribute sequence<GamepadHapticActuator> hapticActuators;
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadAxisMoveEvent.webidl b/vendor/web-sys/webidls/enabled/GamepadAxisMoveEvent.webidl
new file mode 100644
index 000000000..7699674b4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadAxisMoveEvent.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ */
+
+[Pref="dom.gamepad.non_standard_events.enabled",
+ Constructor(DOMString type, optional GamepadAxisMoveEventInit eventInitDict)]
+interface GamepadAxisMoveEvent : GamepadEvent
+{
+ readonly attribute unsigned long axis;
+ readonly attribute double value;
+};
+
+dictionary GamepadAxisMoveEventInit : GamepadEventInit
+{
+ unsigned long axis = 0;
+ double value = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadButtonEvent.webidl b/vendor/web-sys/webidls/enabled/GamepadButtonEvent.webidl
new file mode 100644
index 000000000..b8a9e086b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadButtonEvent.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+[Pref="dom.gamepad.non_standard_events.enabled",
+ Constructor(DOMString type, optional GamepadButtonEventInit eventInitDict)]
+interface GamepadButtonEvent : GamepadEvent
+{
+ readonly attribute unsigned long button;
+};
+
+dictionary GamepadButtonEventInit : GamepadEventInit
+{
+ unsigned long button = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadEvent.webidl b/vendor/web-sys/webidls/enabled/GamepadEvent.webidl
new file mode 100644
index 000000000..f4c3092ac
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadEvent.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+[Pref="dom.gamepad.enabled",
+ Constructor(DOMString type, optional GamepadEventInit eventInitDict)]
+interface GamepadEvent : Event
+{
+ readonly attribute Gamepad? gamepad;
+};
+
+dictionary GamepadEventInit : EventInit
+{
+ Gamepad? gamepad = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadHapticActuator.webidl b/vendor/web-sys/webidls/enabled/GamepadHapticActuator.webidl
new file mode 100644
index 000000000..9255debe3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadHapticActuator.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/gamepad/extensions.html#gamepadhapticactuator-interface
+ */
+
+enum GamepadHapticActuatorType {
+ "vibration"
+};
+
+[Pref="dom.gamepad.extensions.enabled",
+ HeaderFile="mozilla/dom/GamepadHapticActuator.h"]
+interface GamepadHapticActuator
+{
+ readonly attribute GamepadHapticActuatorType type;
+ [Throws, NewObject]
+ Promise<boolean> pulse(double value, double duration);
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadPose.webidl b/vendor/web-sys/webidls/enabled/GamepadPose.webidl
new file mode 100644
index 000000000..4bc208698
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadPose.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/gamepad/extensions.html#gamepadpose-interface
+ */
+
+[Pref="dom.gamepad.extensions.enabled"]
+interface GamepadPose
+{
+ readonly attribute boolean hasOrientation;
+ readonly attribute boolean hasPosition;
+
+ /**
+ * position, linearVelocity, and linearAcceleration are 3-component vectors.
+ * position is relative to a sitting space. Transforming this point with
+ * VRStageParameters.sittingToStandingTransform converts this to standing space.
+ */
+ [Constant, Throws] readonly attribute Float32Array? position;
+ [Constant, Throws] readonly attribute Float32Array? linearVelocity;
+ [Constant, Throws] readonly attribute Float32Array? linearAcceleration;
+
+ /* orientation is a 4-entry array representing the components of a quaternion. */
+ [Constant, Throws] readonly attribute Float32Array? orientation;
+ /* angularVelocity and angularAcceleration are the components of 3-dimensional vectors. */
+ [Constant, Throws] readonly attribute Float32Array? angularVelocity;
+ [Constant, Throws] readonly attribute Float32Array? angularAcceleration;
+};
diff --git a/vendor/web-sys/webidls/enabled/GamepadServiceTest.webidl b/vendor/web-sys/webidls/enabled/GamepadServiceTest.webidl
new file mode 100644
index 000000000..bebce4de1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GamepadServiceTest.webidl
@@ -0,0 +1,45 @@
+/* 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/. */
+
+[Pref="dom.gamepad.test.enabled"]
+interface GamepadServiceTest
+{
+ readonly attribute GamepadMappingType noMapping;
+ readonly attribute GamepadMappingType standardMapping;
+ readonly attribute GamepadHand noHand;
+ readonly attribute GamepadHand leftHand;
+ readonly attribute GamepadHand rightHand;
+
+ [Throws]
+ Promise<unsigned long> addGamepad(DOMString id,
+ GamepadMappingType mapping,
+ GamepadHand hand,
+ unsigned long numButtons,
+ unsigned long numAxes,
+ unsigned long numHaptics);
+
+ undefined removeGamepad(unsigned long index);
+
+ undefined newButtonEvent(unsigned long index,
+ unsigned long button,
+ boolean pressed,
+ boolean touched);
+
+ undefined newButtonValueEvent(unsigned long index,
+ unsigned long button,
+ boolean pressed,
+ boolean touched,
+ double value);
+
+ undefined newAxisMoveEvent(unsigned long index,
+ unsigned long axis,
+ double value);
+ undefined newPoseMove(unsigned long index,
+ Float32Array? orient,
+ Float32Array? pos,
+ Float32Array? angVelocity,
+ Float32Array? angAcceleration,
+ Float32Array? linVelocity,
+ Float32Array? linAcceleration);
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/enabled/Geolocation.webidl b/vendor/web-sys/webidls/enabled/Geolocation.webidl
new file mode 100644
index 000000000..fd1dd2ed8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Geolocation.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/geolocation-API
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary PositionOptions {
+ boolean enableHighAccuracy = false;
+ [Clamp] unsigned long timeout = 0x7fffffff;
+ [Clamp] unsigned long maximumAge = 0;
+};
+
+[NoInterfaceObject]
+interface Geolocation {
+ [Throws, NeedsCallerType]
+ undefined getCurrentPosition(PositionCallback successCallback,
+ optional PositionErrorCallback? errorCallback = null,
+ optional PositionOptions options);
+
+ [Throws, NeedsCallerType]
+ long watchPosition(PositionCallback successCallback,
+ optional PositionErrorCallback? errorCallback = null,
+ optional PositionOptions options);
+
+ undefined clearWatch(long watchId);
+};
+
+callback PositionCallback = undefined (Position position);
+
+callback PositionErrorCallback = undefined (PositionError positionError);
diff --git a/vendor/web-sys/webidls/enabled/GeometryUtils.webidl b/vendor/web-sys/webidls/enabled/GeometryUtils.webidl
new file mode 100644
index 000000000..0eda05c6b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GeometryUtils.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/cssom-view/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum CSSBoxType { "margin", "border", "padding", "content" };
+dictionary BoxQuadOptions {
+ CSSBoxType box = "border";
+ GeometryNode relativeTo;
+};
+
+dictionary ConvertCoordinateOptions {
+ CSSBoxType fromBox = "border";
+ CSSBoxType toBox = "border";
+};
+
+interface mixin GeometryUtils {
+ [Throws, Func="nsINode::HasBoxQuadsSupport", NeedsCallerType]
+ sequence<DOMQuad> getBoxQuads(optional BoxQuadOptions options);
+ [Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
+ DOMQuad convertQuadFromNode(DOMQuad quad, GeometryNode from, optional ConvertCoordinateOptions options);
+ [Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
+ DOMQuad convertRectFromNode(DOMRectReadOnly rect, GeometryNode from, optional ConvertCoordinateOptions options);
+ [Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
+ DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options);
+};
+
+// PseudoElement includes GeometryUtils;
+
+typedef (Text or Element /* or PseudoElement */ or Document) GeometryNode;
diff --git a/vendor/web-sys/webidls/enabled/GetUserMediaRequest.webidl b/vendor/web-sys/webidls/enabled/GetUserMediaRequest.webidl
new file mode 100644
index 000000000..7ccbcc9f4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GetUserMediaRequest.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * This is an internal IDL file
+ */
+
+// for gUM request start (getUserMedia:request) notification,
+// rawID and mediaSource won't be set.
+// for gUM request stop (recording-device-stopped) notification due to page reload,
+// only windowID will be set.
+// for gUM request stop (recording-device-stopped) notification due to track stop,
+// only windowID, rawID and mediaSource will be set
+
+[NoInterfaceObject]
+interface GetUserMediaRequest {
+ readonly attribute unsigned long long windowID;
+ readonly attribute unsigned long long innerWindowID;
+ readonly attribute DOMString callID;
+ readonly attribute DOMString rawID;
+ readonly attribute DOMString mediaSource;
+ MediaStreamConstraints getConstraints();
+ readonly attribute boolean isSecure;
+ readonly attribute boolean isHandlingUserInput;
+};
diff --git a/vendor/web-sys/webidls/enabled/Grid.webidl b/vendor/web-sys/webidls/enabled/Grid.webidl
new file mode 100644
index 000000000..0b5dbf239
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Grid.webidl
@@ -0,0 +1,127 @@
+/* -*- 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/.
+ */
+
+/* These objects support visualization of a css-grid by the dev tools. */
+
+/**
+ * Explicit and implicit types apply to tracks, lines, and areas.
+ * https://drafts.csswg.org/css-grid/#explicit-grids
+ * https://drafts.csswg.org/css-grid/#implicit-grids
+ */
+enum GridDeclaration { "explicit", "implicit" };
+
+/**
+ * Tracks expanded from auto-fill are repeat , auto-fits with elements are
+ * also repeat, auto-fits with no elements are removed, other tracks are static.
+ */
+enum GridTrackState { "static", "repeat", "removed" };
+
+[ChromeOnly]
+interface Grid
+{
+ readonly attribute GridDimension rows;
+ readonly attribute GridDimension cols;
+ [Cached, Constant]
+ readonly attribute sequence<GridArea> areas;
+};
+
+[ChromeOnly]
+interface GridDimension
+{
+ readonly attribute GridLines lines;
+ readonly attribute GridTracks tracks;
+};
+
+[ChromeOnly]
+interface GridLines
+{
+ readonly attribute unsigned long length;
+
+ /**
+ * This accessor method allows array-like access to lines.
+ * @param index A 0-indexed value.
+ */
+ getter GridLine? item(unsigned long index);
+};
+
+[ChromeOnly]
+interface GridLine
+{
+ /**
+ * Names include both explicit names and implicit names, which will be
+ * assigned if the line contributes to a named area.
+ * https://drafts.csswg.org/css-grid/#implicit-named-lines
+ */
+ [Cached, Constant]
+ readonly attribute sequence<DOMString> names;
+
+ readonly attribute double start;
+
+ /**
+ * Breadth is the gap between the start of this line and the start of the
+ * next track in flow direction. It primarily is set by use of the -gap
+ * properties.
+ * https://drafts.csswg.org/css-grid/#gutters
+ */
+ readonly attribute double breadth;
+
+ readonly attribute GridDeclaration type;
+
+ /**
+ * Number is the 1-indexed index of the line in flow order. The
+ * first explicit line has number 1, and numbers increment by 1 for
+ * each line after that. Lines before the first explicit line
+ * have number 0, which is not a valid addressable line number, and
+ * should be filtered out by callers.
+ */
+ readonly attribute unsigned long number;
+
+ /**
+ * NegativeNumber is the 1-indexed index of the line in reverse
+ * flow order. The last explicit line has negativeNumber -1, and
+ * negativeNumbers decrement by 1 for each line before that.
+ * Lines after the last explicit line have negativeNumber 0, which
+ * is not a valid addressable line number, and should be filtered
+ * out by callers.
+ */
+ readonly attribute long negativeNumber;
+};
+
+[ChromeOnly]
+interface GridTracks
+{
+ readonly attribute unsigned long length;
+
+ /**
+ * This accessor method allows array-like access to tracks.
+ * @param index A 0-indexed value.
+ */
+ getter GridTrack? item(unsigned long index);
+};
+
+[ChromeOnly]
+interface GridTrack
+{
+ readonly attribute double start;
+ readonly attribute double breadth;
+ readonly attribute GridDeclaration type;
+ readonly attribute GridTrackState state;
+};
+
+[ChromeOnly]
+interface GridArea
+{
+ readonly attribute DOMString name;
+ readonly attribute GridDeclaration type;
+
+ /**
+ * These values are 1-indexed line numbers bounding the area.
+ */
+ readonly attribute unsigned long rowStart;
+ readonly attribute unsigned long rowEnd;
+ readonly attribute unsigned long columnStart;
+ readonly attribute unsigned long columnEnd;
+};
diff --git a/vendor/web-sys/webidls/enabled/GroupedHistoryEvent.webidl b/vendor/web-sys/webidls/enabled/GroupedHistoryEvent.webidl
new file mode 100644
index 000000000..d999a1ec9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/GroupedHistoryEvent.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+[ChromeOnly,
+ Constructor(DOMString type, optional GroupedHistoryEventInit eventInitDict)]
+interface GroupedHistoryEvent : Event
+{
+ readonly attribute Element? otherBrowser;
+};
+
+dictionary GroupedHistoryEventInit : EventInit
+{
+ Element? otherBrowser = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLAllCollection.webidl b/vendor/web-sys/webidls/enabled/HTMLAllCollection.webidl
new file mode 100644
index 000000000..b35213888
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLAllCollection.webidl
@@ -0,0 +1,14 @@
+/* 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/. */
+
+/* Emulates undefined through Codegen.py. */
+[LegacyUnenumerableNamedProperties]
+interface HTMLAllCollection {
+ readonly attribute unsigned long length;
+ getter Node? (unsigned long index);
+ Node? item(unsigned long index);
+ (Node or HTMLCollection)? item(DOMString name);
+ legacycaller (Node or HTMLCollection)? (DOMString name);
+ getter (Node or HTMLCollection)? namedItem(DOMString name);
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLAnchorElement.webidl b/vendor/web-sys/webidls/enabled/HTMLAnchorElement.webidl
new file mode 100644
index 000000000..d19c8ec5b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLAnchorElement.webidl
@@ -0,0 +1,52 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-a-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-a-element
+[HTMLConstructor]
+interface HTMLAnchorElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString target;
+ [CEReactions, SetterThrows]
+ attribute DOMString download;
+ [CEReactions, SetterThrows]
+ attribute DOMString ping;
+ [CEReactions, SetterThrows]
+ attribute DOMString rel;
+ [CEReactions, SetterThrows]
+ attribute DOMString referrerPolicy;
+ [PutForwards=value]
+ readonly attribute DOMTokenList relList;
+ [CEReactions, SetterThrows]
+ attribute DOMString hreflang;
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+
+ [CEReactions, Throws]
+ attribute DOMString text;
+};
+
+HTMLAnchorElement includes HTMLHyperlinkElementUtils;
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLAnchorElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString coords;
+ [CEReactions, SetterThrows]
+ attribute DOMString charset;
+ [CEReactions, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, SetterThrows]
+ attribute DOMString rev;
+ [CEReactions, SetterThrows]
+ attribute DOMString shape;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLAreaElement.webidl b/vendor/web-sys/webidls/enabled/HTMLAreaElement.webidl
new file mode 100644
index 000000000..c2c05b724
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLAreaElement.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-area-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ &
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-area-element
+[HTMLConstructor]
+interface HTMLAreaElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString alt;
+ [CEReactions, SetterThrows]
+ attribute DOMString coords;
+ [CEReactions, SetterThrows]
+ attribute DOMString shape;
+ [CEReactions, SetterThrows]
+ attribute DOMString target;
+ [CEReactions, SetterThrows]
+ attribute DOMString download;
+ [CEReactions, SetterThrows]
+ attribute DOMString ping;
+ [CEReactions, SetterThrows]
+ attribute DOMString rel;
+ [CEReactions, SetterThrows]
+ attribute DOMString referrerPolicy;
+ [PutForwards=value]
+ readonly attribute DOMTokenList relList;
+};
+
+HTMLAreaElement includes HTMLHyperlinkElementUtils;
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLAreaElement {
+ [CEReactions, SetterThrows]
+ attribute boolean noHref;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLAudioElement.webidl b/vendor/web-sys/webidls/enabled/HTMLAudioElement.webidl
new file mode 100644
index 000000000..725669839
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLAudioElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-audio-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor, NamedConstructor=Audio(optional DOMString src)]
+interface HTMLAudioElement : HTMLMediaElement {};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLBRElement.webidl b/vendor/web-sys/webidls/enabled/HTMLBRElement.webidl
new file mode 100644
index 000000000..b0b0f80ed
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLBRElement.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-br-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-br-element
+[HTMLConstructor]
+interface HTMLBRElement : HTMLElement {};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLBRElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString clear;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLBaseElement.webidl b/vendor/web-sys/webidls/enabled/HTMLBaseElement.webidl
new file mode 100644
index 000000000..ed86f8c77
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLBaseElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-base-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-base-element
+[HTMLConstructor]
+interface HTMLBaseElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString href;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString target;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLBodyElement.webidl b/vendor/web-sys/webidls/enabled/HTMLBodyElement.webidl
new file mode 100644
index 000000000..9f2dfd9ef
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLBodyElement.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLBodyElement : HTMLElement {
+};
+
+partial interface HTMLBodyElement {
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString text;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString link;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString vLink;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString aLink;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString bgColor;
+ [CEReactions, SetterThrows]
+ attribute DOMString background;
+};
+
+HTMLBodyElement includes WindowEventHandlers;
diff --git a/vendor/web-sys/webidls/enabled/HTMLButtonElement.webidl b/vendor/web-sys/webidls/enabled/HTMLButtonElement.webidl
new file mode 100644
index 000000000..bc4af418c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLButtonElement.webidl
@@ -0,0 +1,48 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-button-element
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-button-element
+[HTMLConstructor]
+interface HTMLButtonElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean autofocus;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean disabled;
+ [Pure]
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString formAction;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString formEnctype;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString formMethod;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean formNoValidate;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString formTarget;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString type;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString value;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+
+ readonly attribute NodeList labels;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLCanvasElement.webidl b/vendor/web-sys/webidls/enabled/HTMLCanvasElement.webidl
new file mode 100644
index 000000000..6d9f58280
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLCanvasElement.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+/* TODO
+interface nsISupports;
+interface Variant;
+*/
+
+[HTMLConstructor]
+interface HTMLCanvasElement : HTMLElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long width;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long height;
+
+ [Throws]
+ nsISupports? getContext(DOMString contextId, optional any contextOptions = null);
+
+ [Throws, NeedsSubjectPrincipal]
+ DOMString toDataURL(optional DOMString type = "",
+ optional any encoderOptions);
+ [Throws, NeedsSubjectPrincipal]
+ undefined toBlob(BlobCallback _callback,
+ optional DOMString type = "",
+ optional any encoderOptions);
+};
+
+// For OffscreenCanvas
+// Reference: https://wiki.whatwg.org/wiki/OffscreenCanvas
+partial interface HTMLCanvasElement {
+ [Pref="gfx.offscreencanvas.enabled", Throws]
+ OffscreenCanvas transferControlToOffscreen();
+};
+
+callback BlobCallback = undefined(Blob? blob);
diff --git a/vendor/web-sys/webidls/enabled/HTMLCollection.webidl b/vendor/web-sys/webidls/enabled/HTMLCollection.webidl
new file mode 100644
index 000000000..f7f020c0f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLCollection.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[LegacyUnenumerableNamedProperties]
+interface HTMLCollection {
+ readonly attribute unsigned long length;
+ getter Element? item(unsigned long index);
+ getter Element? namedItem(DOMString name);
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDListElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDListElement.webidl
new file mode 100644
index 000000000..4cf1c2183
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDListElement.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-dl-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-dl-element
+[HTMLConstructor]
+interface HTMLDListElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLDListElement {
+ [CEReactions, SetterThrows]
+ attribute boolean compact;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDataElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDataElement.webidl
new file mode 100644
index 000000000..d24537871
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDataElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-data-element
+ */
+
+[HTMLConstructor]
+interface HTMLDataElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString value;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDataListElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDataListElement.webidl
new file mode 100644
index 000000000..4c38fddf3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDataListElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLDataListElement : HTMLElement {
+ readonly attribute HTMLCollection options;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDetailsElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDetailsElement.webidl
new file mode 100644
index 000000000..04df82e30
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDetailsElement.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/forms.html#the-details-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLDetailsElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean open;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDialogElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDialogElement.webidl
new file mode 100644
index 000000000..07c964d2d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDialogElement.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[Pref="dom.dialog_element.enabled", HTMLConstructor]
+interface HTMLDialogElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean open;
+ attribute DOMString returnValue;
+ [CEReactions]
+ undefined show();
+ [CEReactions, Throws]
+ undefined showModal();
+ [CEReactions]
+ undefined close(optional DOMString returnValue);
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDirectoryElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDirectoryElement.webidl
new file mode 100644
index 000000000..65becbb60
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDirectoryElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+[HTMLConstructor]
+interface HTMLDirectoryElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean compact;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLDivElement.webidl b/vendor/web-sys/webidls/enabled/HTMLDivElement.webidl
new file mode 100644
index 000000000..2b762c6fa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDivElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLDivElement : HTMLElement {};
+
+partial interface HTMLDivElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLDocument.webidl b/vendor/web-sys/webidls/enabled/HTMLDocument.webidl
new file mode 100644
index 000000000..8ae008e35
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLDocument.webidl
@@ -0,0 +1,76 @@
+/* -*- 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/.
+ */
+
+[OverrideBuiltins]
+interface HTMLDocument : Document {
+ [SetterThrows]
+ attribute DOMString domain;
+ [Throws]
+ attribute DOMString cookie;
+ // DOM tree accessors
+ [Throws]
+ getter object (DOMString name);
+
+ // dynamic markup insertion
+ [CEReactions, Throws]
+ Document open(optional DOMString type, optional DOMString replace = ""); // type is ignored
+ [CEReactions, Throws]
+ WindowProxy? open(DOMString url, DOMString name, DOMString features, optional boolean replace = false);
+ [CEReactions, Throws]
+ undefined close();
+ [CEReactions, Throws]
+ undefined write(DOMString... text);
+ [CEReactions, Throws]
+ undefined writeln(DOMString... text);
+
+ [CEReactions, SetterThrows, SetterNeedsSubjectPrincipal]
+ attribute DOMString designMode;
+ [CEReactions, Throws, NeedsSubjectPrincipal]
+ boolean execCommand(DOMString commandId, optional boolean showUI = false,
+ optional DOMString value = "");
+ [Throws, NeedsSubjectPrincipal]
+ boolean queryCommandEnabled(DOMString commandId);
+ [Throws]
+ boolean queryCommandIndeterm(DOMString commandId);
+ [Throws]
+ boolean queryCommandState(DOMString commandId);
+ [NeedsCallerType]
+ boolean queryCommandSupported(DOMString commandId);
+ [Throws]
+ DOMString queryCommandValue(DOMString commandId);
+
+ [CEReactions, TreatNullAs=EmptyString] attribute DOMString fgColor;
+ [CEReactions, TreatNullAs=EmptyString] attribute DOMString linkColor;
+ [CEReactions, TreatNullAs=EmptyString] attribute DOMString vlinkColor;
+ [CEReactions, TreatNullAs=EmptyString] attribute DOMString alinkColor;
+ [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
+
+ undefined clear();
+
+ readonly attribute HTMLAllCollection all;
+
+ // @deprecated These are old Netscape 4 methods. Do not use,
+ // the implementation is no-op.
+ // XXXbz do we actually need these anymore?
+ undefined captureEvents();
+ undefined releaseEvents();
+};
+
+partial interface HTMLDocument {
+ /*
+ * Number of nodes that have been blocked by
+ * the Safebrowsing API to prevent tracking.
+ */
+ [ChromeOnly, Pure]
+ readonly attribute long blockedTrackingNodeCount;
+
+ /*
+ * List of nodes that have been blocked by
+ * the Safebrowsing API to prevent tracking.
+ */
+ [ChromeOnly, Pure]
+ readonly attribute NodeList blockedTrackingNodes;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLElement.webidl b/vendor/web-sys/webidls/enabled/HTMLElement.webidl
new file mode 100644
index 000000000..3ec1d63d6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLElement.webidl
@@ -0,0 +1,103 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/ and
+ * http://dev.w3.org/csswg/cssom-view/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLElement : Element {
+ // metadata attributes
+ [CEReactions]
+ attribute DOMString title;
+ [CEReactions]
+ attribute long scrollHeight;
+ [CEReactions]
+ attribute long scrollTop;
+ [CEReactions]
+ attribute DOMString lang;
+ // attribute boolean translate;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString dir;
+ [Constant]
+ readonly attribute DOMStringMap dataset;
+
+ [CEReactions, GetterThrows, Pure, TreatNullAs=EmptyString]
+ attribute DOMString innerText;
+
+ // user interaction
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean hidden;
+ [NeedsCallerType]
+ undefined click();
+ [CEReactions, SetterThrows, Pure]
+ attribute long tabIndex;
+ [Throws]
+ undefined focus();
+ [Throws]
+ undefined blur();
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString accessKey;
+ [Pure]
+ readonly attribute DOMString accessKeyLabel;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean draggable;
+ //[PutForwards=value] readonly attribute DOMTokenList dropzone;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString contentEditable;
+ [Pure]
+ readonly attribute boolean isContentEditable;
+ //[Pure]
+ //readonly attribute HTMLMenuElement? contextMenu;
+ //[SetterThrows]
+ // attribute HTMLMenuElement? contextMenu;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean spellcheck;
+
+ // command API
+ //readonly attribute DOMString? commandType;
+ //readonly attribute DOMString? commandLabel;
+ //readonly attribute DOMString? commandIcon;
+ //readonly attribute boolean? commandHidden;
+ //readonly attribute boolean? commandDisabled;
+ //readonly attribute boolean? commandChecked;
+
+ // styling
+ [PutForwards=cssText, Constant]
+ readonly attribute CSSStyleDeclaration style;
+};
+
+// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface
+partial interface HTMLElement {
+ // CSSOM things are not [Pure] because they can flush
+ readonly attribute Element? offsetParent;
+ readonly attribute long offsetTop;
+ readonly attribute long offsetLeft;
+ readonly attribute long offsetWidth;
+ readonly attribute long offsetHeight;
+};
+
+interface mixin TouchEventHandlers {
+ [Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ attribute EventHandler ontouchstart;
+ [Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ attribute EventHandler ontouchend;
+ [Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ attribute EventHandler ontouchmove;
+ [Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ attribute EventHandler ontouchcancel;
+};
+
+HTMLElement includes GlobalEventHandlers;
+HTMLElement includes DocumentAndElementEventHandlers;
+HTMLElement includes TouchEventHandlers;
+HTMLElement includes OnErrorEventHandlerForNodes;
+
+interface HTMLUnknownElement : HTMLElement {};
diff --git a/vendor/web-sys/webidls/enabled/HTMLEmbedElement.webidl b/vendor/web-sys/webidls/enabled/HTMLEmbedElement.webidl
new file mode 100644
index 000000000..5f43f990a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLEmbedElement.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#HTMLEmbedElement-partial
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element
+[HTMLConstructor, NeedResolve]
+interface HTMLEmbedElement : HTMLElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString width;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString height;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#HTMLEmbedElement-partial
+partial interface HTMLEmbedElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString name;
+};
+
+partial interface HTMLEmbedElement {
+ // GetSVGDocument
+ [NeedsSubjectPrincipal]
+ Document? getSVGDocument();
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFieldSetElement.webidl b/vendor/web-sys/webidls/enabled/HTMLFieldSetElement.webidl
new file mode 100644
index 000000000..30b04436c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFieldSetElement.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-fieldset-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLFieldSetElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean disabled;
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, SetterThrows]
+ attribute DOMString name;
+
+ readonly attribute DOMString type;
+
+ readonly attribute HTMLCollection elements;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+
+ boolean checkValidity();
+ boolean reportValidity();
+
+ undefined setCustomValidity(DOMString error);
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFontElement.webidl b/vendor/web-sys/webidls/enabled/HTMLFontElement.webidl
new file mode 100644
index 000000000..8db6d3246
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFontElement.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLFontElement : HTMLElement {
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows] attribute DOMString color;
+ [CEReactions, SetterThrows] attribute DOMString face;
+ [CEReactions, SetterThrows] attribute DOMString size;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFormControlsCollection.webidl b/vendor/web-sys/webidls/enabled/HTMLFormControlsCollection.webidl
new file mode 100644
index 000000000..eb2d83d42
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFormControlsCollection.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#htmlformcontrolscollection
+ *
+ * © Copyright 2004-2013 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface HTMLFormControlsCollection : HTMLCollection {
+ // inherits length and item()
+ /* legacycaller */ getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem()
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFormElement.webidl b/vendor/web-sys/webidls/enabled/HTMLFormElement.webidl
new file mode 100644
index 000000000..793be48b7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFormElement.webidl
@@ -0,0 +1,50 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#htmlformelement
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[OverrideBuiltins, LegacyUnenumerableNamedProperties, HTMLConstructor]
+interface HTMLFormElement : HTMLElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString acceptCharset;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString action;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString autocomplete;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString enctype;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString encoding;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString method;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean noValidate;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString target;
+
+ [Constant]
+ readonly attribute HTMLCollection elements;
+ [Pure]
+ readonly attribute long length;
+
+ getter Element (unsigned long index);
+ // TODO this should be: getter (RadioNodeList or HTMLInputElement or HTMLImageElement) (DOMString name);
+ getter nsISupports (DOMString name);
+
+ [Throws]
+ undefined submit();
+ [CEReactions]
+ undefined reset();
+ boolean checkValidity();
+ boolean reportValidity();
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFrameElement.webidl b/vendor/web-sys/webidls/enabled/HTMLFrameElement.webidl
new file mode 100644
index 000000000..0e6ba226b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFrameElement.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#htmlframeelement
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#htmlframeelement
+[HTMLConstructor]
+interface HTMLFrameElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, SetterThrows]
+ attribute DOMString scrolling;
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, SetterThrows]
+ attribute DOMString frameBorder;
+ [CEReactions, SetterThrows]
+ attribute DOMString longDesc;
+ [CEReactions, SetterThrows]
+ attribute boolean noResize;
+ [NeedsSubjectPrincipal]
+ readonly attribute Document? contentDocument;
+ readonly attribute WindowProxy? contentWindow;
+
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString marginHeight;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString marginWidth;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLFrameSetElement.webidl b/vendor/web-sys/webidls/enabled/HTMLFrameSetElement.webidl
new file mode 100644
index 000000000..d80f28675
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLFrameSetElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLFrameSetElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString cols;
+ [CEReactions, SetterThrows]
+ attribute DOMString rows;
+};
+
+HTMLFrameSetElement includes WindowEventHandlers;
diff --git a/vendor/web-sys/webidls/enabled/HTMLHRElement.webidl b/vendor/web-sys/webidls/enabled/HTMLHRElement.webidl
new file mode 100644
index 000000000..24ba3112a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLHRElement.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-hr-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-hr-element
+[HTMLConstructor]
+interface HTMLHRElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLHRElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString color;
+ [CEReactions, SetterThrows]
+ attribute boolean noShade;
+ [CEReactions, SetterThrows]
+ attribute DOMString size;
+ [CEReactions, SetterThrows]
+ attribute DOMString width;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLHeadElement.webidl b/vendor/web-sys/webidls/enabled/HTMLHeadElement.webidl
new file mode 100644
index 000000000..b649712a6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLHeadElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-head-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-head-element
+[HTMLConstructor]
+interface HTMLHeadElement : HTMLElement {};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLHeadingElement.webidl b/vendor/web-sys/webidls/enabled/HTMLHeadingElement.webidl
new file mode 100644
index 000000000..a39e24cfb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLHeadingElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements
+[HTMLConstructor]
+interface HTMLHeadingElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLHeadingElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLHtmlElement.webidl b/vendor/web-sys/webidls/enabled/HTMLHtmlElement.webidl
new file mode 100644
index 000000000..5b2a9a926
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLHtmlElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-html-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-html-element
+[HTMLConstructor]
+interface HTMLHtmlElement : HTMLElement {};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLHtmlElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString version;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLHyperlinkElementUtils.webidl b/vendor/web-sys/webidls/enabled/HTMLHyperlinkElementUtils.webidl
new file mode 100644
index 000000000..bd6967b95
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLHyperlinkElementUtils.webidl
@@ -0,0 +1,42 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/semantics.html#htmlhyperlinkelementutils
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface mixin HTMLHyperlinkElementUtils {
+ // Bug 824857: no support for stringifier attributes yet.
+ // stringifier attribute USVString href;
+
+ // Bug 824857 should remove this.
+ stringifier;
+
+ [CEReactions, SetterThrows]
+ attribute USVString href;
+
+ readonly attribute USVString origin;
+ [CEReactions]
+ attribute USVString protocol;
+ [CEReactions]
+ attribute USVString username;
+ [CEReactions]
+ attribute USVString password;
+ [CEReactions]
+ attribute USVString host;
+ [CEReactions]
+ attribute USVString hostname;
+ [CEReactions]
+ attribute USVString port;
+ [CEReactions]
+ attribute USVString pathname;
+ [CEReactions]
+ attribute USVString search;
+ [CEReactions]
+ attribute USVString hash;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLIFrameElement.webidl b/vendor/web-sys/webidls/enabled/HTMLIFrameElement.webidl
new file mode 100644
index 000000000..7e0e88870
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLIFrameElement.webidl
@@ -0,0 +1,62 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-iframe-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLIFrameElement : HTMLElement {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows, Pure]
+ attribute DOMString src;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString srcdoc;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [PutForwards=value] readonly attribute DOMTokenList sandbox;
+ // attribute boolean seamless;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean allowFullscreen;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean allowPaymentRequest;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString width;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString height;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString referrerPolicy;
+ [NeedsSubjectPrincipal]
+ readonly attribute Document? contentDocument;
+ readonly attribute WindowProxy? contentWindow;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLIFrameElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString align;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString scrolling;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString frameBorder;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString longDesc;
+
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows, Pure]
+ attribute DOMString marginHeight;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows, Pure]
+ attribute DOMString marginWidth;
+};
+
+partial interface HTMLIFrameElement {
+ // GetSVGDocument
+ [NeedsSubjectPrincipal]
+ Document? getSVGDocument();
+};
+
+HTMLIFrameElement includes BrowserElement;
diff --git a/vendor/web-sys/webidls/enabled/HTMLImageElement.webidl b/vendor/web-sys/webidls/enabled/HTMLImageElement.webidl
new file mode 100644
index 000000000..60eeaf05b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLImageElement.webidl
@@ -0,0 +1,73 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#htmlimageelement
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+/* TODO
+interface imgINotificationObserver;
+interface imgIRequest;
+interface URI;
+interface nsIStreamListener;
+*/
+
+[NamedConstructor=Image(optional unsigned long width, optional unsigned long height),
+ Exposed=Window]
+interface HTMLImageElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString alt;
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString srcset;
+ [CEReactions, SetterThrows]
+ attribute DOMString? crossOrigin;
+ [CEReactions, SetterThrows]
+ attribute DOMString useMap;
+ [CEReactions, SetterThrows]
+ attribute DOMString referrerPolicy;
+ [CEReactions, SetterThrows]
+ attribute boolean isMap;
+ [CEReactions, SetterThrows]
+ attribute unsigned long width;
+ [CEReactions, SetterThrows]
+ attribute unsigned long height;
+ [CEReactions, SetterThrows]
+ attribute DOMString decoding;
+ readonly attribute unsigned long naturalWidth;
+ readonly attribute unsigned long naturalHeight;
+ readonly attribute boolean complete;
+ [NewObject]
+ Promise<undefined> decode();
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLImageElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute unsigned long hspace;
+ [CEReactions, SetterThrows]
+ attribute unsigned long vspace;
+ [CEReactions, SetterThrows]
+ attribute DOMString longDesc;
+
+ [CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border;
+};
+
+// [Update me: not in whatwg spec yet]
+// http://picture.responsiveimages.org/#the-img-element
+partial interface HTMLImageElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString sizes;
+ readonly attribute DOMString currentSrc;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLInputElement.webidl b/vendor/web-sys/webidls/enabled/HTMLInputElement.webidl
new file mode 100644
index 000000000..572f7468e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLInputElement.webidl
@@ -0,0 +1,209 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-input-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+/*TODO
+enum SelectionMode {
+ "select",
+ "start",
+ "end",
+ "preserve",
+};
+
+interface XULControllers;
+*/
+
+[HTMLConstructor]
+interface HTMLInputElement : HTMLElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString accept;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString alt;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString autocomplete;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean autofocus;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean defaultChecked;
+ [Pure]
+ attribute boolean checked;
+ // Bug 850337 - attribute DOMString dirName;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean disabled;
+ readonly attribute HTMLFormElement? form;
+ [Pure]
+ attribute FileList? files;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString formAction;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString formEnctype;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString formMethod;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean formNoValidate;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString formTarget;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long height;
+ [Pure]
+ attribute boolean indeterminate;
+ [CEReactions, Pure, SetterThrows, Pref="dom.forms.inputmode"]
+ attribute DOMString inputMode;
+ [Pure]
+ readonly attribute HTMLElement? list;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString max;
+ [CEReactions, Pure, SetterThrows]
+ attribute long maxLength;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString min;
+ [CEReactions, Pure, SetterThrows]
+ attribute long minLength;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean multiple;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString pattern;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString placeholder;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean readOnly;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean required;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long size;
+ [CEReactions, Pure, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString step;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString defaultValue;
+ [CEReactions, Pure, TreatNullAs=EmptyString, SetterThrows, NeedsCallerType]
+ attribute DOMString value;
+ [Throws, Func="HTMLInputElement::ValueAsDateEnabled"]
+ attribute Date? valueAsDate;
+ [Pure, SetterThrows]
+ attribute unrestricted double valueAsNumber;
+ [CEReactions, SetterThrows]
+ attribute unsigned long width;
+/* TODO
+ [Throws]
+ undefined stepUp(optional long n = 1);
+ [Throws]
+ undefined stepDown(optional long n = 1);
+*/
+
+ [Pure]
+ readonly attribute boolean willValidate;
+ [Pure]
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+
+ readonly attribute NodeList? labels;
+
+ undefined select();
+
+ [Throws]
+ attribute unsigned long? selectionStart;
+ [Throws]
+ attribute unsigned long? selectionEnd;
+ [Throws]
+ attribute DOMString? selectionDirection;
+ [Throws]
+ undefined setRangeText(DOMString replacement);
+
+ [Throws]
+ undefined setRangeText(DOMString replacement, unsigned long start,
+ unsigned long end, optional SelectionMode selectionMode = "preserve");
+ [Throws]
+ undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
+
+ [Throws]
+ undefined showPicker();
+
+ // also has obsolete members
+};
+
+partial interface HTMLInputElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString useMap;
+};
+
+/*Non standard
+partial interface HTMLInputElement {
+ [Pref="dom.input.dirpicker", SetterThrows]
+ attribute boolean allowdirs;
+
+ [Pref="dom.input.dirpicker"]
+ readonly attribute boolean isFilesAndDirectoriesSupported;
+
+ [Throws, Pref="dom.input.dirpicker"]
+ Promise<sequence<(File or Directory)>> getFilesAndDirectories();
+
+ [Throws, Pref="dom.input.dirpicker"]
+ Promise<sequence<File>> getFiles(optional boolean recursiveFlag = false);
+
+ [Throws, Pref="dom.input.dirpicker"]
+ undefined chooseDirectory();
+};
+*/
+
+// Webkit/Blink
+partial interface HTMLInputElement {
+ [Pref="dom.webkitBlink.filesystem.enabled", Frozen, Cached, Pure]
+ readonly attribute sequence<FileSystemEntry> webkitEntries;
+
+ [Pref="dom.webkitBlink.dirPicker.enabled", BinaryName="WebkitDirectoryAttr", SetterThrows]
+ attribute boolean webkitdirectory;
+};
+
+dictionary DateTimeValue {
+ long hour;
+ long minute;
+ long year;
+ long month;
+ long day;
+};
+
+partial interface HTMLInputElement {
+ [Pref="dom.forms.datetime", ChromeOnly]
+ DateTimeValue getDateTimeInputBoxValue();
+
+ [Pref="dom.forms.datetime", ChromeOnly]
+ undefined updateDateTimeInputBox(optional DateTimeValue value);
+
+ [Pref="dom.forms.datetime", ChromeOnly]
+ undefined setDateTimePickerState(boolean open);
+
+ [Pref="dom.forms.datetime", ChromeOnly,
+ BinaryName="getMinimumAsDouble"]
+ double getMinimum();
+
+ [Pref="dom.forms.datetime", ChromeOnly,
+ BinaryName="getMaximumAsDouble"]
+ double getMaximum();
+};
+
+partial interface HTMLInputElement {
+ [ChromeOnly]
+ attribute DOMString previewValue;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLLIElement.webidl b/vendor/web-sys/webidls/enabled/HTMLLIElement.webidl
new file mode 100644
index 000000000..3f104d09e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLLIElement.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-li-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-li-element
+[HTMLConstructor]
+interface HTMLLIElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute long value;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLLIElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString type;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLLabelElement.webidl b/vendor/web-sys/webidls/enabled/HTMLLabelElement.webidl
new file mode 100644
index 000000000..4b624dfaf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLLabelElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLLabelElement : HTMLElement {
+ readonly attribute HTMLFormElement? form;
+ [CEReactions]
+ attribute DOMString htmlFor;
+ readonly attribute HTMLElement? control;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLLegendElement.webidl b/vendor/web-sys/webidls/enabled/HTMLLegendElement.webidl
new file mode 100644
index 000000000..6f03ecf1b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLLegendElement.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-legend-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-legend-element
+[HTMLConstructor]
+interface HTMLLegendElement : HTMLElement {
+ readonly attribute HTMLFormElement? form;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLLegendElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLLinkElement.webidl b/vendor/web-sys/webidls/enabled/HTMLLinkElement.webidl
new file mode 100644
index 000000000..0d484de1d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLLinkElement.webidl
@@ -0,0 +1,59 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-link-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-link-element
+[HTMLConstructor]
+interface HTMLLinkElement : HTMLElement {
+ [Pure]
+ attribute boolean disabled;
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows, Pure]
+ attribute DOMString href;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString? crossOrigin;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString rel;
+ [PutForwards=value]
+ readonly attribute DOMTokenList relList;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString media;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString hreflang;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString type;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString referrerPolicy;
+ [PutForwards=value] readonly attribute DOMTokenList sizes;
+};
+HTMLLinkElement includes LinkStyle;
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLLinkElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString charset;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString rev;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString target;
+};
+
+// https://w3c.github.io/webappsec/specs/subresourceintegrity/#htmllinkelement-1
+partial interface HTMLLinkElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString integrity;
+};
+
+//https://w3c.github.io/preload/
+partial interface HTMLLinkElement {
+ [SetterThrows, Pure]
+ attribute DOMString as;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMapElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMapElement.webidl
new file mode 100644
index 000000000..199c70876
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMapElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-map-element
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-map-element
+[HTMLConstructor]
+interface HTMLMapElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [Constant]
+ readonly attribute HTMLCollection areas;
+ // Not supported yet.
+ //readonly attribute HTMLCollection images;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMediaElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMediaElement.webidl
new file mode 100644
index 000000000..16c0bb357
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMediaElement.webidl
@@ -0,0 +1,166 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#media-elements
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface HTMLMediaElement : HTMLElement {
+
+ // error state
+ readonly attribute MediaError? error;
+
+ // network state
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ readonly attribute DOMString currentSrc;
+
+ attribute MediaStream? srcObject;
+
+ [CEReactions, SetterThrows]
+ attribute DOMString? crossOrigin;
+ const unsigned short NETWORK_EMPTY = 0;
+ const unsigned short NETWORK_IDLE = 1;
+ const unsigned short NETWORK_LOADING = 2;
+ const unsigned short NETWORK_NO_SOURCE = 3;
+ readonly attribute unsigned short networkState;
+ [CEReactions, SetterThrows]
+ attribute DOMString preload;
+ [NewObject]
+ readonly attribute TimeRanges buffered;
+ undefined load();
+ DOMString canPlayType(DOMString type);
+
+ // ready state
+ const unsigned short HAVE_NOTHING = 0;
+ const unsigned short HAVE_METADATA = 1;
+ const unsigned short HAVE_CURRENT_DATA = 2;
+ const unsigned short HAVE_FUTURE_DATA = 3;
+ const unsigned short HAVE_ENOUGH_DATA = 4;
+ readonly attribute unsigned short readyState;
+ readonly attribute boolean seeking;
+
+ // playback state
+ [SetterThrows]
+ attribute double currentTime;
+ [Throws]
+ undefined fastSeek(double time);
+ readonly attribute unrestricted double duration;
+ [ChromeOnly]
+ readonly attribute boolean isEncrypted;
+ // TODO: Bug 847376 - readonly attribute any startDate;
+ readonly attribute boolean paused;
+ [SetterThrows]
+ attribute double defaultPlaybackRate;
+ [SetterThrows]
+ attribute double playbackRate;
+ [NewObject]
+ readonly attribute TimeRanges played;
+ [NewObject]
+ readonly attribute TimeRanges seekable;
+ readonly attribute boolean ended;
+ [CEReactions, SetterThrows]
+ attribute boolean autoplay;
+ [CEReactions, SetterThrows]
+ attribute boolean loop;
+ [Throws]
+ Promise<undefined> play();
+ [Throws]
+ undefined pause();
+
+ // TODO: Bug 847377 - mediaGroup and MediaController
+ // media controller
+ // attribute DOMString mediaGroup;
+ // attribute MediaController? controller;
+
+ // controls
+ [CEReactions, SetterThrows]
+ attribute boolean controls;
+ [SetterThrows]
+ attribute double volume;
+ attribute boolean muted;
+ [CEReactions, SetterThrows]
+ attribute boolean defaultMuted;
+
+ // TODO: Bug 847379
+ // tracks
+ [Pref="media.track.enabled"]
+ readonly attribute AudioTrackList audioTracks;
+ [Pref="media.track.enabled"]
+ readonly attribute VideoTrackList videoTracks;
+ readonly attribute TextTrackList? textTracks;
+ TextTrack addTextTrack(TextTrackKind kind,
+ optional DOMString label = "",
+ optional DOMString language = "");
+};
+
+// Encrypted Media Extensions
+partial interface HTMLMediaElement {
+ readonly attribute MediaKeys? mediaKeys;
+
+ // undefined, not any: https://www.w3.org/Bugs/Public/show_bug.cgi?id=26457
+ [NewObject]
+ Promise<undefined> setMediaKeys(MediaKeys? mediaKeys);
+
+ attribute EventHandler onencrypted;
+
+ attribute EventHandler onwaitingforkey;
+};
+
+/*
+ * HTMLMediaElement::seekToNextFrame() is a Mozilla experimental feature.
+ *
+ * The SeekToNextFrame() method provides a way to access a video element's video
+ * frames one by one without going through the realtime playback. So, it lets
+ * authors use "frame" as unit to access the video element's underlying data,
+ * instead of "time".
+ *
+ * The SeekToNextFrame() is a kind of seek operation, so normally, once it is
+ * invoked, a "seeking" event is dispatched. However, if the media source has no
+ * video data or is not seekable, the operation is ignored without filing the
+ * "seeking" event.
+ *
+ * Once the SeekToNextFrame() is done, a "seeked" event should always be filed
+ * and a "ended" event might also be filed depends on where the media element's
+ * position before seeking was. There are two cases:
+ * Assume the media source has n+1 video frames where n is a non-negative
+ * integers and the frame sequence is indexed from zero.
+ * (1) If the currentTime is at anywhere smaller than the n-th frame's beginning
+ * time, say the currentTime is now pointing to a position which is smaller
+ * than the x-th frame's beginning time and larger or equal to the (x-1)-th
+ * frame's beginning time, where x belongs to [1, n], then the
+ * SeekToNextFrame() operation seeks the media to the x-th frame, sets the
+ * media's currentTime to the x-th frame's beginning time and dispatches a
+ * "seeked" event.
+ * (2) Otherwise, if the currentTime is larger or equal to the n-th frame's
+ * beginning time, then the SeekToNextFrame() operation sets the media's
+ * currentTime to the duration of the media source and dispatches a "seeked"
+ * event and an "ended" event.
+ */
+partial interface HTMLMediaElement {
+ [Throws, Pref="media.seekToNextFrame.enabled"]
+ Promise<undefined> seekToNextFrame();
+};
+
+/*
+ * This is an API for simulating visibility changes to help debug and write
+ * tests about suspend-video-decoding.
+ *
+ * - SetVisible() is for simulating visibility changes.
+ * - HasSuspendTaint() is for querying that the element's decoder cannot suspend
+ * video decoding because it has been tainted by an operation, such as
+ * drawImage().
+ */
+partial interface HTMLMediaElement {
+ [Pref="media.test.video-suspend"]
+ undefined setVisible(boolean aVisible);
+
+ [Pref="media.test.video-suspend"]
+ boolean hasSuspendTaint();
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMenuElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMenuElement.webidl
new file mode 100644
index 000000000..5f1f13081
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMenuElement.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-menu-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+/* TODO
+interface MenuBuilder;
+*/
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-menu-element
+[HTMLConstructor]
+interface HTMLMenuElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, SetterThrows]
+ attribute DOMString label;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLMenuElement {
+ [CEReactions, SetterThrows]
+ attribute boolean compact;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMenuItemElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMenuItemElement.webidl
new file mode 100644
index 000000000..648188e2c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMenuItemElement.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-menuitem-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-menuitem-element
+[HTMLConstructor]
+interface HTMLMenuItemElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, SetterThrows]
+ attribute DOMString label;
+ [CEReactions, SetterThrows]
+ attribute DOMString icon;
+ [CEReactions, SetterThrows]
+ attribute boolean disabled;
+ [CEReactions]
+ attribute boolean checked;
+ [CEReactions, SetterThrows]
+ attribute DOMString radiogroup;
+
+ // This should be 'default' but in the IDL implementation
+ // this has been renamed 'defaultChecked'.
+ [CEReactions, SetterThrows]
+ attribute boolean defaultChecked;
+
+ // Currently not implemented.
+// readonly attribute HTMLElement? command;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMetaElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMetaElement.webidl
new file mode 100644
index 000000000..30014a955
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMetaElement.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-meta-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-meta-element
+[HTMLConstructor]
+interface HTMLMetaElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString httpEquiv;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString content;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLMetaElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString scheme;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLMeterElement.webidl b/vendor/web-sys/webidls/enabled/HTMLMeterElement.webidl
new file mode 100644
index 000000000..5db5b6604
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLMeterElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-meter-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-meter-element
+[HTMLConstructor]
+interface HTMLMeterElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute double value;
+ [CEReactions, SetterThrows]
+ attribute double min;
+ [CEReactions, SetterThrows]
+ attribute double max;
+ [CEReactions, SetterThrows]
+ attribute double low;
+ [CEReactions, SetterThrows]
+ attribute double high;
+ [CEReactions, SetterThrows]
+ attribute double optimum;
+ readonly attribute NodeList labels;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLModElement.webidl b/vendor/web-sys/webidls/enabled/HTMLModElement.webidl
new file mode 100644
index 000000000..8ed8b994b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLModElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#attributes-common-to-ins-and-del-elements
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#attributes-common-to-ins-and-del-elements
+[HTMLConstructor]
+interface HTMLModElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString cite;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString dateTime;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLOListElement.webidl b/vendor/web-sys/webidls/enabled/HTMLOListElement.webidl
new file mode 100644
index 000000000..93084c227
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLOListElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-ol-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-ol-element
+[HTMLConstructor]
+interface HTMLOListElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean reversed;
+ [CEReactions, SetterThrows]
+ attribute long start;
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLOListElement {
+ [CEReactions, SetterThrows]
+ attribute boolean compact;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLObjectElement.webidl b/vendor/web-sys/webidls/enabled/HTMLObjectElement.webidl
new file mode 100644
index 000000000..c2768b13f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLObjectElement.webidl
@@ -0,0 +1,79 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-object-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#HTMLObjectElement-partial
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-object-element
+[HTMLConstructor, NeedResolve]
+interface HTMLObjectElement : HTMLElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString data;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean typeMustMatch;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString name;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString useMap;
+ [Pure]
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString width;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString height;
+ // Not pure: can trigger about:blank instantiation
+ [NeedsSubjectPrincipal]
+ readonly attribute Document? contentDocument;
+ // Not pure: can trigger about:blank instantiation
+ [NeedsSubjectPrincipal]
+ readonly attribute WindowProxy? contentWindow;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#HTMLObjectElement-partial
+partial interface HTMLObjectElement {
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString archive;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString code;
+ [CEReactions, Pure, SetterThrows]
+ attribute boolean declare;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long hspace;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString standby;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long vspace;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString codeBase;
+ [CEReactions, Pure, SetterThrows]
+ attribute DOMString codeType;
+
+ [CEReactions, TreatNullAs=EmptyString, Pure, SetterThrows]
+ attribute DOMString border;
+};
+
+partial interface HTMLObjectElement {
+ // GetSVGDocument
+ [NeedsSubjectPrincipal]
+ Document? getSVGDocument();
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLOptGroupElement.webidl b/vendor/web-sys/webidls/enabled/HTMLOptGroupElement.webidl
new file mode 100644
index 000000000..d46fb869d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLOptGroupElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-optgroup-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLOptGroupElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean disabled;
+ [CEReactions, SetterThrows]
+ attribute DOMString label;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLOptionElement.webidl b/vendor/web-sys/webidls/enabled/HTMLOptionElement.webidl
new file mode 100644
index 000000000..415f6fdd4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLOptionElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-option-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor, NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
+interface HTMLOptionElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute boolean disabled;
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, SetterThrows]
+ attribute DOMString label;
+ [CEReactions, SetterThrows]
+ attribute boolean defaultSelected;
+ attribute boolean selected;
+ [CEReactions, SetterThrows]
+ attribute DOMString value;
+
+ [CEReactions, SetterThrows]
+ attribute DOMString text;
+ readonly attribute long index;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLOptionsCollection.webidl b/vendor/web-sys/webidls/enabled/HTMLOptionsCollection.webidl
new file mode 100644
index 000000000..0cefd48df
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLOptionsCollection.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-html5-20120329/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface HTMLOptionsCollection : HTMLCollection {
+ [CEReactions, SetterThrows]
+ attribute unsigned long length;
+ [CEReactions, Throws]
+ setter undefined (unsigned long index, HTMLOptionElement? option);
+ [CEReactions, Throws]
+ undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
+ [CEReactions, Throws]
+ undefined remove(long index);
+ [Throws]
+ attribute long selectedIndex;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLOutputElement.webidl b/vendor/web-sys/webidls/enabled/HTMLOutputElement.webidl
new file mode 100644
index 000000000..8e9852df9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLOutputElement.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-output-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-output-element
+[HTMLConstructor]
+interface HTMLOutputElement : HTMLElement {
+ [PutForwards=value, Constant]
+ readonly attribute DOMTokenList htmlFor;
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+
+ [Constant]
+ readonly attribute DOMString type;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString defaultValue;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString value;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+
+ readonly attribute NodeList labels;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLParagraphElement.webidl b/vendor/web-sys/webidls/enabled/HTMLParagraphElement.webidl
new file mode 100644
index 000000000..289af4c9f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLParagraphElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-p-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-p-element
+[HTMLConstructor]
+interface HTMLParagraphElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLParagraphElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLParamElement.webidl b/vendor/web-sys/webidls/enabled/HTMLParamElement.webidl
new file mode 100644
index 000000000..cf6b5a35a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLParamElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-param-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-param-element
+[HTMLConstructor]
+interface HTMLParamElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString value;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLParamElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString type;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString valueType;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLPictureElement.webidl b/vendor/web-sys/webidls/enabled/HTMLPictureElement.webidl
new file mode 100644
index 000000000..387eee78d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLPictureElement.webidl
@@ -0,0 +1,9 @@
+/* -*- 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/.
+ */
+
+[HTMLConstructor]
+interface HTMLPictureElement : HTMLElement {
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLPreElement.webidl b/vendor/web-sys/webidls/enabled/HTMLPreElement.webidl
new file mode 100644
index 000000000..6929cd533
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLPreElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-pre-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-pre-element
+[HTMLConstructor]
+interface HTMLPreElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLPreElement {
+ [CEReactions, SetterThrows]
+ attribute long width;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLProgressElement.webidl b/vendor/web-sys/webidls/enabled/HTMLProgressElement.webidl
new file mode 100644
index 000000000..564b9f2a4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLProgressElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-progress-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLProgressElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute double value;
+ [CEReactions, SetterThrows]
+ attribute double max;
+ readonly attribute double position;
+ readonly attribute NodeList labels;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLQuoteElement.webidl b/vendor/web-sys/webidls/enabled/HTMLQuoteElement.webidl
new file mode 100644
index 000000000..c999b1478
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLQuoteElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-blockquote-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-blockquote-element
+[HTMLConstructor]
+interface HTMLQuoteElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString cite;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLScriptElement.webidl b/vendor/web-sys/webidls/enabled/HTMLScriptElement.webidl
new file mode 100644
index 000000000..8a23ec613
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLScriptElement.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-script-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ */
+
+[HTMLConstructor]
+interface HTMLScriptElement : HTMLElement {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+ [CEReactions, SetterThrows, Pref="dom.moduleScripts.enabled"]
+ attribute boolean noModule;
+ [CEReactions, SetterThrows]
+ attribute DOMString charset;
+ [CEReactions, SetterThrows]
+ attribute boolean async;
+ [CEReactions, SetterThrows]
+ attribute boolean defer;
+ [CEReactions, SetterThrows]
+ attribute DOMString? crossOrigin;
+ [CEReactions, Throws]
+ attribute DOMString text;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLScriptElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString event;
+ [CEReactions, SetterThrows]
+ attribute DOMString htmlFor;
+};
+
+// https://w3c.github.io/webappsec/specs/subresourceintegrity/#htmlscriptelement-1
+partial interface HTMLScriptElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString integrity;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLSelectElement.webidl b/vendor/web-sys/webidls/enabled/HTMLSelectElement.webidl
new file mode 100644
index 000000000..045f69577
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLSelectElement.webidl
@@ -0,0 +1,74 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/html/#the-select-element
+ */
+
+[HTMLConstructor]
+interface HTMLSelectElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean autofocus;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString autocomplete;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean disabled;
+ [Pure]
+ readonly attribute HTMLFormElement? form;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean multiple;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean required;
+ [CEReactions, SetterThrows, Pure]
+ attribute unsigned long size;
+
+ [Pure]
+ readonly attribute DOMString type;
+
+ [Constant]
+ readonly attribute HTMLOptionsCollection options;
+ [CEReactions, SetterThrows, Pure]
+ attribute unsigned long length;
+ getter Element? item(unsigned long index);
+ HTMLOptionElement? namedItem(DOMString name);
+ [CEReactions, Throws]
+ undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
+ [CEReactions]
+ undefined remove(long index);
+ [CEReactions, Throws]
+ setter undefined (unsigned long index, HTMLOptionElement? option);
+
+ readonly attribute HTMLCollection selectedOptions;
+ [SetterThrows, Pure]
+ attribute long selectedIndex;
+ [Pure]
+ attribute DOMString value;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+
+ readonly attribute NodeList labels;
+
+ // https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720
+ [CEReactions]
+ undefined remove();
+};
+
+// Chrome only interface
+partial interface HTMLSelectElement {
+ [ChromeOnly]
+ attribute boolean openInParentProcess;
+ [ChromeOnly]
+ AutocompleteInfo getAutocompleteInfo();
+ [ChromeOnly]
+ attribute DOMString previewValue;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLSlotElement.webidl b/vendor/web-sys/webidls/enabled/HTMLSlotElement.webidl
new file mode 100644
index 000000000..c4a4f6b13
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLSlotElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[Func="nsDocument::IsShadowDOMEnabled", Exposed=Window, HTMLConstructor]
+interface HTMLSlotElement : HTMLElement {
+ [CEReactions, SetterThrows] attribute DOMString name;
+ sequence<Node> assignedNodes(optional AssignedNodesOptions options);
+};
+
+dictionary AssignedNodesOptions {
+ boolean flatten = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLSourceElement.webidl b/vendor/web-sys/webidls/enabled/HTMLSourceElement.webidl
new file mode 100644
index 000000000..8cd2ed078
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLSourceElement.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-source-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLSourceElement : HTMLElement {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString src;
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+};
+
+partial interface HTMLSourceElement {
+ [CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
+ attribute DOMString srcset;
+ [CEReactions, SetterThrows]
+ attribute DOMString sizes;
+ [CEReactions, SetterThrows]
+ attribute DOMString media;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLSpanElement.webidl b/vendor/web-sys/webidls/enabled/HTMLSpanElement.webidl
new file mode 100644
index 000000000..6f65cdfb3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLSpanElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-span-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-span-element
+[HTMLConstructor]
+interface HTMLSpanElement : HTMLElement {};
diff --git a/vendor/web-sys/webidls/enabled/HTMLStyleElement.webidl b/vendor/web-sys/webidls/enabled/HTMLStyleElement.webidl
new file mode 100644
index 000000000..6dc1a8351
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLStyleElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-style-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ */
+
+[HTMLConstructor]
+interface HTMLStyleElement : HTMLElement {
+ [Pure]
+ attribute boolean disabled;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString media;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString type;
+};
+HTMLStyleElement includes LinkStyle;
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableCaptionElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableCaptionElement.webidl
new file mode 100644
index 000000000..48c9d354a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableCaptionElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableCaptionElement : HTMLElement {};
+
+partial interface HTMLTableCaptionElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableCellElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableCellElement.webidl
new file mode 100644
index 000000000..ffb04d72a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableCellElement.webidl
@@ -0,0 +1,47 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableCellElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute unsigned long colSpan;
+ [CEReactions, SetterThrows]
+ attribute unsigned long rowSpan;
+ //[PutForwards=value] readonly attribute DOMTokenList headers;
+ [CEReactions, SetterThrows]
+ attribute DOMString headers;
+ readonly attribute long cellIndex;
+};
+
+partial interface HTMLTableCellElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString axis;
+ [CEReactions, SetterThrows]
+ attribute DOMString height;
+ [CEReactions, SetterThrows]
+ attribute DOMString width;
+
+ [CEReactions, SetterThrows]
+ attribute DOMString ch;
+ [CEReactions, SetterThrows]
+ attribute DOMString chOff;
+ [CEReactions, SetterThrows]
+ attribute boolean noWrap;
+ [CEReactions, SetterThrows]
+ attribute DOMString vAlign;
+
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString bgColor;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableColElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableColElement.webidl
new file mode 100644
index 000000000..02be4590a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableColElement.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableColElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute unsigned long span;
+};
+
+partial interface HTMLTableColElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString ch;
+ [CEReactions, SetterThrows]
+ attribute DOMString chOff;
+ [CEReactions, SetterThrows]
+ attribute DOMString vAlign;
+ [CEReactions, SetterThrows]
+ attribute DOMString width;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableElement.webidl
new file mode 100644
index 000000000..65245f6d4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableElement.webidl
@@ -0,0 +1,62 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute HTMLTableCaptionElement? caption;
+ HTMLElement createCaption();
+ [CEReactions]
+ undefined deleteCaption();
+ [CEReactions, SetterThrows]
+ attribute HTMLTableSectionElement? tHead;
+ HTMLElement createTHead();
+ [CEReactions]
+ undefined deleteTHead();
+ [CEReactions, SetterThrows]
+ attribute HTMLTableSectionElement? tFoot;
+ HTMLElement createTFoot();
+ [CEReactions]
+ undefined deleteTFoot();
+ readonly attribute HTMLCollection tBodies;
+ HTMLElement createTBody();
+ readonly attribute HTMLCollection rows;
+ [Throws]
+ HTMLElement insertRow(optional long index = -1);
+ [CEReactions, Throws]
+ undefined deleteRow(long index);
+ // attribute boolean sortable;
+ //undefined stopSorting();
+};
+
+partial interface HTMLTableElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString border;
+ [CEReactions, SetterThrows]
+ attribute DOMString frame;
+ [CEReactions, SetterThrows]
+ attribute DOMString rules;
+ [CEReactions, SetterThrows]
+ attribute DOMString summary;
+ [CEReactions, SetterThrows]
+ attribute DOMString width;
+
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString bgColor;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString cellPadding;
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString cellSpacing;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableRowElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableRowElement.webidl
new file mode 100644
index 000000000..1533b9b9c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableRowElement.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableRowElement : HTMLElement {
+ readonly attribute long rowIndex;
+ readonly attribute long sectionRowIndex;
+ readonly attribute HTMLCollection cells;
+ [Throws]
+ HTMLElement insertCell(optional long index = -1);
+ [CEReactions, Throws]
+ undefined deleteCell(long index);
+};
+
+partial interface HTMLTableRowElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString ch;
+ [CEReactions, SetterThrows]
+ attribute DOMString chOff;
+ [CEReactions, SetterThrows]
+ attribute DOMString vAlign;
+
+ [CEReactions, TreatNullAs=EmptyString, SetterThrows]
+ attribute DOMString bgColor;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTableSectionElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTableSectionElement.webidl
new file mode 100644
index 000000000..1eea676cf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTableSectionElement.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLTableSectionElement : HTMLElement {
+ readonly attribute HTMLCollection rows;
+ [Throws]
+ HTMLElement insertRow(optional long index = -1);
+ [CEReactions, Throws]
+ undefined deleteRow(long index);
+};
+
+partial interface HTMLTableSectionElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString align;
+ [CEReactions, SetterThrows]
+ attribute DOMString ch;
+ [CEReactions, SetterThrows]
+ attribute DOMString chOff;
+ [CEReactions, SetterThrows]
+ attribute DOMString vAlign;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTemplateElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTemplateElement.webidl
new file mode 100644
index 000000000..f77eeaa42
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTemplateElement.webidl
@@ -0,0 +1,16 @@
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[HTMLConstructor]
+interface HTMLTemplateElement : HTMLElement {
+ readonly attribute DocumentFragment content;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/HTMLTextAreaElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTextAreaElement.webidl
new file mode 100644
index 000000000..e20773c26
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTextAreaElement.webidl
@@ -0,0 +1,80 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-textarea-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+/* TODO
+interface nsIEditor;
+interface XULControllers;
+*/
+
+[HTMLConstructor]
+interface HTMLTextAreaElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString autocomplete;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean autofocus;
+ [CEReactions, SetterThrows, Pure]
+ attribute unsigned long cols;
+ // attribute DOMString dirName;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean disabled;
+ [Pure]
+ readonly attribute HTMLFormElement? form;
+ // attribute DOMString inputMode;
+ [CEReactions, SetterThrows, Pure]
+ attribute long maxLength;
+ [CEReactions, SetterThrows, Pure]
+ attribute long minLength;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString name;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString placeholder;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean readOnly;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean required;
+ [CEReactions, SetterThrows, Pure]
+ attribute unsigned long rows;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString wrap;
+
+ [Constant]
+ readonly attribute DOMString type;
+ [CEReactions, Throws, Pure]
+ attribute DOMString defaultValue;
+ [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString value;
+ readonly attribute unsigned long textLength;
+
+ readonly attribute boolean willValidate;
+ readonly attribute ValidityState validity;
+ [Throws]
+ readonly attribute DOMString validationMessage;
+ boolean checkValidity();
+ boolean reportValidity();
+ undefined setCustomValidity(DOMString error);
+
+ readonly attribute NodeList labels;
+
+ undefined select();
+ [Throws]
+ attribute unsigned long? selectionStart;
+ [Throws]
+ attribute unsigned long? selectionEnd;
+ [Throws]
+ attribute DOMString? selectionDirection;
+ [Throws]
+ undefined setRangeText(DOMString replacement);
+ [Throws]
+ undefined setRangeText(DOMString replacement, unsigned long start,
+ unsigned long end, optional SelectionMode selectionMode = "preserve");
+ [Throws]
+ undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTimeElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTimeElement.webidl
new file mode 100644
index 000000000..35c06fef3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTimeElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-time-element
+ */
+
+[HTMLConstructor]
+interface HTMLTimeElement : HTMLElement {
+ [CEReactions, SetterThrows]
+ attribute DOMString dateTime;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTitleElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTitleElement.webidl
new file mode 100644
index 000000000..bbce70bb2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTitleElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-title-element
+ */
+
+[HTMLConstructor]
+interface HTMLTitleElement : HTMLElement {
+ [CEReactions, Throws]
+ attribute DOMString text;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLTrackElement.webidl b/vendor/web-sys/webidls/enabled/HTMLTrackElement.webidl
new file mode 100644
index 000000000..cbb70db2a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLTrackElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-track-element
+ */
+
+[HTMLConstructor]
+interface HTMLTrackElement : HTMLElement {
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString kind;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString src;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString srclang;
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString label;
+ [CEReactions, SetterThrows, Pure]
+ attribute boolean default;
+
+ const unsigned short NONE = 0;
+ const unsigned short LOADING = 1;
+ const unsigned short LOADED = 2;
+ const unsigned short ERROR = 3;
+ readonly attribute unsigned short readyState;
+
+ readonly attribute TextTrack? track;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLUListElement.webidl b/vendor/web-sys/webidls/enabled/HTMLUListElement.webidl
new file mode 100644
index 000000000..725437494
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLUListElement.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-ul-element
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-ul-element
+[HTMLConstructor]
+interface HTMLUListElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLUListElement {
+ [CEReactions, SetterThrows]
+ attribute boolean compact;
+ [CEReactions, SetterThrows]
+ attribute DOMString type;
+};
diff --git a/vendor/web-sys/webidls/enabled/HTMLVideoElement.webidl b/vendor/web-sys/webidls/enabled/HTMLVideoElement.webidl
new file mode 100644
index 000000000..f7e05f54d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HTMLVideoElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-video-element
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[HTMLConstructor]
+interface HTMLVideoElement : HTMLMediaElement {
+ [CEReactions, SetterThrows]
+ attribute unsigned long width;
+ [CEReactions, SetterThrows]
+ attribute unsigned long height;
+ readonly attribute unsigned long videoWidth;
+ readonly attribute unsigned long videoHeight;
+ [CEReactions, SetterThrows]
+ attribute DOMString poster;
+};
+
+// https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#idl-def-HTMLVideoElement
+partial interface HTMLVideoElement {
+ [Func="mozilla::dom::MediaSource::Enabled", NewObject]
+ VideoPlaybackQuality getVideoPlaybackQuality();
+};
diff --git a/vendor/web-sys/webidls/enabled/HashChangeEvent.webidl b/vendor/web-sys/webidls/enabled/HashChangeEvent.webidl
new file mode 100644
index 000000000..e8e5823ca
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HashChangeEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional HashChangeEventInit eventInitDict), LegacyEventInit]
+interface HashChangeEvent : Event
+{
+ readonly attribute DOMString oldURL;
+ readonly attribute DOMString newURL;
+
+ undefined initHashChangeEvent(DOMString typeArg,
+ optional boolean canBubbleArg = false,
+ optional boolean cancelableArg = false,
+ optional DOMString oldURLArg = "",
+ optional DOMString newURLArg = "");
+};
+
+dictionary HashChangeEventInit : EventInit
+{
+ DOMString oldURL = "";
+ DOMString newURL = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/Headers.webidl b/vendor/web-sys/webidls/enabled/Headers.webidl
new file mode 100644
index 000000000..34f751c77
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Headers.webidl
@@ -0,0 +1,34 @@
+/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * http://fetch.spec.whatwg.org/#headers-class
+ */
+
+typedef (Headers or sequence<sequence<ByteString>> or record<ByteString, ByteString>) HeadersInit;
+
+enum HeadersGuardEnum {
+ "none",
+ "request",
+ "request-no-cors",
+ "response",
+ "immutable"
+};
+
+[Constructor(optional HeadersInit init),
+ Exposed=(Window,Worker)]
+interface Headers {
+ [Throws] undefined append(ByteString name, ByteString value);
+ [Throws] undefined delete(ByteString name);
+ [Throws] ByteString? get(ByteString name);
+ [Throws] boolean has(ByteString name);
+ [Throws] undefined set(ByteString name, ByteString value);
+ iterable<ByteString, ByteString>;
+
+ // Used to test different guard states from mochitest.
+ // Note: Must be set prior to populating headers or will throw.
+ [ChromeOnly, SetterThrows] attribute HeadersGuardEnum guard;
+};
diff --git a/vendor/web-sys/webidls/enabled/HiddenPluginEvent.webidl b/vendor/web-sys/webidls/enabled/HiddenPluginEvent.webidl
new file mode 100644
index 000000000..23ef480e6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/HiddenPluginEvent.webidl
@@ -0,0 +1,13 @@
+// invalid widl
+// interface PluginTag;
+
+[Constructor(DOMString type, optional HiddenPluginEventInit eventInit), ChromeOnly]
+interface HiddenPluginEvent : Event
+{
+ readonly attribute PluginTag? tag;
+};
+
+dictionary HiddenPluginEventInit : EventInit
+{
+ PluginTag? tag = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/History.webidl b/vendor/web-sys/webidls/enabled/History.webidl
new file mode 100644
index 000000000..6fe161787
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/History.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-history-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+enum ScrollRestoration { "auto", "manual" };
+
+interface History {
+ [Throws]
+ readonly attribute unsigned long length;
+ [Throws]
+ attribute ScrollRestoration scrollRestoration;
+ [Throws]
+ readonly attribute any state;
+ [Throws]
+ undefined go(optional long delta = 0);
+ [Throws]
+ undefined back();
+ [Throws]
+ undefined forward();
+ [Throws]
+ undefined pushState(any data, DOMString title, optional DOMString? url = null);
+ [Throws]
+ undefined replaceState(any data, DOMString title, optional DOMString? url = null);
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBCursor.webidl b/vendor/web-sys/webidls/enabled/IDBCursor.webidl
new file mode 100644
index 000000000..bbbfebecd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBCursor.webidl
@@ -0,0 +1,52 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBCursorDirection
+ */
+
+enum IDBCursorDirection {
+ "next",
+ "nextunique",
+ "prev",
+ "prevunique"
+};
+
+[Exposed=(Window,Worker)]
+interface IDBCursor {
+ readonly attribute (IDBObjectStore or IDBIndex) source;
+
+ [BinaryName="getDirection"]
+ readonly attribute IDBCursorDirection direction;
+
+ [Throws]
+ readonly attribute any key;
+
+ [Throws]
+ readonly attribute any primaryKey;
+
+ readonly attribute IDBRequest request;
+
+ [Throws]
+ IDBRequest update (any value);
+
+ [Throws]
+ undefined advance ([EnforceRange] unsigned long count);
+
+ [Throws]
+ undefined continue (optional any key);
+
+ [Throws]
+ undefined continuePrimaryKey(any key, any primaryKey);
+
+ [Throws]
+ IDBRequest delete ();
+};
+
+[Exposed=(Window,Worker)]
+interface IDBCursorWithValue : IDBCursor {
+ [Throws]
+ readonly attribute any value;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBDatabase.webidl b/vendor/web-sys/webidls/enabled/IDBDatabase.webidl
new file mode 100644
index 000000000..069901a68
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBDatabase.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStoreParameters
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker)]
+interface IDBDatabase : EventTarget {
+ readonly attribute DOMString name;
+ readonly attribute unsigned long long version;
+
+ readonly attribute DOMStringList objectStoreNames;
+
+ [Throws]
+ IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStoreParameters optionalParameters = {});
+
+ [Throws]
+ undefined deleteObjectStore (DOMString name);
+
+ [Throws]
+ IDBTransaction transaction ((DOMString or sequence<DOMString>) storeNames,
+ optional IDBTransactionMode mode = "readonly");
+
+ undefined close ();
+
+ attribute EventHandler onabort;
+ attribute EventHandler onclose;
+ attribute EventHandler onerror;
+ attribute EventHandler onversionchange;
+};
+
+partial interface IDBDatabase {
+ [Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
+ readonly attribute StorageType storage;
+
+ [Exposed=Window, Throws, Deprecated="IDBDatabaseCreateMutableFile"]
+ IDBRequest createMutableFile (DOMString name, optional DOMString type);
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBFactory.webidl b/vendor/web-sys/webidls/enabled/IDBFactory.webidl
new file mode 100644
index 000000000..e8b2c3ec0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBFactory.webidl
@@ -0,0 +1,66 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBFactory
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// invalid widl
+// interface Principal;
+
+dictionary IDBOpenDBOptions
+{
+ [EnforceRange] unsigned long long version;
+ StorageType storage;
+};
+
+/**
+ * Interface that defines the indexedDB property on a window. See
+ * http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBFactory
+ * for more information.
+ */
+[Exposed=(Window,Worker)]
+interface IDBFactory {
+ [Throws, NeedsCallerType]
+ IDBOpenDBRequest
+ open(DOMString name,
+ [EnforceRange] unsigned long long version);
+
+ [Throws, NeedsCallerType]
+ IDBOpenDBRequest
+ open(DOMString name,
+ optional IDBOpenDBOptions options = {});
+
+ [Throws, NeedsCallerType]
+ IDBOpenDBRequest
+ deleteDatabase(DOMString name,
+ optional IDBOpenDBOptions options = {});
+
+ [Throws]
+ short
+ cmp(any first,
+ any second);
+
+ [Throws, ChromeOnly, NeedsCallerType]
+ IDBOpenDBRequest
+ openForPrincipal(Principal principal,
+ DOMString name,
+ [EnforceRange] unsigned long long version);
+
+ [Throws, ChromeOnly, NeedsCallerType]
+ IDBOpenDBRequest
+ openForPrincipal(Principal principal,
+ DOMString name,
+ optional IDBOpenDBOptions options = {});
+
+ [Throws, ChromeOnly, NeedsCallerType]
+ IDBOpenDBRequest
+ deleteForPrincipal(Principal principal,
+ DOMString name,
+ optional IDBOpenDBOptions options = {});
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBFileHandle.webidl b/vendor/web-sys/webidls/enabled/IDBFileHandle.webidl
new file mode 100644
index 000000000..233ff2f24
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBFileHandle.webidl
@@ -0,0 +1,43 @@
+/* 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 obtaone at http://mozilla.org/MPL/2.0/. */
+
+dictionary IDBFileMetadataParameters
+{
+ boolean size = true;
+ boolean lastModified = true;
+};
+
+[Exposed=Window]
+interface IDBFileHandle : EventTarget
+{
+ readonly attribute IDBMutableFile? mutableFile;
+ // this is deprecated due to renaming in the spec
+ readonly attribute IDBMutableFile? fileHandle; // now mutableFile
+ readonly attribute FileMode mode;
+ readonly attribute boolean active;
+ attribute unsigned long long? location;
+
+ [Throws]
+ IDBFileRequest? getMetadata(optional IDBFileMetadataParameters parameters = {});
+ [Throws]
+ IDBFileRequest? readAsArrayBuffer(unsigned long long size);
+ [Throws]
+ IDBFileRequest? readAsText(unsigned long long size,
+ optional DOMString? encoding = null);
+
+ [Throws]
+ IDBFileRequest? write((DOMString or ArrayBuffer or ArrayBufferView or Blob) value);
+ [Throws]
+ IDBFileRequest? append((DOMString or ArrayBuffer or ArrayBufferView or Blob) value);
+ [Throws]
+ IDBFileRequest? truncate(optional unsigned long long size);
+ [Throws]
+ IDBFileRequest? flush();
+ [Throws]
+ undefined abort();
+
+ attribute EventHandler oncomplete;
+ attribute EventHandler onabort;
+ attribute EventHandler onerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBFileRequest.webidl b/vendor/web-sys/webidls/enabled/IDBFileRequest.webidl
new file mode 100644
index 000000000..7e9bae27a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBFileRequest.webidl
@@ -0,0 +1,14 @@
+/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=2 et sw=2 tw=80: */
+/* 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/. */
+
+[Exposed=Window]
+interface IDBFileRequest : DOMRequest {
+ readonly attribute IDBFileHandle? fileHandle;
+ // this is deprecated due to renaming in the spec
+ readonly attribute IDBFileHandle? lockedFile; // now fileHandle
+
+ attribute EventHandler onprogress;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBIndex.webidl b/vendor/web-sys/webidls/enabled/IDBIndex.webidl
new file mode 100644
index 000000000..f53576374
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBIndex.webidl
@@ -0,0 +1,65 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBIndexParameters
+ */
+
+dictionary IDBIndexParameters {
+ boolean unique = false;
+ boolean multiEntry = false;
+ // <null>: Not locale-aware, uses normal JS sorting.
+ // <string>: Always sorted based on the rules of the specified
+ // locale (e.g. "en-US", etc.).
+ // "auto": Sorted by the platform default, may change based on
+ // user agent options.
+ DOMString? locale = null;
+};
+
+[Exposed=(Window,Worker)]
+interface IDBIndex {
+ [SetterThrows]
+ attribute DOMString name;
+
+ readonly attribute IDBObjectStore objectStore;
+
+ [Throws]
+ readonly attribute any keyPath;
+
+ readonly attribute boolean multiEntry;
+ readonly attribute boolean unique;
+
+ // <null>: Not locale-aware, uses normal JS sorting.
+ // <string>: Sorted based on the rules of the specified locale.
+ // Note: never returns "auto", only the current locale.
+ [Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
+ readonly attribute DOMString? locale;
+
+ [Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
+ readonly attribute boolean isAutoLocale;
+
+ [Throws]
+ IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
+
+ [Throws]
+ IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection direction = "next");
+
+ [Throws]
+ IDBRequest get (any key);
+
+ [Throws]
+ IDBRequest getKey (any key);
+
+ [Throws]
+ IDBRequest count (optional any key);
+};
+
+partial interface IDBIndex {
+ [Throws]
+ IDBRequest getAll (optional any key, optional [EnforceRange] unsigned long limit);
+
+ [Throws]
+ IDBRequest getAllKeys (optional any key, optional [EnforceRange] unsigned long limit);
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBKeyRange.webidl b/vendor/web-sys/webidls/enabled/IDBKeyRange.webidl
new file mode 100644
index 000000000..92469aeb0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBKeyRange.webidl
@@ -0,0 +1,41 @@
+/* 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/. */
+/*
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker)]
+interface IDBKeyRange {
+ [Throws]
+ readonly attribute any lower;
+ [Throws]
+ readonly attribute any upper;
+ [Constant]
+ readonly attribute boolean lowerOpen;
+ [Constant]
+ readonly attribute boolean upperOpen;
+ [Throws]
+ boolean _includes(any key);
+
+
+ [NewObject, Throws]
+ static IDBKeyRange only (any value);
+ [NewObject, Throws]
+ static IDBKeyRange lowerBound (any lower, optional boolean open = false);
+ [NewObject, Throws]
+ static IDBKeyRange upperBound (any upper, optional boolean open = false);
+ [NewObject, Throws]
+ static IDBKeyRange bound (any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
+interface IDBLocaleAwareKeyRange : IDBKeyRange {
+ [NewObject, Throws]
+ static IDBLocaleAwareKeyRange bound (any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBMutableFile.webidl b/vendor/web-sys/webidls/enabled/IDBMutableFile.webidl
new file mode 100644
index 000000000..973a0e5d0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBMutableFile.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/. */
+
+[Exposed=Window]
+interface IDBMutableFile : EventTarget {
+ readonly attribute DOMString name;
+ readonly attribute DOMString type;
+
+ readonly attribute IDBDatabase database;
+
+ [Throws, Deprecated="IDBMutableFileOpen"]
+ IDBFileHandle open(optional FileMode mode = "readonly");
+
+ [Throws, UseCounter]
+ DOMRequest getFile();
+
+ attribute EventHandler onabort;
+ attribute EventHandler onerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBObjectStore.webidl b/vendor/web-sys/webidls/enabled/IDBObjectStore.webidl
new file mode 100644
index 000000000..70a650b17
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBObjectStore.webidl
@@ -0,0 +1,70 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore
+ */
+
+dictionary IDBObjectStoreParameters {
+ (DOMString or sequence<DOMString>)? keyPath = null;
+ boolean autoIncrement = false;
+};
+
+[Exposed=(Window,Worker)]
+interface IDBObjectStore {
+ [SetterThrows]
+ attribute DOMString name;
+
+ [Throws]
+ readonly attribute any keyPath;
+
+ readonly attribute DOMStringList indexNames;
+ readonly attribute IDBTransaction transaction;
+ readonly attribute boolean autoIncrement;
+
+ [Throws]
+ IDBRequest put (any value, optional any key);
+
+ [Throws]
+ IDBRequest add (any value, optional any key);
+
+ [Throws]
+ IDBRequest delete (any key);
+
+ [Throws]
+ IDBRequest get (any key);
+
+ [Throws]
+ IDBRequest getKey (any key);
+
+ [Throws]
+ IDBRequest clear ();
+
+ [Throws]
+ IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
+
+ [Throws]
+ IDBIndex createIndex (DOMString name, (DOMString or sequence<DOMString>) keyPath, optional IDBIndexParameters optionalParameters = {});
+
+ [Throws]
+ IDBIndex index (DOMString name);
+
+ [Throws]
+ undefined deleteIndex (DOMString indexName);
+
+ [Throws]
+ IDBRequest count (optional any key);
+};
+
+partial interface IDBObjectStore {
+ [Throws]
+ IDBRequest getAll (optional any key, optional [EnforceRange] unsigned long limit);
+
+ [Throws]
+ IDBRequest getAllKeys (optional any key, optional [EnforceRange] unsigned long limit);
+
+ [Throws]
+ IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection direction = "next");
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBOpenDBRequest.webidl b/vendor/web-sys/webidls/enabled/IDBOpenDBRequest.webidl
new file mode 100644
index 000000000..8668009a6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBOpenDBRequest.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBOpenDBRequest
+ */
+
+[Exposed=(Window,Worker)]
+interface IDBOpenDBRequest : IDBRequest {
+ attribute EventHandler onblocked;
+
+ attribute EventHandler onupgradeneeded;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBRequest.webidl b/vendor/web-sys/webidls/enabled/IDBRequest.webidl
new file mode 100644
index 000000000..029368bc7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBRequest.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBRequest
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBRequestReadyState
+ */
+
+enum IDBRequestReadyState {
+ "pending",
+ "done"
+};
+
+[Exposed=(Window,Worker)]
+interface IDBRequest : EventTarget {
+ [Throws]
+ readonly attribute any result;
+
+ [Throws]
+ readonly attribute DOMException? error;
+
+ readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source;
+ readonly attribute IDBTransaction? transaction;
+ readonly attribute IDBRequestReadyState readyState;
+
+ attribute EventHandler onsuccess;
+
+ attribute EventHandler onerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBTransaction.webidl b/vendor/web-sys/webidls/enabled/IDBTransaction.webidl
new file mode 100644
index 000000000..13ded1c79
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBTransaction.webidl
@@ -0,0 +1,47 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransactionMode
+ */
+
+enum IDBTransactionMode {
+ "readonly",
+ "readwrite",
+ // The "readwriteflush" mode is only available when the
+ // |IndexedDatabaseManager::ExperimentalFeaturesEnabled()| function returns
+ // true. This mode is not yet part of the standard.
+ "readwriteflush",
+ "cleanup",
+ "versionchange"
+};
+
+[Exposed=(Window,Worker)]
+interface IDBTransaction : EventTarget {
+ [Throws]
+ readonly attribute IDBTransactionMode mode;
+ readonly attribute IDBDatabase db;
+
+ readonly attribute DOMException? error;
+
+ [Throws]
+ IDBObjectStore objectStore (DOMString name);
+
+ [Throws]
+ undefined commit();
+
+ [Throws]
+ undefined abort();
+
+ attribute EventHandler onabort;
+ attribute EventHandler oncomplete;
+ attribute EventHandler onerror;
+};
+
+// This seems to be custom
+partial interface IDBTransaction {
+ readonly attribute DOMStringList objectStoreNames;
+};
diff --git a/vendor/web-sys/webidls/enabled/IDBVersionChangeEvent.webidl b/vendor/web-sys/webidls/enabled/IDBVersionChangeEvent.webidl
new file mode 100644
index 000000000..c25f561d7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IDBVersionChangeEvent.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBVersionChangeEvent
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary IDBVersionChangeEventInit : EventInit {
+ unsigned long long oldVersion = 0;
+ unsigned long long? newVersion = null;
+};
+
+[Exposed=(Window,Worker)]
+interface IDBVersionChangeEvent : Event {
+ constructor(DOMString type,
+ optional IDBVersionChangeEventInit eventInitDict = {});
+
+ readonly attribute unsigned long long oldVersion;
+ readonly attribute unsigned long long? newVersion;
+};
diff --git a/vendor/web-sys/webidls/enabled/IIRFilterNode.webidl b/vendor/web-sys/webidls/enabled/IIRFilterNode.webidl
new file mode 100644
index 000000000..8762b87dd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IIRFilterNode.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is https://www.w3.org/TR/webaudio
+ *
+ * Copyright © 2016 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary IIRFilterOptions : AudioNodeOptions {
+ required sequence<double> feedforward;
+ required sequence<double> feedback;
+};
+
+[Pref="dom.webaudio.enabled",
+Constructor(BaseAudioContext context, IIRFilterOptions options)]
+interface IIRFilterNode : AudioNode {
+ undefined getFrequencyResponse(Float32Array frequencyHz, Float32Array magResponse, Float32Array phaseResponse);
+};
diff --git a/vendor/web-sys/webidls/enabled/IdleDeadline.webidl b/vendor/web-sys/webidls/enabled/IdleDeadline.webidl
new file mode 100644
index 000000000..903122ab8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IdleDeadline.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * https://w3c.github.io/requestidlecallback/
+ */
+
+[Exposed=(Window,System),
+ Func="nsGlobalWindowInner::IsRequestIdleCallbackEnabled"]
+interface IdleDeadline {
+ DOMHighResTimeStamp timeRemaining();
+ readonly attribute boolean didTimeout;
+};
diff --git a/vendor/web-sys/webidls/enabled/ImageBitmap.webidl b/vendor/web-sys/webidls/enabled/ImageBitmap.webidl
new file mode 100644
index 000000000..e9120355a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ImageBitmap.webidl
@@ -0,0 +1,46 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/webappapis.html#images
+ */
+
+typedef (CanvasImageSource or
+ Blob or
+ ImageData) ImageBitmapSource;
+
+[Exposed=(Window,Worker)]
+interface ImageBitmap {
+ [Constant]
+ readonly attribute unsigned long width;
+ [Constant]
+ readonly attribute unsigned long height;
+};
+
+// It's crucial that there be a way to explicitly dispose of ImageBitmaps
+// since they refer to potentially large graphics resources. Some uses
+// of this API proposal will result in repeated allocations of ImageBitmaps,
+// and garbage collection will not reliably reclaim them quickly enough.
+// Here we reuse close(), which also exists on another Transferable type,
+// MessagePort. Potentially, all Transferable types should inherit from a
+// new interface type "Closeable".
+partial interface ImageBitmap {
+ // Dispose of all graphical resources associated with this ImageBitmap.
+ undefined close();
+};
+
+enum ImageOrientation { "from-image", "flipY" };
+enum PremultiplyAlpha { "none", "premultiply", "default" };
+enum ColorSpaceConversion { "none", "default" };
+enum ResizeQuality { "pixelated", "low", "medium", "high" };
+
+dictionary ImageBitmapOptions {
+ ImageOrientation imageOrientation = "from-image";
+ PremultiplyAlpha premultiplyAlpha = "default";
+ ColorSpaceConversion colorSpaceConversion = "default";
+ [EnforceRange] unsigned long resizeWidth;
+ [EnforceRange] unsigned long resizeHeight;
+ ResizeQuality resizeQuality = "low";
+};
diff --git a/vendor/web-sys/webidls/enabled/ImageBitmapRenderingContext.webidl b/vendor/web-sys/webidls/enabled/ImageBitmapRenderingContext.webidl
new file mode 100644
index 000000000..7a4e0fde5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ImageBitmapRenderingContext.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://wiki.whatwg.org/wiki/OffscreenCanvas
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// The new ImageBitmapRenderingContext is a canvas rendering context
+// which only provides the functionality to replace the canvas's
+// contents with the given ImageBitmap. Its context id (the first argument
+// to getContext) is "bitmaprenderer".
+[Exposed=(Window,Worker)]
+interface ImageBitmapRenderingContext {
+ // Displays the given ImageBitmap in the canvas associated with this
+ // rendering context. Ownership of the ImageBitmap is transferred to
+ // the canvas. The caller may not use its reference to the ImageBitmap
+ // after making this call. (This semantic is crucial to enable prompt
+ // reclamation of expensive graphics resources, rather than relying on
+ // garbage collection to do so.)
+ //
+ // The ImageBitmap conceptually replaces the canvas's bitmap, but
+ // it does not change the canvas's intrinsic width or height.
+ //
+ // The ImageBitmap, when displayed, is clipped to the rectangle
+ // defined by the canvas's instrinsic width and height. Pixels that
+ // would be covered by the canvas's bitmap which are not covered by
+ // the supplied ImageBitmap are rendered transparent black. Any CSS
+ // styles affecting the display of the canvas are applied as usual.
+ undefined transferFromImageBitmap(ImageBitmap bitmap);
+
+ // Deprecated version of transferFromImageBitmap
+ [Deprecated="ImageBitmapRenderingContext_TransferImageBitmap"]
+ undefined transferImageBitmap(ImageBitmap bitmap);
+};
diff --git a/vendor/web-sys/webidls/enabled/ImageCaptureErrorEvent.webidl b/vendor/web-sys/webidls/enabled/ImageCaptureErrorEvent.webidl
new file mode 100644
index 000000000..b7300aa30
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ImageCaptureErrorEvent.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/ImageCapture.html
+ *
+ * Copyright © 2012-2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.imagecapture.enabled",
+Constructor(DOMString type, optional ImageCaptureErrorEventInit imageCaptureErrorInitDict)]
+interface ImageCaptureErrorEvent : Event {
+ readonly attribute ImageCaptureError? imageCaptureError;
+};
+
+dictionary ImageCaptureErrorEventInit : EventInit {
+ ImageCaptureError? imageCaptureError = null;
+};
+
+[NoInterfaceObject]
+interface ImageCaptureError {
+ const unsigned short FRAME_GRAB_ERROR = 1;
+ const unsigned short SETTINGS_ERROR = 2;
+ const unsigned short PHOTO_ERROR = 3;
+ const unsigned short ERROR_UNKNOWN = 4;
+ readonly attribute unsigned short code;
+ readonly attribute DOMString message;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/ImageData.webidl b/vendor/web-sys/webidls/enabled/ImageData.webidl
new file mode 100644
index 000000000..f6000bd05
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ImageData.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#imagedata
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of this document.
+ */
+
+[Constructor(unsigned long sw, unsigned long sh),
+ Constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh),
+ Exposed=(Window,Worker)]
+interface ImageData {
+ [Constant]
+ readonly attribute unsigned long width;
+ [Constant]
+ readonly attribute unsigned long height;
+ [Constant, StoreInSlot]
+ readonly attribute Uint8ClampedArray data;
+};
diff --git a/vendor/web-sys/webidls/enabled/ImageDocument.webidl b/vendor/web-sys/webidls/enabled/ImageDocument.webidl
new file mode 100644
index 000000000..d2d2a7772
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ImageDocument.webidl
@@ -0,0 +1,42 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * dom/html/public/nsIImageDocument.idl
+ */
+
+// invalid widl
+// interface imgIRequest;
+
+[ChromeOnly, OverrideBuiltins]
+interface ImageDocument : HTMLDocument {
+ /* Whether the image is overflowing visible area. */
+ readonly attribute boolean imageIsOverflowing;
+
+ /* Whether the image has been resized to fit visible area. */
+ readonly attribute boolean imageIsResized;
+
+ /* The image request being displayed in the content area */
+ [Throws]
+ readonly attribute imgIRequest? imageRequest;
+
+ /* Resize the image to fit visible area. */
+ undefined shrinkToFit();
+
+ /* Restore image original size. */
+ undefined restoreImage();
+
+ /* Restore the image, trying to keep a certain pixel in the same position.
+ * The coordinate system is that of the shrunken image.
+ */
+ undefined restoreImageTo(long x, long y);
+
+ /* A helper method for switching between states.
+ * The switching logic is as follows. If the image has been resized
+ * restore image original size, otherwise if the image is overflowing
+ * current visible area resize the image to fit the area.
+ */
+ undefined toggleImageSize();
+};
diff --git a/vendor/web-sys/webidls/enabled/InputEvent.webidl b/vendor/web-sys/webidls/enabled/InputEvent.webidl
new file mode 100644
index 000000000..f9796e7be
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/InputEvent.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional InputEventInit eventInitDict)]
+interface InputEvent : UIEvent
+{
+ readonly attribute boolean isComposing;
+ readonly attribute DOMString inputType;
+ [NeedsCallerType]
+ readonly attribute DOMString? data;
+};
+
+dictionary InputEventInit : UIEventInit
+{
+ boolean isComposing = false;
+ DOMString inputType = "";
+ // NOTE: Currently, default value of `data` attribute is declared as empty
+ // string by UI Events. However, both Chrome and Safari uses `null`,
+ // and there is a spec issue about this:
+ // https://github.com/w3c/uievents/issues/139
+ // So, we take `null` for compatibility with them.
+ DOMString? data = null;
+};
+
+partial interface InputEvent
+{
+ [NeedsCallerType]
+ readonly attribute DataTransfer? dataTransfer;
+ // Enable `getTargetRanges()` only when `beforeinput` event is enabled
+ // because this may be used for feature detection of `beforeinput` event
+ // support (due to Chrome not supporting `onbeforeinput` attribute).
+ [Pref="dom.input_events.beforeinput.enabled"]
+ sequence<StaticRange> getTargetRanges();
+};
+
+partial dictionary InputEventInit
+{
+ DataTransfer? dataTransfer = null;
+ [Pref="dom.input_events.beforeinput.enabled"]
+ sequence<StaticRange> targetRanges = [];
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/enabled/InstallTrigger.webidl b/vendor/web-sys/webidls/enabled/InstallTrigger.webidl
new file mode 100644
index 000000000..17a1d18f1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/InstallTrigger.webidl
@@ -0,0 +1,90 @@
+/* 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/.
+ */
+
+
+/**
+ * A callback function that webpages can implement to be notified when triggered
+ * installs complete.
+ */
+callback InstallTriggerCallback = undefined(DOMString url, short status);
+
+dictionary InstallTriggerData {
+ DOMString URL;
+ DOMString? IconURL;
+ DOMString? Hash;
+};
+
+/**
+ * The interface for the InstallTrigger object available to all websites.
+ */
+[ChromeOnly,
+ JSImplementation="@mozilla.org/addons/installtrigger;1"]
+interface InstallTriggerImpl {
+ /**
+ * Retained for backwards compatibility.
+ */
+ const unsigned short SKIN = 1;
+ const unsigned short LOCALE = 2;
+ const unsigned short CONTENT = 4;
+ const unsigned short PACKAGE = 7;
+
+ /**
+ * Tests if installation is enabled.
+ */
+ boolean enabled();
+
+ /**
+ * Tests if installation is enabled.
+ *
+ * @deprecated Use "enabled" in the future.
+ */
+ boolean updateEnabled();
+
+ /**
+ * Starts a new installation of a set of add-ons.
+ *
+ * @param aArgs
+ * The add-ons to install. This should be a JS object, each property
+ * is the name of an add-on to be installed. The value of the
+ * property should either be a string URL, or an object with the
+ * following properties:
+ * * URL for the add-on's URL
+ * * IconURL for an icon for the add-on
+ * * Hash for a hash of the add-on
+ * @param aCallback
+ * A callback to call as each installation succeeds or fails
+ * @return true if the installations were successfully started
+ */
+ boolean install(record<DOMString, (DOMString or InstallTriggerData)> installs,
+ optional InstallTriggerCallback callback);
+
+ /**
+ * Starts installing a new add-on.
+ *
+ * @deprecated use "install" in the future.
+ *
+ * @param aType
+ * Unused, retained for backwards compatibility
+ * @param aUrl
+ * The URL of the add-on
+ * @param aSkin
+ * Unused, retained for backwards compatibility
+ * @return true if the installation was successfully started
+ */
+ boolean installChrome(unsigned short type, DOMString url, DOMString skin);
+
+ /**
+ * Starts installing a new add-on.
+ *
+ * @deprecated use "install" in the future.
+ *
+ * @param aUrl
+ * The URL of the add-on
+ * @param aFlags
+ * Unused, retained for backwards compatibility
+ * @return true if the installation was successfully started
+ */
+ boolean startSoftwareUpdate(DOMString url, optional unsigned short flags);
+};
diff --git a/vendor/web-sys/webidls/enabled/IntersectionObserver.webidl b/vendor/web-sys/webidls/enabled/IntersectionObserver.webidl
new file mode 100644
index 000000000..d1b813b13
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IntersectionObserver.webidl
@@ -0,0 +1,62 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://wicg.github.io/IntersectionObserver/
+ */
+
+[ProbablyShortLivingWrapper, Pref="dom.IntersectionObserver.enabled"]
+interface IntersectionObserverEntry {
+ [Constant]
+ readonly attribute DOMHighResTimeStamp time;
+ [Constant]
+ readonly attribute DOMRectReadOnly? rootBounds;
+ [Constant]
+ readonly attribute DOMRectReadOnly boundingClientRect;
+ [Constant]
+ readonly attribute DOMRectReadOnly intersectionRect;
+ [Constant]
+ readonly attribute boolean isIntersecting;
+ [Constant]
+ readonly attribute double intersectionRatio;
+ [Constant]
+ readonly attribute Element target;
+};
+
+[Constructor(IntersectionCallback intersectionCallback,
+ optional IntersectionObserverInit options),
+ Pref="dom.IntersectionObserver.enabled"]
+interface IntersectionObserver {
+ [Constant]
+ readonly attribute Element? root;
+ [Constant]
+ readonly attribute DOMString rootMargin;
+ [Constant,Cached]
+ readonly attribute sequence<double> thresholds;
+ undefined observe(Element target);
+ undefined unobserve(Element target);
+ undefined disconnect();
+ sequence<IntersectionObserverEntry> takeRecords();
+
+ [ChromeOnly]
+ readonly attribute IntersectionCallback intersectionCallback;
+};
+
+callback IntersectionCallback =
+ undefined (sequence<IntersectionObserverEntry> entries, IntersectionObserver observer);
+
+dictionary IntersectionObserverEntryInit {
+ required DOMHighResTimeStamp time;
+ required DOMRectInit rootBounds;
+ required DOMRectInit boundingClientRect;
+ required DOMRectInit intersectionRect;
+ required Element target;
+};
+
+dictionary IntersectionObserverInit {
+ Element? root = null;
+ DOMString rootMargin = "0px";
+ (double or sequence<double>) threshold = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/IntlUtils.webidl b/vendor/web-sys/webidls/enabled/IntlUtils.webidl
new file mode 100644
index 000000000..c70e0f955
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IntlUtils.webidl
@@ -0,0 +1,73 @@
+/* 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/. */
+
+dictionary DisplayNameOptions {
+ DOMString style;
+ sequence<DOMString> keys;
+};
+
+dictionary DisplayNameResult {
+ DOMString locale;
+ DOMString style;
+ record<DOMString, DOMString> values;
+};
+
+dictionary LocaleInfo {
+ DOMString locale;
+ DOMString direction;
+};
+
+/**
+ * The IntlUtils interface provides helper functions for localization.
+ */
+[NoInterfaceObject]
+interface IntlUtils {
+ /**
+ * Helper function to retrieve the localized values for a list of requested
+ * keys.
+ *
+ * The function takes two arguments - locales which is a list of locale
+ * strings and options which is an object with two optional properties:
+ *
+ * keys:
+ * an Array of string values that are paths to individual terms
+ *
+ * style:
+ * a String with a value "long", "short" or "narrow"
+ *
+ * It returns an object with properties:
+ *
+ * locale:
+ * a negotiated locale string
+ *
+ * style:
+ * negotiated style
+ *
+ * values:
+ * a key-value pair list of requested keys and corresponding translated
+ * values
+ *
+ */
+ [Throws]
+ DisplayNameResult getDisplayNames(sequence<DOMString> locales,
+ optional DisplayNameOptions options);
+
+ /**
+ * Helper function to retrieve useful information about a locale.
+ *
+ * The function takes one argument - locales which is a list of locale
+ * strings.
+ *
+ * It returns an object with properties:
+ *
+ * locale:
+ * a negotiated locale string
+ *
+ * direction:
+ * text direction, "ltr" or "rtl"
+ *
+ */
+ [Throws]
+ LocaleInfo getLocaleInfo(sequence<DOMString> locales);
+};
diff --git a/vendor/web-sys/webidls/enabled/IterableIterator.webidl b/vendor/web-sys/webidls/enabled/IterableIterator.webidl
new file mode 100644
index 000000000..633b67b1e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/IterableIterator.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ */
+
+dictionary IterableKeyOrValueResult {
+ any value;
+ boolean done = false;
+};
+
+dictionary IterableKeyAndValueResult {
+ sequence<any> value = [];
+ boolean done = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/KeyAlgorithm.webidl b/vendor/web-sys/webidls/enabled/KeyAlgorithm.webidl
new file mode 100644
index 000000000..260b1e624
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyAlgorithm.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/WebCryptoAPI/
+ */
+
+dictionary KeyAlgorithm {
+ required DOMString name;
+};
+
+dictionary AesKeyAlgorithm : KeyAlgorithm {
+ required unsigned short length;
+};
+
+dictionary EcKeyAlgorithm : KeyAlgorithm {
+ required DOMString namedCurve;
+};
+
+dictionary HmacKeyAlgorithm : KeyAlgorithm {
+ required KeyAlgorithm hash;
+ required unsigned long length;
+};
+
+dictionary RsaHashedKeyAlgorithm : KeyAlgorithm {
+ required unsigned short modulusLength;
+ required Uint8Array publicExponent;
+ required KeyAlgorithm hash;
+};
+
+dictionary DhKeyAlgorithm : KeyAlgorithm {
+ required Uint8Array prime;
+ required Uint8Array generator;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/KeyEvent.webidl b/vendor/web-sys/webidls/enabled/KeyEvent.webidl
new file mode 100644
index 000000000..08a1c9ef7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyEvent.webidl
@@ -0,0 +1,243 @@
+/* -*- 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/.
+ */
+
+// http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/events.html#Events-KeyEvent
+interface KeyEvent
+{
+ const unsigned long DOM_VK_CANCEL = 0x03;
+ const unsigned long DOM_VK_HELP = 0x06;
+ const unsigned long DOM_VK_BACK_SPACE = 0x08;
+ const unsigned long DOM_VK_TAB = 0x09;
+ const unsigned long DOM_VK_CLEAR = 0x0C;
+ const unsigned long DOM_VK_RETURN = 0x0D;
+ // DOM_VK_ENTER has been never used for representing native key events.
+ // Therefore, it's removed for preventing developers being confused.
+ // const unsigned long DOM_VK_ENTER = 0x0E;
+ const unsigned long DOM_VK_SHIFT = 0x10;
+ const unsigned long DOM_VK_CONTROL = 0x11;
+ const unsigned long DOM_VK_ALT = 0x12;
+ const unsigned long DOM_VK_PAUSE = 0x13;
+ const unsigned long DOM_VK_CAPS_LOCK = 0x14;
+ const unsigned long DOM_VK_KANA = 0x15;
+ const unsigned long DOM_VK_HANGUL = 0x15;
+ const unsigned long DOM_VK_EISU = 0x16; // Japanese Mac keyboard only
+ const unsigned long DOM_VK_JUNJA = 0x17;
+ const unsigned long DOM_VK_FINAL = 0x18;
+ const unsigned long DOM_VK_HANJA = 0x19;
+ const unsigned long DOM_VK_KANJI = 0x19;
+ const unsigned long DOM_VK_ESCAPE = 0x1B;
+ const unsigned long DOM_VK_CONVERT = 0x1C;
+ const unsigned long DOM_VK_NONCONVERT = 0x1D;
+ const unsigned long DOM_VK_ACCEPT = 0x1E;
+ const unsigned long DOM_VK_MODECHANGE = 0x1F;
+ const unsigned long DOM_VK_SPACE = 0x20;
+ const unsigned long DOM_VK_PAGE_UP = 0x21;
+ const unsigned long DOM_VK_PAGE_DOWN = 0x22;
+ const unsigned long DOM_VK_END = 0x23;
+ const unsigned long DOM_VK_HOME = 0x24;
+ const unsigned long DOM_VK_LEFT = 0x25;
+ const unsigned long DOM_VK_UP = 0x26;
+ const unsigned long DOM_VK_RIGHT = 0x27;
+ const unsigned long DOM_VK_DOWN = 0x28;
+ const unsigned long DOM_VK_SELECT = 0x29;
+ const unsigned long DOM_VK_PRINT = 0x2A;
+ const unsigned long DOM_VK_EXECUTE = 0x2B;
+ const unsigned long DOM_VK_PRINTSCREEN = 0x2C;
+ const unsigned long DOM_VK_INSERT = 0x2D;
+ const unsigned long DOM_VK_DELETE = 0x2E;
+
+ // DOM_VK_0 - DOM_VK_9 match their ascii values
+ const unsigned long DOM_VK_0 = 0x30;
+ const unsigned long DOM_VK_1 = 0x31;
+ const unsigned long DOM_VK_2 = 0x32;
+ const unsigned long DOM_VK_3 = 0x33;
+ const unsigned long DOM_VK_4 = 0x34;
+ const unsigned long DOM_VK_5 = 0x35;
+ const unsigned long DOM_VK_6 = 0x36;
+ const unsigned long DOM_VK_7 = 0x37;
+ const unsigned long DOM_VK_8 = 0x38;
+ const unsigned long DOM_VK_9 = 0x39;
+
+ const unsigned long DOM_VK_COLON = 0x3A;
+ const unsigned long DOM_VK_SEMICOLON = 0x3B;
+ const unsigned long DOM_VK_LESS_THAN = 0x3C;
+ const unsigned long DOM_VK_EQUALS = 0x3D;
+ const unsigned long DOM_VK_GREATER_THAN = 0x3E;
+ const unsigned long DOM_VK_QUESTION_MARK = 0x3F;
+ const unsigned long DOM_VK_AT = 0x40;
+
+ // DOM_VK_A - DOM_VK_Z match their ascii values
+ const unsigned long DOM_VK_A = 0x41;
+ const unsigned long DOM_VK_B = 0x42;
+ const unsigned long DOM_VK_C = 0x43;
+ const unsigned long DOM_VK_D = 0x44;
+ const unsigned long DOM_VK_E = 0x45;
+ const unsigned long DOM_VK_F = 0x46;
+ const unsigned long DOM_VK_G = 0x47;
+ const unsigned long DOM_VK_H = 0x48;
+ const unsigned long DOM_VK_I = 0x49;
+ const unsigned long DOM_VK_J = 0x4A;
+ const unsigned long DOM_VK_K = 0x4B;
+ const unsigned long DOM_VK_L = 0x4C;
+ const unsigned long DOM_VK_M = 0x4D;
+ const unsigned long DOM_VK_N = 0x4E;
+ const unsigned long DOM_VK_O = 0x4F;
+ const unsigned long DOM_VK_P = 0x50;
+ const unsigned long DOM_VK_Q = 0x51;
+ const unsigned long DOM_VK_R = 0x52;
+ const unsigned long DOM_VK_S = 0x53;
+ const unsigned long DOM_VK_T = 0x54;
+ const unsigned long DOM_VK_U = 0x55;
+ const unsigned long DOM_VK_V = 0x56;
+ const unsigned long DOM_VK_W = 0x57;
+ const unsigned long DOM_VK_X = 0x58;
+ const unsigned long DOM_VK_Y = 0x59;
+ const unsigned long DOM_VK_Z = 0x5A;
+
+ const unsigned long DOM_VK_WIN = 0x5B;
+ const unsigned long DOM_VK_CONTEXT_MENU = 0x5D;
+ const unsigned long DOM_VK_SLEEP = 0x5F;
+
+ // Numpad keys
+ const unsigned long DOM_VK_NUMPAD0 = 0x60;
+ const unsigned long DOM_VK_NUMPAD1 = 0x61;
+ const unsigned long DOM_VK_NUMPAD2 = 0x62;
+ const unsigned long DOM_VK_NUMPAD3 = 0x63;
+ const unsigned long DOM_VK_NUMPAD4 = 0x64;
+ const unsigned long DOM_VK_NUMPAD5 = 0x65;
+ const unsigned long DOM_VK_NUMPAD6 = 0x66;
+ const unsigned long DOM_VK_NUMPAD7 = 0x67;
+ const unsigned long DOM_VK_NUMPAD8 = 0x68;
+ const unsigned long DOM_VK_NUMPAD9 = 0x69;
+ const unsigned long DOM_VK_MULTIPLY = 0x6A;
+ const unsigned long DOM_VK_ADD = 0x6B;
+ const unsigned long DOM_VK_SEPARATOR = 0x6C;
+ const unsigned long DOM_VK_SUBTRACT = 0x6D;
+ const unsigned long DOM_VK_DECIMAL = 0x6E;
+ const unsigned long DOM_VK_DIVIDE = 0x6F;
+
+ const unsigned long DOM_VK_F1 = 0x70;
+ const unsigned long DOM_VK_F2 = 0x71;
+ const unsigned long DOM_VK_F3 = 0x72;
+ const unsigned long DOM_VK_F4 = 0x73;
+ const unsigned long DOM_VK_F5 = 0x74;
+ const unsigned long DOM_VK_F6 = 0x75;
+ const unsigned long DOM_VK_F7 = 0x76;
+ const unsigned long DOM_VK_F8 = 0x77;
+ const unsigned long DOM_VK_F9 = 0x78;
+ const unsigned long DOM_VK_F10 = 0x79;
+ const unsigned long DOM_VK_F11 = 0x7A;
+ const unsigned long DOM_VK_F12 = 0x7B;
+ const unsigned long DOM_VK_F13 = 0x7C;
+ const unsigned long DOM_VK_F14 = 0x7D;
+ const unsigned long DOM_VK_F15 = 0x7E;
+ const unsigned long DOM_VK_F16 = 0x7F;
+ const unsigned long DOM_VK_F17 = 0x80;
+ const unsigned long DOM_VK_F18 = 0x81;
+ const unsigned long DOM_VK_F19 = 0x82;
+ const unsigned long DOM_VK_F20 = 0x83;
+ const unsigned long DOM_VK_F21 = 0x84;
+ const unsigned long DOM_VK_F22 = 0x85;
+ const unsigned long DOM_VK_F23 = 0x86;
+ const unsigned long DOM_VK_F24 = 0x87;
+
+ const unsigned long DOM_VK_NUM_LOCK = 0x90;
+ const unsigned long DOM_VK_SCROLL_LOCK = 0x91;
+
+ // OEM specific virtual keyCode of Windows should pass through DOM keyCode
+ // for compatibility with the other web browsers on Windows.
+ const unsigned long DOM_VK_WIN_OEM_FJ_JISHO = 0x92;
+ const unsigned long DOM_VK_WIN_OEM_FJ_MASSHOU = 0x93;
+ const unsigned long DOM_VK_WIN_OEM_FJ_TOUROKU = 0x94;
+ const unsigned long DOM_VK_WIN_OEM_FJ_LOYA = 0x95;
+ const unsigned long DOM_VK_WIN_OEM_FJ_ROYA = 0x96;
+
+ const unsigned long DOM_VK_CIRCUMFLEX = 0xA0;
+ const unsigned long DOM_VK_EXCLAMATION = 0xA1;
+ const unsigned long DOM_VK_DOUBLE_QUOTE = 0xA2;
+ const unsigned long DOM_VK_HASH = 0xA3;
+ const unsigned long DOM_VK_DOLLAR = 0xA4;
+ const unsigned long DOM_VK_PERCENT = 0xA5;
+ const unsigned long DOM_VK_AMPERSAND = 0xA6;
+ const unsigned long DOM_VK_UNDERSCORE = 0xA7;
+ const unsigned long DOM_VK_OPEN_PAREN = 0xA8;
+ const unsigned long DOM_VK_CLOSE_PAREN = 0xA9;
+ const unsigned long DOM_VK_ASTERISK = 0xAA;
+ const unsigned long DOM_VK_PLUS = 0xAB;
+ const unsigned long DOM_VK_PIPE = 0xAC;
+ const unsigned long DOM_VK_HYPHEN_MINUS = 0xAD;
+
+ const unsigned long DOM_VK_OPEN_CURLY_BRACKET = 0xAE;
+ const unsigned long DOM_VK_CLOSE_CURLY_BRACKET = 0xAF;
+
+ const unsigned long DOM_VK_TILDE = 0xB0;
+
+ const unsigned long DOM_VK_VOLUME_MUTE = 0xB5;
+ const unsigned long DOM_VK_VOLUME_DOWN = 0xB6;
+ const unsigned long DOM_VK_VOLUME_UP = 0xB7;
+
+ const unsigned long DOM_VK_COMMA = 0xBC;
+ const unsigned long DOM_VK_PERIOD = 0xBE;
+ const unsigned long DOM_VK_SLASH = 0xBF;
+ const unsigned long DOM_VK_BACK_QUOTE = 0xC0;
+ const unsigned long DOM_VK_OPEN_BRACKET = 0xDB; // square bracket
+ const unsigned long DOM_VK_BACK_SLASH = 0xDC;
+ const unsigned long DOM_VK_CLOSE_BRACKET = 0xDD; // square bracket
+ const unsigned long DOM_VK_QUOTE = 0xDE; // Apostrophe
+
+ const unsigned long DOM_VK_META = 0xE0;
+ const unsigned long DOM_VK_ALTGR = 0xE1;
+
+ // OEM specific virtual keyCode of Windows should pass through DOM keyCode
+ // for compatibility with the other web browsers on Windows.
+ const unsigned long DOM_VK_WIN_ICO_HELP = 0xE3;
+ const unsigned long DOM_VK_WIN_ICO_00 = 0xE4;
+
+ // IME processed key.
+ const unsigned long DOM_VK_PROCESSKEY = 0xE5;
+
+ // OEM specific virtual keyCode of Windows should pass through DOM keyCode
+ // for compatibility with the other web browsers on Windows.
+ const unsigned long DOM_VK_WIN_ICO_CLEAR = 0xE6;
+ const unsigned long DOM_VK_WIN_OEM_RESET = 0xE9;
+ const unsigned long DOM_VK_WIN_OEM_JUMP = 0xEA;
+ const unsigned long DOM_VK_WIN_OEM_PA1 = 0xEB;
+ const unsigned long DOM_VK_WIN_OEM_PA2 = 0xEC;
+ const unsigned long DOM_VK_WIN_OEM_PA3 = 0xED;
+ const unsigned long DOM_VK_WIN_OEM_WSCTRL = 0xEE;
+ const unsigned long DOM_VK_WIN_OEM_CUSEL = 0xEF;
+ const unsigned long DOM_VK_WIN_OEM_ATTN = 0xF0;
+ const unsigned long DOM_VK_WIN_OEM_FINISH = 0xF1;
+ const unsigned long DOM_VK_WIN_OEM_COPY = 0xF2;
+ const unsigned long DOM_VK_WIN_OEM_AUTO = 0xF3;
+ const unsigned long DOM_VK_WIN_OEM_ENLW = 0xF4;
+ const unsigned long DOM_VK_WIN_OEM_BACKTAB = 0xF5;
+
+ // Following keys are not used on most keyboards. However, for compatibility
+ // with other browsers on Windows, we should define them.
+ const unsigned long DOM_VK_ATTN = 0xF6;
+ const unsigned long DOM_VK_CRSEL = 0xF7;
+ const unsigned long DOM_VK_EXSEL = 0xF8;
+ const unsigned long DOM_VK_EREOF = 0xF9;
+ const unsigned long DOM_VK_PLAY = 0xFA;
+ const unsigned long DOM_VK_ZOOM = 0xFB;
+ const unsigned long DOM_VK_PA1 = 0xFD;
+
+ // OEM specific virtual keyCode of Windows should pass through DOM keyCode
+ // for compatibility with the other web browsers on Windows.
+ const unsigned long DOM_VK_WIN_OEM_CLEAR = 0xFE;
+
+ undefined initKeyEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Window? view = null,
+ optional boolean ctrlKey = false,
+ optional boolean altKey = false,
+ optional boolean shiftKey = false,
+ optional boolean metaKey = false,
+ optional unsigned long keyCode = 0,
+ optional unsigned long charCode = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/KeyIdsInitData.webidl b/vendor/web-sys/webidls/enabled/KeyIdsInitData.webidl
new file mode 100644
index 000000000..108a5572e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyIdsInitData.webidl
@@ -0,0 +1,11 @@
+/* -*- 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/.
+ */
+
+// "KeyIds" EME init data format definition/parser, as defined by
+// https://w3c.github.io/encrypted-media/format-registry/initdata/keyids.html
+dictionary KeyIdsInitData {
+ required sequence<DOMString> kids;
+};
diff --git a/vendor/web-sys/webidls/enabled/KeyboardEvent.webidl b/vendor/web-sys/webidls/enabled/KeyboardEvent.webidl
new file mode 100644
index 000000000..e0e617358
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyboardEvent.webidl
@@ -0,0 +1,68 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString typeArg, optional KeyboardEventInit keyboardEventInitDict)]
+interface KeyboardEvent : UIEvent
+{
+ readonly attribute unsigned long charCode;
+ [NeedsCallerType]
+ readonly attribute unsigned long keyCode;
+
+ [NeedsCallerType]
+ readonly attribute boolean altKey;
+ [NeedsCallerType]
+ readonly attribute boolean ctrlKey;
+ [NeedsCallerType]
+ readonly attribute boolean shiftKey;
+ readonly attribute boolean metaKey;
+
+ [NeedsCallerType]
+ boolean getModifierState(DOMString key);
+
+ const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00;
+ const unsigned long DOM_KEY_LOCATION_LEFT = 0x01;
+ const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02;
+ const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03;
+
+ readonly attribute unsigned long location;
+ readonly attribute boolean repeat;
+ readonly attribute boolean isComposing;
+
+ readonly attribute DOMString key;
+ [NeedsCallerType]
+ readonly attribute DOMString code;
+
+ [Throws]
+ undefined initKeyboardEvent(DOMString typeArg,
+ optional boolean bubblesArg = false,
+ optional boolean cancelableArg = false,
+ optional Window? viewArg = null,
+ optional DOMString keyArg = "",
+ optional unsigned long locationArg = 0,
+ optional boolean ctrlKey = false,
+ optional boolean altKey = false,
+ optional boolean shiftKey = false,
+ optional boolean metaKey = false);
+
+ // This returns the initialized dictionary for generating a
+ // same-type keyboard event
+ [Cached, ChromeOnly, Constant]
+ readonly attribute KeyboardEventInit initDict;
+};
+
+dictionary KeyboardEventInit : EventModifierInit
+{
+ DOMString key = "";
+ DOMString code = "";
+ unsigned long location = 0;
+ boolean repeat = false;
+ boolean isComposing = false;
+
+ // legacy attributes
+ unsigned long charCode = 0;
+ unsigned long keyCode = 0;
+ unsigned long which = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/KeyframeAnimationOptions.webidl b/vendor/web-sys/webidls/enabled/KeyframeAnimationOptions.webidl
new file mode 100644
index 000000000..047f46ed1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyframeAnimationOptions.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/fxtf/web-animations/#the-animatable-interface
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// This typedef is off in its own file, because of bug 995352.
+typedef (unrestricted double or KeyframeAnimationOptions) UnrestrictedDoubleOrKeyframeAnimationOptions;
diff --git a/vendor/web-sys/webidls/enabled/KeyframeEffect.webidl b/vendor/web-sys/webidls/enabled/KeyframeEffect.webidl
new file mode 100644
index 000000000..c46acf871
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/KeyframeEffect.webidl
@@ -0,0 +1,57 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/web-animations/#the-keyframeeffect-interfaces
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum IterationCompositeOperation {
+ "replace",
+ "accumulate"
+};
+
+dictionary KeyframeEffectOptions : EffectTiming {
+ IterationCompositeOperation iterationComposite = "replace";
+ CompositeOperation composite = "replace";
+};
+
+// KeyframeEffect should run in the caller's compartment to do custom
+// processing on the `keyframes` object.
+[Func="nsDocument::IsWebAnimationsEnabled",
+ RunConstructorInCallerCompartment,
+ Constructor ((Element or CSSPseudoElement)? target,
+ object? keyframes,
+ optional (unrestricted double or KeyframeEffectOptions) options),
+ Constructor (KeyframeEffect source)]
+interface KeyframeEffect : AnimationEffect {
+ attribute (Element or CSSPseudoElement)? target;
+ [NeedsCallerType]
+ attribute IterationCompositeOperation iterationComposite;
+ attribute CompositeOperation composite;
+ [Throws] sequence<object> getKeyframes ();
+ [Throws] undefined setKeyframes (object? keyframes);
+};
+
+// Non-standard extensions
+dictionary AnimationPropertyValueDetails {
+ required double offset;
+ DOMString value;
+ DOMString easing;
+ required CompositeOperation composite;
+};
+
+dictionary AnimationPropertyDetails {
+ required DOMString property;
+ required boolean runningOnCompositor;
+ DOMString warning;
+ required sequence<AnimationPropertyValueDetails> values;
+};
+
+partial interface KeyframeEffect {
+ [ChromeOnly, Throws] sequence<AnimationPropertyDetails> getProperties();
+};
diff --git a/vendor/web-sys/webidls/enabled/L10nUtils.webidl b/vendor/web-sys/webidls/enabled/L10nUtils.webidl
new file mode 100644
index 000000000..9e3e2f59e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/L10nUtils.webidl
@@ -0,0 +1,38 @@
+/* -*- 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/.
+ */
+
+/**
+ * The following dictionaries are for Mozilla use only. They allow startup
+ * localization runtime to work around the performance cost of Stylo having
+ * to resolve XBL bindings in order to localize DOM in JS.
+ *
+ * Instead, we use `Node.localize` method which handles scanning for localizable
+ * elements and applies the result translations without having to create
+ * JS reflections for them.
+ *
+ * For details on the implementation of the API, see `Node.webidl`.
+ */
+dictionary L10nElement {
+ required DOMString namespaceURI;
+ required DOMString localName;
+ required DOMString l10nId; // value of data-l10n-id
+ DOMString? type = null;
+ DOMString? l10nAttrs = null; // value of data-l10n-attrs
+ object? l10nArgs = null; // json value of data-l10n-args attribute
+};
+
+dictionary AttributeNameValue {
+ required DOMString name;
+ required DOMString value;
+};
+
+dictionary L10nValue {
+ DOMString? value = null;
+ sequence<AttributeNameValue>? attributes = null;
+};
+
+callback L10nCallback =
+ Promise<sequence<L10nValue>> (sequence<L10nElement> l10nElements);
diff --git a/vendor/web-sys/webidls/enabled/LinkStyle.webidl b/vendor/web-sys/webidls/enabled/LinkStyle.webidl
new file mode 100644
index 000000000..b57eb7e77
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/LinkStyle.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/cssom/#the-linkstyle-interface
+ */
+
+interface mixin LinkStyle {
+ readonly attribute StyleSheet? sheet;
+};
diff --git a/vendor/web-sys/webidls/enabled/ListBoxObject.webidl b/vendor/web-sys/webidls/enabled/ListBoxObject.webidl
new file mode 100644
index 000000000..670b5c0b4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ListBoxObject.webidl
@@ -0,0 +1,22 @@
+
+/* -*- 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/.
+ */
+
+[NoInterfaceObject]
+interface ListBoxObject : BoxObject {
+
+ long getRowCount();
+ long getRowHeight();
+ long getNumberOfVisibleRows();
+ long getIndexOfFirstVisibleRow();
+
+ undefined ensureIndexIsVisible(long rowIndex);
+ undefined scrollToIndex(long rowIndex);
+ undefined scrollByLines(long numLines);
+
+ Element? getItemAtIndex(long index);
+ long getIndexOfItem(Element item);
+};
diff --git a/vendor/web-sys/webidls/enabled/LocalMediaStream.webidl b/vendor/web-sys/webidls/enabled/LocalMediaStream.webidl
new file mode 100644
index 000000000..71a062bc5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/LocalMediaStream.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origins of this IDL file are
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface LocalMediaStream : MediaStream {
+ undefined stop();
+};
diff --git a/vendor/web-sys/webidls/enabled/Location.webidl b/vendor/web-sys/webidls/enabled/Location.webidl
new file mode 100644
index 000000000..8aa6580ff
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Location.webidl
@@ -0,0 +1,53 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-location-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+[Unforgeable, NonOrdinaryGetPrototypeOf]
+interface Location {
+ // Bug 824857: no support for stringifier attributes yet.
+ // stringifier attribute USVString href;
+
+ // Bug 824857 should remove this.
+ [Throws, NeedsSubjectPrincipal]
+ stringifier;
+
+ [Throws, CrossOriginWritable, GetterNeedsSubjectPrincipal]
+ attribute USVString href;
+ [Throws, NeedsSubjectPrincipal]
+ readonly attribute USVString origin;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString protocol;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString host;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString hostname;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString port;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString pathname;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString search;
+ [Throws, NeedsSubjectPrincipal]
+ attribute USVString hash;
+
+ [Throws, NeedsSubjectPrincipal]
+ undefined assign(USVString url);
+
+ [Throws, CrossOriginCallable, NeedsSubjectPrincipal]
+ undefined replace(USVString url);
+
+ // XXXbz there is no forceget argument in the spec! See bug 1037721.
+ [Throws, NeedsSubjectPrincipal]
+ undefined reload(optional boolean forceget = false);
+
+ // Bug 1085214 [SameObject] readonly attribute USVString[] ancestorOrigins;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIAccess.webidl b/vendor/web-sys/webidls/enabled/MIDIAccess.webidl
new file mode 100644
index 000000000..97c8be42c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIAccess.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIAccess : EventTarget {
+ readonly attribute MIDIInputMap inputs;
+ readonly attribute MIDIOutputMap outputs;
+ attribute EventHandler onstatechange;
+ readonly attribute boolean sysexEnabled;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIConnectionEvent.webidl b/vendor/web-sys/webidls/enabled/MIDIConnectionEvent.webidl
new file mode 100644
index 000000000..482319576
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIConnectionEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[Constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict),
+ SecureContext,
+ Pref="dom.webmidi.enabled"]
+interface MIDIConnectionEvent : Event
+{
+ readonly attribute MIDIPort? port;
+};
+
+dictionary MIDIConnectionEventInit : EventInit
+{
+ MIDIPort? port = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIInput.webidl b/vendor/web-sys/webidls/enabled/MIDIInput.webidl
new file mode 100644
index 000000000..9cfc4fea1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIInput.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIInput : MIDIPort {
+ attribute EventHandler onmidimessage;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/MIDIInputMap.webidl b/vendor/web-sys/webidls/enabled/MIDIInputMap.webidl
new file mode 100644
index 000000000..19154ed8b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIInputMap.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIInputMap {
+ readonly maplike<DOMString, MIDIInput>;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIMessageEvent.webidl b/vendor/web-sys/webidls/enabled/MIDIMessageEvent.webidl
new file mode 100644
index 000000000..f9d55dbab
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIMessageEvent.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[Constructor(DOMString type, optional MIDIMessageEventInit eventInitDict),
+ SecureContext,
+ Pref="dom.webmidi.enabled"]
+interface MIDIMessageEvent : Event
+{
+ [Throws]
+ readonly attribute Uint8Array data;
+};
+
+dictionary MIDIMessageEventInit : EventInit
+{
+ Uint8Array data;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIOptions.webidl b/vendor/web-sys/webidls/enabled/MIDIOptions.webidl
new file mode 100644
index 000000000..314ebec53
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIOptions.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+dictionary MIDIOptions {
+ boolean sysex = false;
+ boolean software = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIOutput.webidl b/vendor/web-sys/webidls/enabled/MIDIOutput.webidl
new file mode 100644
index 000000000..7835140cd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIOutput.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIOutput : MIDIPort {
+ [Throws]
+ undefined send(sequence<octet> data, optional DOMHighResTimeStamp timestamp);
+ undefined clear();
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIOutputMap.webidl b/vendor/web-sys/webidls/enabled/MIDIOutputMap.webidl
new file mode 100644
index 000000000..64ac6da33
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIOutputMap.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIOutputMap {
+ readonly maplike<DOMString, MIDIOutput>;
+};
diff --git a/vendor/web-sys/webidls/enabled/MIDIPort.webidl b/vendor/web-sys/webidls/enabled/MIDIPort.webidl
new file mode 100644
index 000000000..65274ebbf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MIDIPort.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-midi-api/
+ */
+
+enum MIDIPortType {
+ "input",
+ "output"
+};
+
+enum MIDIPortDeviceState {
+ "disconnected",
+ "connected"
+};
+
+enum MIDIPortConnectionState {
+ "open",
+ "closed",
+ "pending"
+};
+
+[SecureContext, Pref="dom.webmidi.enabled"]
+interface MIDIPort : EventTarget {
+ readonly attribute DOMString id;
+ readonly attribute DOMString? manufacturer;
+ readonly attribute DOMString? name;
+ readonly attribute DOMString? version;
+ readonly attribute MIDIPortType type;
+ readonly attribute MIDIPortDeviceState state;
+ readonly attribute MIDIPortConnectionState connection;
+ attribute EventHandler onstatechange;
+ Promise<MIDIPort> open();
+ Promise<MIDIPort> close();
+};
+
diff --git a/vendor/web-sys/webidls/enabled/MediaCapabilities.webidl b/vendor/web-sys/webidls/enabled/MediaCapabilities.webidl
new file mode 100644
index 000000000..636f5605a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaCapabilities.webidl
@@ -0,0 +1,70 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://wicg.github.io/media-capabilities/
+ *
+ * Copyright © 2018 the Contributors to the Media Capabilities Specification
+ */
+
+dictionary MediaConfiguration {
+ VideoConfiguration video;
+ AudioConfiguration audio;
+};
+
+dictionary MediaDecodingConfiguration : MediaConfiguration {
+ required MediaDecodingType type;
+};
+
+dictionary MediaEncodingConfiguration : MediaConfiguration {
+ required MediaEncodingType type;
+};
+
+enum MediaDecodingType {
+ "file",
+ "media-source",
+};
+
+enum MediaEncodingType {
+ "record",
+ "transmission"
+};
+
+// all members are specified as required in the spec.
+// We enforce that requirement in the MediaCapabilities code instead
+// See https://github.com/heycam/webidl/issues/76
+dictionary VideoConfiguration {
+ DOMString contentType;
+ unsigned long width;
+ unsigned long height;
+ unsigned long long bitrate;
+ DOMString framerate;
+};
+
+// contentType member is specified as required in the spec.
+// We enforce that requirement in the MediaCapabilities code instead
+// See https://github.com/heycam/webidl/issues/76
+dictionary AudioConfiguration {
+ DOMString contentType;
+ DOMString channels;
+ unsigned long long bitrate;
+ unsigned long samplerate;
+};
+
+[Exposed=(Window, Worker), Func="mozilla::dom::MediaCapabilities::Enabled",
+ HeaderFile="mozilla/dom/MediaCapabilities.h"]
+interface MediaCapabilitiesInfo {
+ readonly attribute boolean supported;
+ readonly attribute boolean smooth;
+ readonly attribute boolean powerEfficient;
+};
+
+[Exposed=(Window, Worker), Func="mozilla::dom::MediaCapabilities::Enabled"]
+interface MediaCapabilities {
+ [NewObject]
+ Promise<MediaCapabilitiesInfo> decodingInfo(MediaDecodingConfiguration configuration);
+ [NewObject]
+ Promise<MediaCapabilitiesInfo> encodingInfo(MediaEncodingConfiguration configuration);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaDeviceInfo.webidl b/vendor/web-sys/webidls/enabled/MediaDeviceInfo.webidl
new file mode 100644
index 000000000..023cd82f2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaDeviceInfo.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ */
+
+enum MediaDeviceKind {
+ "audioinput",
+ "audiooutput",
+ "videoinput"
+};
+
+[Func="Navigator::HasUserMediaSupport"]
+interface MediaDeviceInfo {
+ readonly attribute DOMString deviceId;
+ readonly attribute MediaDeviceKind kind;
+ readonly attribute DOMString label;
+ readonly attribute DOMString groupId;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaDevices.webidl b/vendor/web-sys/webidls/enabled/MediaDevices.webidl
new file mode 100644
index 000000000..8e157a2e0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaDevices.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="Navigator::HasUserMediaSupport"]
+interface MediaDevices : EventTarget {
+ [Pref="media.ondevicechange.enabled"]
+ attribute EventHandler ondevicechange;
+ MediaTrackSupportedConstraints getSupportedConstraints();
+
+ [Throws, NeedsCallerType]
+ Promise<sequence<MediaDeviceInfo>> enumerateDevices();
+
+ [Throws, NeedsCallerType]
+ Promise<MediaStream> getUserMedia(optional MediaStreamConstraints constraints);
+
+ [SecureContext, Pref="media.getdisplaymedia.enabled", Throws, NeedsCallerType]
+ Promise<MediaStream> getDisplayMedia(optional DisplayMediaStreamConstraints constraints);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaElementAudioSourceNode.webidl b/vendor/web-sys/webidls/enabled/MediaElementAudioSourceNode.webidl
new file mode 100644
index 000000000..191ac6dac
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaElementAudioSourceNode.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary MediaElementAudioSourceOptions {
+ required HTMLMediaElement mediaElement;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(AudioContext context, MediaElementAudioSourceOptions options)]
+interface MediaElementAudioSourceNode : AudioNode {
+
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaEncryptedEvent.webidl b/vendor/web-sys/webidls/enabled/MediaEncryptedEvent.webidl
new file mode 100644
index 000000000..113d3e629
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaEncryptedEvent.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional MediaKeyNeededEventInit eventInitDict)]
+interface MediaEncryptedEvent : Event {
+ readonly attribute DOMString initDataType;
+ [Throws]
+ readonly attribute ArrayBuffer? initData;
+};
+
+dictionary MediaKeyNeededEventInit : EventInit {
+ DOMString initDataType = "";
+ ArrayBuffer? initData = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaError.webidl b/vendor/web-sys/webidls/enabled/MediaError.webidl
new file mode 100644
index 000000000..bd1ed4e3f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaError.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/html/#mediaerror
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface MediaError {
+ // Keep these constants in sync with the ones defined in HTMLMediaElement.h
+ const unsigned short MEDIA_ERR_ABORTED = 1;
+ const unsigned short MEDIA_ERR_NETWORK = 2;
+ const unsigned short MEDIA_ERR_DECODE = 3;
+ const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
+
+ [Constant]
+ readonly attribute unsigned short code;
+ readonly attribute DOMString message;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeyError.webidl b/vendor/web-sys/webidls/enabled/MediaKeyError.webidl
new file mode 100644
index 000000000..e9fcd2d7e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeyError.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+// According to the spec, "The future of error events and MediaKeyError
+// is uncertain."
+// https://www.w3.org/Bugs/Public/show_bug.cgi?id=21798
+interface MediaKeyError : Event {
+ readonly attribute unsigned long systemCode;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeyMessageEvent.webidl b/vendor/web-sys/webidls/enabled/MediaKeyMessageEvent.webidl
new file mode 100644
index 000000000..eabef221f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeyMessageEvent.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+enum MediaKeyMessageType {
+ "license-request",
+ "license-renewal",
+ "license-release",
+ "individualization-request"
+};
+
+[Constructor(DOMString type, MediaKeyMessageEventInit eventInitDict)]
+interface MediaKeyMessageEvent : Event {
+ readonly attribute MediaKeyMessageType messageType;
+ [Throws]
+ readonly attribute ArrayBuffer message;
+};
+
+dictionary MediaKeyMessageEventInit : EventInit {
+ required MediaKeyMessageType messageType;
+ required ArrayBuffer message;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeySession.webidl b/vendor/web-sys/webidls/enabled/MediaKeySession.webidl
new file mode 100644
index 000000000..d6a23a0e4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeySession.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+interface MediaKeySession : EventTarget {
+ // error state
+ readonly attribute MediaKeyError? error;
+
+ // session properties
+ readonly attribute DOMString sessionId;
+
+ readonly attribute unrestricted double expiration;
+
+ readonly attribute Promise<undefined> closed;
+
+ readonly attribute MediaKeyStatusMap keyStatuses;
+
+ attribute EventHandler onkeystatuseschange;
+
+ attribute EventHandler onmessage;
+
+ [NewObject]
+ Promise<undefined> generateRequest(DOMString initDataType, BufferSource initData);
+
+ [NewObject]
+ Promise<boolean> load(DOMString sessionId);
+
+ // session operations
+ [NewObject]
+ Promise<undefined> update(BufferSource response);
+
+ [NewObject]
+ Promise<undefined> close();
+
+ [NewObject]
+ Promise<undefined> remove();
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeyStatusMap.webidl b/vendor/web-sys/webidls/enabled/MediaKeyStatusMap.webidl
new file mode 100644
index 000000000..648adaf40
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeyStatusMap.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+enum MediaKeyStatus {
+ "usable",
+ "expired",
+ "released",
+ "output-restricted",
+ "output-downscaled",
+ "status-pending",
+ "internal-error"
+};
+
+interface MediaKeyStatusMap {
+ iterable<ArrayBuffer,MediaKeyStatus>;
+ readonly attribute unsigned long size;
+ boolean has (BufferSource keyId);
+ [Throws]
+ any get (BufferSource keyId);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeySystemAccess.webidl b/vendor/web-sys/webidls/enabled/MediaKeySystemAccess.webidl
new file mode 100644
index 000000000..38bcd578c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeySystemAccess.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+enum MediaKeysRequirement {
+ "required",
+ "optional",
+ "not-allowed"
+};
+
+dictionary MediaKeySystemMediaCapability {
+ DOMString contentType = "";
+ DOMString robustness = "";
+};
+
+dictionary MediaKeySystemConfiguration {
+ DOMString label = "";
+ sequence<DOMString> initDataTypes = [];
+ sequence<MediaKeySystemMediaCapability> audioCapabilities = [];
+ sequence<MediaKeySystemMediaCapability> videoCapabilities = [];
+ MediaKeysRequirement distinctiveIdentifier = "optional";
+ MediaKeysRequirement persistentState = "optional";
+ sequence<DOMString> sessionTypes;
+};
+
+interface MediaKeySystemAccess {
+ readonly attribute DOMString keySystem;
+ [NewObject]
+ MediaKeySystemConfiguration getConfiguration();
+ [NewObject]
+ Promise<MediaKeys> createMediaKeys();
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeys.webidl b/vendor/web-sys/webidls/enabled/MediaKeys.webidl
new file mode 100644
index 000000000..5c8a7e514
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeys.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+// Note: "persistent-usage-record" session type is unsupported yet, as
+// it's marked as "at risk" in the spec, and Chrome doesn't support it.
+enum MediaKeySessionType {
+ "temporary",
+ "persistent-license",
+ // persistent-usage-record,
+};
+
+// https://github.com/WICG/media-capabilities/blob/master/eme-extension-policy-check.md
+dictionary MediaKeysPolicy {
+ DOMString minHdcpVersion = "";
+};
+
+interface MediaKeys {
+ readonly attribute DOMString keySystem;
+
+ [NewObject, Throws]
+ MediaKeySession createSession(optional MediaKeySessionType sessionType = "temporary");
+
+ [NewObject]
+ Promise<undefined> setServerCertificate(BufferSource serverCertificate);
+
+ [Pref="media.eme.hdcp-policy-check.enabled", NewObject]
+ Promise<MediaKeyStatus> getStatusForPolicy(optional MediaKeysPolicy policy);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaKeysRequestStatus.webidl b/vendor/web-sys/webidls/enabled/MediaKeysRequestStatus.webidl
new file mode 100644
index 000000000..737372f66
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaKeysRequestStatus.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ */
+
+enum MediaKeySystemStatus {
+ "available",
+ "api-disabled",
+ "cdm-disabled",
+ "cdm-not-supported",
+ "cdm-not-installed",
+ "cdm-created",
+};
+
+/* Note: This dictionary and enum is only used by Gecko to convey messages
+ * to chrome JS code. It is not exposed to the web.
+ */
+
+dictionary RequestMediaKeySystemAccessNotification {
+ required DOMString keySystem;
+ required MediaKeySystemStatus status;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaList.webidl b/vendor/web-sys/webidls/enabled/MediaList.webidl
new file mode 100644
index 000000000..3b892ae44
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaList.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/. */
+
+// http://dev.w3.org/csswg/cssom/#the-medialist-interface
+
+interface MediaList {
+ // Bug 824857: no support for stringifier attributes yet.
+ // [TreatNullAs=EmptyString]
+ // stringifier attribute DOMString mediaText;
+
+ // Bug 824857 should remove this.
+ stringifier;
+
+ [TreatNullAs=EmptyString]
+ attribute DOMString mediaText;
+
+ readonly attribute unsigned long length;
+ getter DOMString? item(unsigned long index);
+ [Throws]
+ undefined deleteMedium(DOMString oldMedium);
+ [Throws]
+ undefined appendMedium(DOMString newMedium);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaQueryList.webidl b/vendor/web-sys/webidls/enabled/MediaQueryList.webidl
new file mode 100644
index 000000000..5e8b21306
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaQueryList.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/cssom-view/#mediaquerylist
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface MediaQueryList : EventTarget {
+ readonly attribute DOMString media;
+ readonly attribute boolean matches;
+
+ [Throws]
+ undefined addListener(EventListener? listener);
+
+ [Throws]
+ undefined removeListener(EventListener? listener);
+
+ attribute EventHandler onchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaQueryListEvent.webidl b/vendor/web-sys/webidls/enabled/MediaQueryListEvent.webidl
new file mode 100644
index 000000000..5e53e9734
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaQueryListEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * https://drafts.csswg.org/cssom-view/#mediaquerylistevent
+ */
+
+[Constructor(DOMString type, optional MediaQueryListEventInit eventInitDict)]
+interface MediaQueryListEvent : Event {
+ readonly attribute DOMString media;
+ readonly attribute boolean matches;
+};
+
+dictionary MediaQueryListEventInit : EventInit {
+ DOMString media = "";
+ boolean matches = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaRecorder.webidl b/vendor/web-sys/webidls/enabled/MediaRecorder.webidl
new file mode 100644
index 000000000..76f161e58
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaRecorder.webidl
@@ -0,0 +1,59 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/MediaRecorder.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum RecordingState { "inactive", "recording", "paused" };
+
+[Constructor(MediaStream stream, optional MediaRecorderOptions options),
+ Constructor(AudioNode node, optional unsigned long output = 0,
+ optional MediaRecorderOptions options)]
+interface MediaRecorder : EventTarget {
+
+ readonly attribute MediaStream stream;
+
+ readonly attribute RecordingState state;
+
+ readonly attribute DOMString mimeType;
+
+ attribute EventHandler ondataavailable;
+
+ attribute EventHandler onerror;
+
+ attribute EventHandler onstart;
+
+ attribute EventHandler onstop;
+
+ attribute EventHandler onwarning;
+
+ [Throws]
+ undefined start(optional long timeSlice);
+
+ [Throws]
+ undefined stop();
+
+ [Throws]
+ undefined pause();
+
+ [Throws]
+ undefined resume();
+
+ [Throws]
+ undefined requestData();
+
+ static boolean isTypeSupported(DOMString type);
+};
+
+dictionary MediaRecorderOptions {
+ DOMString mimeType = ""; // Default encoding mimeType.
+ unsigned long audioBitsPerSecond;
+ unsigned long videoBitsPerSecond;
+ unsigned long bitsPerSecond;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaRecorderErrorEvent.webidl b/vendor/web-sys/webidls/enabled/MediaRecorderErrorEvent.webidl
new file mode 100644
index 000000000..619329728
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaRecorderErrorEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/mediacapture-record/
+ *
+ * Copyright © 2017 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark
+ * and document use rules apply.
+ */
+
+dictionary MediaRecorderErrorEventInit : EventInit {
+ required DOMException error;
+};
+
+[Exposed=Window,
+ Constructor(DOMString type, MediaRecorderErrorEventInit eventInitDict)]
+interface MediaRecorderErrorEvent : Event {
+ [SameObject] readonly attribute DOMException error;
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/enabled/MediaSource.webidl b/vendor/web-sys/webidls/enabled/MediaSource.webidl
new file mode 100644
index 000000000..cc2a8a606
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaSource.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum MediaSourceReadyState {
+ "closed",
+ "open",
+ "ended"
+};
+
+enum MediaSourceEndOfStreamError {
+ "network",
+ "decode"
+};
+
+[Constructor, Func="mozilla::dom::MediaSource::Enabled"]
+interface MediaSource : EventTarget {
+ readonly attribute SourceBufferList sourceBuffers;
+ readonly attribute SourceBufferList activeSourceBuffers;
+ readonly attribute MediaSourceReadyState readyState;
+ [SetterThrows]
+ attribute unrestricted double duration;
+ attribute EventHandler onsourceopen;
+ attribute EventHandler onsourceended;
+ attribute EventHandler onsourceclose;
+ [NewObject, Throws]
+ SourceBuffer addSourceBuffer(DOMString type);
+ [Throws]
+ undefined removeSourceBuffer(SourceBuffer sourceBuffer);
+ [Throws]
+ undefined endOfStream(optional MediaSourceEndOfStreamError error);
+ [Throws]
+ undefined setLiveSeekableRange(double start, double end);
+ [Throws]
+ undefined clearLiveSeekableRange();
+ static boolean isTypeSupported(DOMString type);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStream.webidl b/vendor/web-sys/webidls/enabled/MediaStream.webidl
new file mode 100644
index 000000000..f459ff685
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStream.webidl
@@ -0,0 +1,56 @@
+/* -*- 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/.
+ *
+ * The origins of this IDL file are
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright � 2012 W3C� (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// These dictionaries need to be in a separate file from their
+// MediaTrackConstraints* counterparts due to a webidl compiler limitation.
+
+dictionary MediaStreamConstraints {
+ (boolean or MediaTrackConstraints) audio = false;
+ (boolean or MediaTrackConstraints) video = false;
+ boolean picture = false; // Mozilla legacy
+ boolean fake; // For testing purpose. Generates frames of solid
+ // colors if video is enabled, and sound of 1Khz sine
+ // wave if audio is enabled.
+ DOMString? peerIdentity = null;
+};
+
+dictionary DisplayMediaStreamConstraints {
+ (boolean or MediaTrackConstraints) video = true;
+ (boolean or MediaTrackConstraints) audio = false;
+};
+
+[Exposed=Window,
+ Constructor,
+ Constructor (MediaStream stream),
+ Constructor (sequence<MediaStreamTrack> tracks)]
+interface MediaStream : EventTarget {
+ readonly attribute DOMString id;
+ sequence<AudioStreamTrack> getAudioTracks ();
+ sequence<VideoStreamTrack> getVideoTracks ();
+ sequence<MediaStreamTrack> getTracks ();
+ MediaStreamTrack? getTrackById (DOMString trackId);
+ undefined addTrack (MediaStreamTrack track);
+ undefined removeTrack (MediaStreamTrack track);
+ MediaStream clone ();
+ readonly attribute boolean active;
+ attribute EventHandler onaddtrack;
+ attribute EventHandler onremovetrack;
+ readonly attribute double currentTime;
+
+ [ChromeOnly, Throws]
+ static Promise<long> countUnderlyingStreams();
+
+ // Webrtc allows the remote side to name a stream whatever it wants, and we
+ // need to surface this to content.
+ [ChromeOnly]
+ undefined assignId(DOMString id);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamAudioDestinationNode.webidl b/vendor/web-sys/webidls/enabled/MediaStreamAudioDestinationNode.webidl
new file mode 100644
index 000000000..9776ab994
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamAudioDestinationNode.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled",
+ Constructor(AudioContext context, optional AudioNodeOptions options)]
+interface MediaStreamAudioDestinationNode : AudioNode {
+ readonly attribute MediaStream stream;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamAudioSourceNode.webidl b/vendor/web-sys/webidls/enabled/MediaStreamAudioSourceNode.webidl
new file mode 100644
index 000000000..003ef8537
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamAudioSourceNode.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary MediaStreamAudioSourceOptions {
+ required MediaStream mediaStream;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(AudioContext context, MediaStreamAudioSourceOptions options)]
+interface MediaStreamAudioSourceNode : AudioNode {
+
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamError.webidl b/vendor/web-sys/webidls/enabled/MediaStreamError.webidl
new file mode 100644
index 000000000..54c8f5792
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamError.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-MediaStreamError
+ */
+
+// The future of MediaStreamError is uncertain.
+// https://www.w3.org/Bugs/Public/show_bug.cgi?id=26776
+
+// TODO: This is an 'exception', not an interface, by virtue of needing to be
+// passed as a promise rejection-reason. Revisit if DOMException grows a customArg
+
+[ExceptionClass, NoInterfaceObject]
+interface MediaStreamError {
+ readonly attribute DOMString name;
+ readonly attribute DOMString? message;
+ readonly attribute DOMString? constraint;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamEvent.webidl b/vendor/web-sys/webidls/enabled/MediaStreamEvent.webidl
new file mode 100644
index 000000000..56bac3a86
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#mediastreamevent
+ */
+
+dictionary MediaStreamEventInit : EventInit {
+ MediaStream? stream = null;
+};
+
+[Pref="media.peerconnection.enabled",
+ Constructor(DOMString type, optional MediaStreamEventInit eventInitDict)]
+interface MediaStreamEvent : Event {
+ readonly attribute MediaStream? stream;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamTrack.webidl b/vendor/web-sys/webidls/enabled/MediaStreamTrack.webidl
new file mode 100644
index 000000000..896856a43
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamTrack.webidl
@@ -0,0 +1,97 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// These two enums are in the spec even though they're not used directly in the
+// API due to https://www.w3.org/Bugs/Public/show_bug.cgi?id=19936
+// Their binding code is used in the implementation.
+
+enum VideoFacingModeEnum {
+ "user",
+ "environment",
+ "left",
+ "right"
+};
+
+enum MediaSourceEnum {
+ "camera",
+ "screen",
+ "application",
+ "window",
+ "browser",
+ "microphone",
+ "audioCapture",
+ "other"
+ // If values are added, adjust n_values in Histograms.json (2 places)
+};
+
+typedef (long or ConstrainLongRange) ConstrainLong;
+typedef (double or ConstrainDoubleRange) ConstrainDouble;
+typedef (boolean or ConstrainBooleanParameters) ConstrainBoolean;
+typedef (DOMString or sequence<DOMString> or ConstrainDOMStringParameters) ConstrainDOMString;
+
+// Note: When adding new constraints, remember to update the SelectSettings()
+// function in MediaManager.cpp to make OverconstrainedError's constraint work!
+
+dictionary MediaTrackConstraintSet {
+ ConstrainLong width;
+ ConstrainLong height;
+ ConstrainDouble frameRate;
+ ConstrainDOMString facingMode;
+ DOMString mediaSource = "camera";
+ long long browserWindow;
+ boolean scrollWithPage;
+ ConstrainDOMString deviceId;
+ ConstrainLong viewportOffsetX;
+ ConstrainLong viewportOffsetY;
+ ConstrainLong viewportWidth;
+ ConstrainLong viewportHeight;
+ ConstrainBoolean echoCancellation;
+ ConstrainBoolean noiseSuppression;
+ ConstrainBoolean autoGainControl;
+ ConstrainLong channelCount;
+};
+
+dictionary MediaTrackConstraints : MediaTrackConstraintSet {
+ sequence<MediaTrackConstraintSet> advanced;
+};
+
+enum MediaStreamTrackState {
+ "live",
+ "ended"
+};
+
+[Exposed=Window]
+interface MediaStreamTrack : EventTarget {
+ readonly attribute DOMString kind;
+ readonly attribute DOMString id;
+ [NeedsCallerType]
+ readonly attribute DOMString label;
+ attribute boolean enabled;
+ readonly attribute boolean muted;
+ attribute EventHandler onmute;
+ attribute EventHandler onunmute;
+ readonly attribute MediaStreamTrackState readyState;
+ attribute EventHandler onended;
+ MediaStreamTrack clone ();
+ undefined stop ();
+// MediaTrackCapabilities getCapabilities ();
+ MediaTrackConstraints getConstraints ();
+ [NeedsCallerType]
+ MediaTrackSettings getSettings ();
+
+ [Throws, NeedsCallerType]
+ Promise<undefined> applyConstraints (optional MediaTrackConstraints constraints);
+// attribute EventHandler onoverconstrained;
+
+ [ChromeOnly]
+ undefined mutedChanged(boolean muted);
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaStreamTrackEvent.webidl b/vendor/web-sys/webidls/enabled/MediaStreamTrackEvent.webidl
new file mode 100644
index 000000000..538adf2f9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaStreamTrackEvent.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#mediastreamevent
+ */
+
+dictionary MediaStreamTrackEventInit : EventInit {
+ required MediaStreamTrack track;
+};
+
+[Exposed=Window,
+ Constructor (DOMString type, MediaStreamTrackEventInit eventInitDict)]
+interface MediaStreamTrackEvent : Event {
+ [SameObject]
+ readonly attribute MediaStreamTrack track;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaTrackConstraintSet.webidl b/vendor/web-sys/webidls/enabled/MediaTrackConstraintSet.webidl
new file mode 100644
index 000000000..63bc6bac5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaTrackConstraintSet.webidl
@@ -0,0 +1,38 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ */
+
+// These dictionaries need to be in a separate file from their use in unions
+// in MediaSreamTrack.webidl due to a webidl compiler limitation:
+//
+// TypeError: Dictionary contains a union that contains a dictionary in the same
+// WebIDL file. This won't compile. Move the inner dictionary to a different file.
+
+dictionary ConstrainLongRange {
+ long min;
+ long max;
+ long exact;
+ long ideal;
+};
+
+dictionary ConstrainDoubleRange {
+ double min;
+ double max;
+ double exact;
+ double ideal;
+};
+
+dictionary ConstrainBooleanParameters {
+ boolean exact;
+ boolean ideal;
+};
+
+dictionary ConstrainDOMStringParameters {
+ (DOMString or sequence<DOMString>) exact;
+ (DOMString or sequence<DOMString>) ideal;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaTrackSettings.webidl b/vendor/web-sys/webidls/enabled/MediaTrackSettings.webidl
new file mode 100644
index 000000000..8c4de6a11
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaTrackSettings.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/mediacapture-main/getusermedia.html
+ */
+
+dictionary MediaTrackSettings {
+ long width;
+ long height;
+ double frameRate;
+ DOMString facingMode;
+ DOMString deviceId;
+ boolean echoCancellation;
+ boolean noiseSuppression;
+ boolean autoGainControl;
+ long channelCount;
+};
diff --git a/vendor/web-sys/webidls/enabled/MediaTrackSupportedConstraints.webidl b/vendor/web-sys/webidls/enabled/MediaTrackSupportedConstraints.webidl
new file mode 100644
index 000000000..6cc109f84
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MediaTrackSupportedConstraints.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ */
+
+dictionary MediaTrackSupportedConstraints {
+ boolean width = true;
+ boolean height = true;
+ boolean aspectRatio; // to be supported
+ boolean frameRate = true;
+ boolean facingMode = true;
+ boolean volume; // to be supported
+ boolean sampleRate; // to be supported
+ boolean sampleSize; // to be supported
+ boolean echoCancellation = true;
+ boolean noiseSuppression = true;
+ boolean autoGainControl = true;
+ boolean latency; // to be supported
+ boolean channelCount = true;
+ boolean deviceId = true;
+ boolean groupId; // to be supported
+};
diff --git a/vendor/web-sys/webidls/enabled/MessageChannel.webidl b/vendor/web-sys/webidls/enabled/MessageChannel.webidl
new file mode 100644
index 000000000..1e2ca4a19
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MessageChannel.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * http://www.whatwg.org/specs/web-apps/current-work/#channel-messaging
+ */
+
+[Constructor, Exposed=(Window,Worker,System)]
+interface MessageChannel {
+ readonly attribute MessagePort port1;
+ readonly attribute MessagePort port2;
+};
diff --git a/vendor/web-sys/webidls/enabled/MessageEvent.webidl b/vendor/web-sys/webidls/enabled/MessageEvent.webidl
new file mode 100644
index 000000000..18fdda093
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MessageEvent.webidl
@@ -0,0 +1,64 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * https://html.spec.whatwg.org/#messageevent
+ */
+
+[Constructor(DOMString type, optional MessageEventInit eventInitDict),
+ Exposed=(Window,Worker,System)]
+interface MessageEvent : Event {
+ /**
+ * Custom data associated with this event.
+ */
+ [GetterThrows]
+ readonly attribute any data;
+
+ /**
+ * The origin of the site from which this event originated, which is the
+ * scheme, ":", and if the URI has a host, "//" followed by the
+ * host, and if the port is not the default for the given scheme,
+ * ":" followed by that port. This value does not have a trailing slash.
+ */
+ readonly attribute USVString origin;
+
+ /**
+ * The last event ID string of the event source, for server-sent DOM events; this
+ * value is the empty string for cross-origin messaging.
+ */
+ readonly attribute DOMString lastEventId;
+
+ /**
+ * The window or port which originated this event.
+ */
+ readonly attribute MessageEventSource? source;
+
+ [Pure, Cached, Frozen]
+ readonly attribute sequence<MessagePort> ports;
+
+ /**
+ * Initializes this event with the given data, in a manner analogous to
+ * the similarly-named method on the Event interface, also setting the
+ * data, origin, source, and lastEventId attributes of this appropriately.
+ */
+ undefined initMessageEvent(DOMString type,
+ optional boolean bubbles = false,
+ optional boolean cancelable = false,
+ optional any data = null,
+ optional DOMString origin = "",
+ optional DOMString lastEventId = "",
+ optional MessageEventSource? source = null,
+ optional sequence<MessagePort> ports = []);
+};
+
+dictionary MessageEventInit : EventInit {
+ any data = null;
+ DOMString origin = "";
+ DOMString lastEventId = "";
+ MessageEventSource? source = null;
+ sequence<MessagePort> ports = [];
+};
+
+typedef (WindowProxy or MessagePort or ServiceWorker) MessageEventSource;
diff --git a/vendor/web-sys/webidls/enabled/MessagePort.webidl b/vendor/web-sys/webidls/enabled/MessagePort.webidl
new file mode 100644
index 000000000..5f4629ea7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MessagePort.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * http://www.whatwg.org/specs/web-apps/current-work/#channel-messaging
+ */
+
+[Exposed=(Window,Worker,AudioWorklet,System)]
+interface MessagePort : EventTarget {
+ [Throws]
+ undefined postMessage(any message, optional sequence<object> transferable = []);
+
+ undefined start();
+ undefined close();
+
+ // event handlers
+ attribute EventHandler onmessage;
+ attribute EventHandler onmessageerror;
+};
+// MessagePort includes Transferable;
diff --git a/vendor/web-sys/webidls/enabled/MimeType.webidl b/vendor/web-sys/webidls/enabled/MimeType.webidl
new file mode 100644
index 000000000..a33d31640
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MimeType.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ */
+
+interface MimeType {
+ readonly attribute DOMString description;
+ readonly attribute Plugin? enabledPlugin;
+ readonly attribute DOMString suffixes;
+ readonly attribute DOMString type;
+};
diff --git a/vendor/web-sys/webidls/enabled/MimeTypeArray.webidl b/vendor/web-sys/webidls/enabled/MimeTypeArray.webidl
new file mode 100644
index 000000000..ca553552a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MimeTypeArray.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ */
+
+[LegacyUnenumerableNamedProperties]
+interface MimeTypeArray {
+ [NeedsCallerType]
+ readonly attribute unsigned long length;
+
+ [NeedsCallerType]
+ getter MimeType? item(unsigned long index);
+ [NeedsCallerType]
+ getter MimeType? namedItem(DOMString name);
+};
diff --git a/vendor/web-sys/webidls/enabled/MouseEvent.webidl b/vendor/web-sys/webidls/enabled/MouseEvent.webidl
new file mode 100644
index 000000000..44c0cf755
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MouseEvent.webidl
@@ -0,0 +1,75 @@
+/* -*- 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/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString typeArg, optional MouseEventInit mouseEventInitDict)]
+interface MouseEvent : UIEvent {
+ [NeedsCallerType]
+ readonly attribute long screenX;
+ [NeedsCallerType]
+ readonly attribute long screenY;
+ readonly attribute long clientX;
+ readonly attribute long clientY;
+ [BinaryName="clientX"]
+ readonly attribute long x;
+ [BinaryName="clientY"]
+ readonly attribute long y;
+ readonly attribute long offsetX;
+ readonly attribute long offsetY;
+ readonly attribute boolean ctrlKey;
+ readonly attribute boolean shiftKey;
+ readonly attribute boolean altKey;
+ readonly attribute boolean metaKey;
+ readonly attribute short button;
+ readonly attribute unsigned short buttons;
+ readonly attribute EventTarget? relatedTarget;
+ readonly attribute DOMString? region;
+
+ // Pointer Lock
+ readonly attribute long movementX;
+ readonly attribute long movementY;
+
+ // Deprecated in DOM Level 3:
+undefined initMouseEvent(DOMString typeArg,
+ optional boolean canBubbleArg = false,
+ optional boolean cancelableArg = false,
+ optional Window? viewArg = null,
+ optional long detailArg = 0,
+ optional long screenXArg = 0,
+ optional long screenYArg = 0,
+ optional long clientXArg = 0,
+ optional long clientYArg = 0,
+ optional boolean ctrlKeyArg = false,
+ optional boolean altKeyArg = false,
+ optional boolean shiftKeyArg = false,
+ optional boolean metaKeyArg = false,
+ optional short buttonArg = 0,
+ optional EventTarget? relatedTargetArg = null);
+ // Introduced in DOM Level 3:
+ boolean getModifierState(DOMString keyArg);
+};
+
+// Suggested initMouseEvent replacement initializer:
+dictionary MouseEventInit : EventModifierInit {
+ // Attributes for MouseEvent:
+ long screenX = 0;
+ long screenY = 0;
+ long clientX = 0;
+ long clientY = 0;
+ short button = 0;
+ // Note: "buttons" was not previously initializable through initMouseEvent!
+ unsigned short buttons = 0;
+ EventTarget? relatedTarget = null;
+
+ // Pointer Lock
+ long movementX = 0;
+ long movementY = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/MouseScrollEvent.webidl b/vendor/web-sys/webidls/enabled/MouseScrollEvent.webidl
new file mode 100644
index 000000000..e1a7ff437
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MouseScrollEvent.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ */
+
+interface MouseScrollEvent : MouseEvent
+{
+ const long HORIZONTAL_AXIS = 1;
+ const long VERTICAL_AXIS = 2;
+
+ readonly attribute long axis;
+
+ undefined initMouseScrollEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Window? view = null,
+ optional long detail = 0,
+ optional long screenX = 0,
+ optional long screenY = 0,
+ optional long clientX = 0,
+ optional long clientY = 0,
+ optional boolean ctrlKey = false,
+ optional boolean altKey = false,
+ optional boolean shiftKey = false,
+ optional boolean metaKey = false,
+ optional short button = 0,
+ optional EventTarget? relatedTarget = null,
+ optional long axis = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/MozApplicationEvent.webidl b/vendor/web-sys/webidls/enabled/MozApplicationEvent.webidl
new file mode 100644
index 000000000..8ca6e09ec
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MozApplicationEvent.webidl
@@ -0,0 +1,5 @@
+/* -*- 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/.
+ */
diff --git a/vendor/web-sys/webidls/enabled/MutationEvent.webidl b/vendor/web-sys/webidls/enabled/MutationEvent.webidl
new file mode 100644
index 000000000..d2a0e7bba
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MutationEvent.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+interface MutationEvent : Event
+{
+ const unsigned short MODIFICATION = 1;
+ const unsigned short ADDITION = 2;
+ const unsigned short REMOVAL = 3;
+ [ChromeOnly]
+ const unsigned short SMIL = 4;
+
+ readonly attribute Node? relatedNode;
+ readonly attribute DOMString prevValue;
+ readonly attribute DOMString newValue;
+ readonly attribute DOMString attrName;
+ readonly attribute unsigned short attrChange;
+
+ [Throws]
+ undefined initMutationEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Node? relatedNode = null,
+ optional DOMString prevValue = "",
+ optional DOMString newValue = "",
+ optional DOMString attrName = "",
+ optional unsigned short attrChange = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/MutationObserver.webidl b/vendor/web-sys/webidls/enabled/MutationObserver.webidl
new file mode 100644
index 000000000..26f4deb5f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/MutationObserver.webidl
@@ -0,0 +1,74 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org
+ */
+
+[ProbablyShortLivingWrapper]
+interface MutationRecord {
+ [Constant]
+ readonly attribute DOMString type;
+ // .target is not nullable per the spec, but in order to prevent crashes,
+ // if there are GC/CC bugs in Gecko, we let the property to be null.
+ [Constant]
+ readonly attribute Node? target;
+ [Constant]
+ readonly attribute NodeList addedNodes;
+ [Constant]
+ readonly attribute NodeList removedNodes;
+ [Constant]
+ readonly attribute Node? previousSibling;
+ [Constant]
+ readonly attribute Node? nextSibling;
+ [Constant]
+ readonly attribute DOMString? attributeName;
+ [Constant]
+ readonly attribute DOMString? attributeNamespace;
+ [Constant]
+ readonly attribute DOMString? oldValue;
+ [Constant,Cached,ChromeOnly]
+ readonly attribute sequence<Animation> addedAnimations;
+ [Constant,Cached,ChromeOnly]
+ readonly attribute sequence<Animation> changedAnimations;
+ [Constant,Cached,ChromeOnly]
+ readonly attribute sequence<Animation> removedAnimations;
+};
+
+[Constructor(MutationCallback mutationCallback)]
+interface MutationObserver {
+ [Throws]
+ undefined observe(Node target, optional MutationObserverInit options);
+ undefined disconnect();
+ sequence<MutationRecord> takeRecords();
+
+ [ChromeOnly, Throws]
+ sequence<MutationObservingInfo?> getObservingInfo();
+ [ChromeOnly]
+ readonly attribute MutationCallback mutationCallback;
+ [ChromeOnly]
+ attribute boolean mergeAttributeRecords;
+};
+
+callback MutationCallback = undefined (sequence<MutationRecord> mutations, MutationObserver observer);
+
+dictionary MutationObserverInit {
+ boolean childList = false;
+ boolean attributes;
+ boolean characterData;
+ boolean subtree = false;
+ boolean attributeOldValue;
+ boolean characterDataOldValue;
+ [ChromeOnly]
+ boolean nativeAnonymousChildList = false;
+ [ChromeOnly]
+ boolean animations = false;
+ sequence<DOMString> attributeFilter;
+};
+
+dictionary MutationObservingInfo : MutationObserverInit
+{
+ Node? observedNode = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/NamedNodeMap.webidl b/vendor/web-sys/webidls/enabled/NamedNodeMap.webidl
new file mode 100644
index 000000000..88e2ff51f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NamedNodeMap.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/. */
+
+[LegacyUnenumerableNamedProperties]
+interface NamedNodeMap {
+ getter Attr? getNamedItem(DOMString name);
+ [CEReactions, Throws, BinaryName="setNamedItemNS"]
+ Attr? setNamedItem(Attr arg);
+ [CEReactions, Throws]
+ Attr removeNamedItem(DOMString name);
+
+ getter Attr? item(unsigned long index);
+ readonly attribute unsigned long length;
+
+ Attr? getNamedItemNS(DOMString? namespaceURI, DOMString localName);
+ [CEReactions, Throws]
+ Attr? setNamedItemNS(Attr arg);
+ [CEReactions, Throws]
+ Attr removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
+};
diff --git a/vendor/web-sys/webidls/enabled/NativeOSFileInternals.webidl b/vendor/web-sys/webidls/enabled/NativeOSFileInternals.webidl
new file mode 100644
index 000000000..934b6ae11
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NativeOSFileInternals.webidl
@@ -0,0 +1,58 @@
+/* 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 obtaone at http://mozilla.org/MPL/2.0/. */
+
+/**
+ * Options for nsINativeOSFileInternals::Read
+ */
+dictionary NativeOSFileReadOptions
+{
+ /**
+ * If specified, convert the raw bytes to a String
+ * with the specified encoding. Otherwise, return
+ * the raw bytes as a TypedArray.
+ */
+ DOMString? encoding;
+
+ /**
+ * If specified, limit the number of bytes to read.
+ */
+ unsigned long long? bytes;
+};
+
+/**
+ * Options for nsINativeOSFileInternals::WriteAtomic
+ */
+dictionary NativeOSFileWriteAtomicOptions
+{
+ /**
+ * If specified, specify the number of bytes to write.
+ * NOTE: This takes (and should take) a uint64 here but the actual
+ * value is limited to int32. This needs to be fixed, see Bug 1063635.
+ */
+ unsigned long long? bytes;
+
+ /**
+ * If specified, write all data to a temporary file in the
+ * |tmpPath|. Else, write to the given path directly.
+ */
+ DOMString? tmpPath = null;
+
+ /**
+ * If specified and true, a failure will occur if the file
+ * already exists in the given path.
+ */
+ boolean noOverwrite = false;
+
+ /**
+ * If specified and true, this will sync any buffered data
+ * for the file to disk. This might be slower, but safer.
+ */
+ boolean flush = false;
+
+ /**
+ * If specified, this will backup the destination file as
+ * specified.
+ */
+ DOMString? backupTo = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/Navigator.webidl b/vendor/web-sys/webidls/enabled/Navigator.webidl
new file mode 100644
index 000000000..61c5b019e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Navigator.webidl
@@ -0,0 +1,246 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-navigator-object
+ * http://www.w3.org/TR/tracking-dnt/
+ * http://www.w3.org/TR/geolocation-API/#geolocation_interface
+ * http://www.w3.org/TR/battery-status/#navigatorbattery-interface
+ * http://www.w3.org/TR/vibration/#vibration-interface
+ * http://www.w3.org/2012/sysapps/runtime/#extension-to-the-navigator-interface-1
+ * https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#navigator-interface-extension
+ * http://www.w3.org/TR/beacon/#sec-beacon-method
+ * https://html.spec.whatwg.org/#navigatorconcurrenthardware
+ * http://wicg.github.io/netinfo/#extensions-to-the-navigator-interface
+ * https://w3c.github.io/webappsec-credential-management/#framework-credential-management
+ * https://w3c.github.io/webdriver/webdriver-spec.html#interface
+ * https://wicg.github.io/media-capabilities/#idl-index
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+// http://www.whatwg.org/specs/web-apps/current-work/#the-navigator-object
+[HeaderFile="Navigator.h"]
+interface Navigator {
+ // objects implementing this interface also implement the interfaces given below
+};
+Navigator includes NavigatorID;
+Navigator includes NavigatorLanguage;
+Navigator includes NavigatorOnLine;
+Navigator includes NavigatorContentUtils;
+Navigator includes NavigatorStorageUtils;
+Navigator includes NavigatorConcurrentHardware;
+Navigator includes NavigatorStorage;
+Navigator includes NavigatorAutomationInformation;
+
+[Exposed=(Window,Worker)]
+interface mixin NavigatorID {
+ // WebKit/Blink/Trident/Presto support this (hardcoded "Mozilla").
+ [Constant, Cached, Throws]
+ readonly attribute DOMString appCodeName; // constant "Mozilla"
+ [Constant, Cached, NeedsCallerType]
+ readonly attribute DOMString appName;
+ [Constant, Cached, Throws, NeedsCallerType]
+ readonly attribute DOMString appVersion;
+ [Constant, Cached, Throws, NeedsCallerType]
+ readonly attribute DOMString platform;
+ [Pure, Cached, Throws, NeedsCallerType]
+ readonly attribute DOMString userAgent;
+ [Constant, Cached]
+ readonly attribute DOMString product; // constant "Gecko"
+
+ // Everyone but WebKit/Blink supports this. See bug 679971.
+ [Exposed=Window]
+ boolean taintEnabled(); // constant false
+};
+
+[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
+ // main-thread from the worker thread anytime we need to retrieve them. They
+ // are updated when pref intl.accept_languages is changed.
+
+ [Pure, Cached]
+ readonly attribute DOMString? language;
+ [Pure, Cached, Frozen]
+ readonly attribute sequence<DOMString> languages;
+};
+
+[Exposed=(Window,Worker)]
+interface mixin NavigatorOnLine {
+ readonly attribute boolean onLine;
+};
+
+interface mixin NavigatorContentUtils {
+ // content handler registration
+ [Throws, Func="nsGlobalWindowInner::RegisterProtocolHandlerAllowedForContext"]
+ undefined registerProtocolHandler(DOMString scheme, DOMString url, DOMString title);
+ [Pref="dom.registerContentHandler.enabled", Throws]
+ undefined registerContentHandler(DOMString mimeType, DOMString url, DOMString title);
+ // NOT IMPLEMENTED
+ //DOMString isProtocolHandlerRegistered(DOMString scheme, DOMString url);
+ //DOMString isContentHandlerRegistered(DOMString mimeType, DOMString url);
+ //undefined unregisterProtocolHandler(DOMString scheme, DOMString url);
+ //undefined unregisterContentHandler(DOMString mimeType, DOMString url);
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface mixin NavigatorStorage {
+ [Func="mozilla::dom::DOMPrefs::StorageManagerEnabled"]
+ readonly attribute StorageManager storage;
+};
+
+interface mixin NavigatorStorageUtils {
+ // NOT IMPLEMENTED
+ //undefined yieldForStorageUpdates();
+};
+
+partial interface Navigator {
+ [Throws]
+ readonly attribute Permissions permissions;
+};
+
+// Things that definitely need to be in the spec and and are not for some
+// reason. See https://www.w3.org/Bugs/Public/show_bug.cgi?id=22406
+partial interface Navigator {
+ [Throws]
+ readonly attribute MimeTypeArray mimeTypes;
+ [Throws]
+ readonly attribute PluginArray plugins;
+};
+
+// http://www.w3.org/TR/tracking-dnt/ sort of
+partial interface Navigator {
+ readonly attribute DOMString doNotTrack;
+};
+
+// http://www.w3.org/TR/geolocation-API/#geolocation_interface
+interface mixin NavigatorGeolocation {
+ [Throws, Pref="geo.enabled"]
+ readonly attribute Geolocation geolocation;
+};
+Navigator includes NavigatorGeolocation;
+
+// http://www.w3.org/TR/battery-status/#navigatorbattery-interface
+partial interface Navigator {
+ // ChromeOnly to prevent web content from fingerprinting users' batteries.
+ [Throws, ChromeOnly, Pref="dom.battery.enabled"]
+ Promise<BatteryManager> getBattery();
+};
+
+// http://www.w3.org/TR/vibration/#vibration-interface
+partial interface Navigator {
+ // We don't support sequences in unions yet
+ //boolean vibrate ((unsigned long or sequence<unsigned long>) pattern);
+ boolean vibrate(unsigned long duration);
+ boolean vibrate(sequence<unsigned long> pattern);
+};
+
+// http://www.w3.org/TR/pointerevents/#extensions-to-the-navigator-interface
+partial interface Navigator {
+ [Pref="dom.w3c_pointer_events.enabled"]
+ readonly attribute long maxTouchPoints;
+};
+
+// https://wicg.github.io/media-capabilities/#idl-index
+[Exposed=Window]
+partial interface Navigator {
+ [SameObject, Func="mozilla::dom::MediaCapabilities::Enabled"]
+ readonly attribute MediaCapabilities mediaCapabilities;
+};
+
+// NetworkInformation
+partial interface Navigator {
+ [Throws, Pref="dom.netinfo.enabled"]
+ readonly attribute NetworkInformation connection;
+};
+
+// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#navigator-interface-extension
+partial interface Navigator {
+ [Throws, Pref="dom.gamepad.enabled"]
+ sequence<Gamepad?> getGamepads();
+};
+partial interface Navigator {
+ [Pref="dom.gamepad.test.enabled"]
+ GamepadServiceTest requestGamepadServiceTest();
+};
+
+partial interface Navigator {
+ [Throws, Pref="dom.vr.enabled"]
+ Promise<sequence<VRDisplay>> getVRDisplays();
+ // TODO: Use FrozenArray once available. (Bug 1236777)
+ [Frozen, Cached, Pure, Pref="dom.vr.enabled"]
+ readonly attribute sequence<VRDisplay> activeVRDisplays;
+ [ChromeOnly, Pref="dom.vr.enabled"]
+ readonly attribute boolean isWebVRContentDetected;
+ [ChromeOnly, Pref="dom.vr.enabled"]
+ readonly attribute boolean isWebVRContentPresenting;
+ [ChromeOnly, Pref="dom.vr.enabled"]
+ undefined requestVRPresentation(VRDisplay display);
+};
+partial interface Navigator {
+ [Pref="dom.vr.test.enabled"]
+ VRServiceTest requestVRServiceTest();
+};
+
+// http://webaudio.github.io/web-midi-api/#requestmidiaccess
+partial interface Navigator {
+ [Throws, Pref="dom.webmidi.enabled"]
+ Promise<MIDIAccess> requestMIDIAccess(optional MIDIOptions options);
+};
+
+callback NavigatorUserMediaSuccessCallback = undefined (MediaStream stream);
+callback NavigatorUserMediaErrorCallback = undefined (MediaStreamError error);
+
+partial interface Navigator {
+ [Throws, Func="Navigator::HasUserMediaSupport"]
+ readonly attribute MediaDevices mediaDevices;
+};
+
+// Service Workers/Navigation Controllers
+partial interface Navigator {
+ [Func="ServiceWorkerContainer::IsEnabled", SameObject]
+ readonly attribute ServiceWorkerContainer serviceWorker;
+};
+
+partial interface Navigator {
+ [Throws, Pref="beacon.enabled"]
+ boolean sendBeacon(DOMString url,
+ optional BodyInit? data = null);
+};
+
+partial interface Navigator {
+ [Throws, Pref="dom.presentation.enabled", SameObject]
+ readonly attribute Presentation? presentation;
+};
+
+partial interface Navigator {
+ [NewObject]
+ Promise<MediaKeySystemAccess>
+ requestMediaKeySystemAccess(DOMString keySystem,
+ sequence<MediaKeySystemConfiguration> supportedConfigurations);
+};
+
+[Exposed=(Window,Worker)]
+interface mixin NavigatorConcurrentHardware {
+ readonly attribute unsigned long long hardwareConcurrency;
+};
+
+// https://w3c.github.io/webappsec-credential-management/#framework-credential-management
+partial interface Navigator {
+ [Pref="security.webauth.webauthn", SecureContext, SameObject]
+ readonly attribute CredentialsContainer credentials;
+};
+
+// https://w3c.github.io/webdriver/webdriver-spec.html#interface
+[NoInterfaceObject]
+interface NavigatorAutomationInformation {
+ [Pref="dom.webdriver.enabled"]
+ readonly attribute boolean webdriver;
+};
diff --git a/vendor/web-sys/webidls/enabled/NetDashboard.webidl b/vendor/web-sys/webidls/enabled/NetDashboard.webidl
new file mode 100644
index 000000000..0d9128a6d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NetDashboard.webidl
@@ -0,0 +1,96 @@
+/* -*- 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/. */
+
+// This file defines dictionaries used by about:networking page.
+
+dictionary SocketElement {
+ DOMString host = "";
+ unsigned long port = 0;
+ boolean active = false;
+ boolean tcp = false;
+ double sent = 0;
+ double received = 0;
+};
+
+dictionary SocketsDict {
+ sequence<SocketElement> sockets;
+ double sent = 0;
+ double received = 0;
+};
+
+dictionary HttpConnInfo {
+ unsigned long rtt = 0;
+ unsigned long ttl = 0;
+ DOMString protocolVersion = "";
+};
+
+dictionary HalfOpenInfoDict {
+ boolean speculative = false;
+};
+
+dictionary HttpConnectionElement {
+ DOMString host = "";
+ unsigned long port = 0;
+ boolean spdy = false;
+ boolean ssl = false;
+ sequence<HttpConnInfo> active;
+ sequence<HttpConnInfo> idle;
+ sequence<HalfOpenInfoDict> halfOpens;
+};
+
+dictionary HttpConnDict {
+ sequence<HttpConnectionElement> connections;
+};
+
+dictionary WebSocketElement {
+ DOMString hostport = "";
+ unsigned long msgsent = 0;
+ unsigned long msgreceived = 0;
+ double sentsize = 0;
+ double receivedsize = 0;
+ boolean encrypted = false;
+};
+
+dictionary WebSocketDict {
+ sequence<WebSocketElement> websockets;
+};
+
+dictionary DnsCacheEntry {
+ DOMString hostname = "";
+ sequence<DOMString> hostaddr;
+ DOMString family = "";
+ double expiration = 0;
+ boolean trr = false;
+};
+
+dictionary DNSCacheDict {
+ sequence<DnsCacheEntry> entries;
+};
+
+dictionary DNSLookupDict {
+ sequence<DOMString> address;
+ DOMString error = "";
+ boolean answer = false;
+};
+
+dictionary ConnStatusDict {
+ DOMString status = "";
+};
+
+dictionary RcwnPerfStats {
+ unsigned long avgShort = 0;
+ unsigned long avgLong = 0;
+ unsigned long stddevLong = 0;
+};
+
+dictionary RcwnStatus {
+ unsigned long totalNetworkRequests = 0;
+ unsigned long rcwnCacheWonCount = 0;
+ unsigned long rcwnNetWonCount = 0;
+ unsigned long cacheSlowCount = 0;
+ unsigned long cacheNotSlowCount = 0;
+ // Sequence is indexed by CachePerfStats::EDataType
+ sequence<RcwnPerfStats> perfStats;
+};
diff --git a/vendor/web-sys/webidls/enabled/NetworkInformation.webidl b/vendor/web-sys/webidls/enabled/NetworkInformation.webidl
new file mode 100644
index 000000000..f1120b9a2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NetworkInformation.webidl
@@ -0,0 +1,26 @@
+/* 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/.
+ *
+ * The origin of this IDL file is https://w3c.github.io/netinfo/
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum ConnectionType {
+ "cellular",
+ "bluetooth",
+ "ethernet",
+ "wifi",
+ "other",
+ "none",
+ "unknown"
+};
+
+[Func="mozilla::dom::DOMPrefs::NetworkInformationEnabled",
+ Exposed=(Window,Worker)]
+interface NetworkInformation : EventTarget {
+ readonly attribute ConnectionType type;
+ attribute EventHandler ontypechange;
+};
diff --git a/vendor/web-sys/webidls/enabled/NetworkOptions.webidl b/vendor/web-sys/webidls/enabled/NetworkOptions.webidl
new file mode 100644
index 000000000..b313c932d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NetworkOptions.webidl
@@ -0,0 +1,109 @@
+/* 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/. */
+
+/**
+* This dictionary holds the parameters sent to the network worker.
+*/
+dictionary NetworkCommandOptions
+{
+ long id = 0; // opaque id.
+ DOMString cmd = ""; // the command name.
+ DOMString ifname; // for "removeNetworkRoute", "setDNS",
+ // "setDefaultRouteAndDNS", "removeDefaultRoute"
+ // "addHostRoute", "removeHostRoute"
+ // "removeHostRoutes".
+ DOMString ip; // for "removeNetworkRoute", "setWifiTethering".
+ unsigned long prefixLength; // for "removeNetworkRoute".
+ DOMString domain; // for "setDNS"
+ sequence<DOMString> dnses; // for "setDNS", "setDefaultRouteAndDNS".
+ DOMString gateway; // for "addSecondaryRoute", "removeSecondaryRoute".
+ sequence<DOMString> gateways; // for "setDefaultRouteAndDNS", "removeDefaultRoute".
+ DOMString mode; // for "setWifiOperationMode".
+ boolean report; // for "setWifiOperationMode".
+ boolean enabled; // for "setDhcpServer".
+ DOMString wifictrlinterfacename; // for "setWifiTethering".
+ DOMString internalIfname; // for "setWifiTethering".
+ DOMString externalIfname; // for "setWifiTethering".
+ boolean enable; // for "setWifiTethering".
+ DOMString ssid; // for "setWifiTethering".
+ DOMString security; // for "setWifiTethering".
+ DOMString key; // for "setWifiTethering".
+ DOMString prefix; // for "setWifiTethering", "setDhcpServer".
+ DOMString link; // for "setWifiTethering", "setDhcpServer".
+ sequence<DOMString> interfaceList; // for "setWifiTethering".
+ DOMString wifiStartIp; // for "setWifiTethering".
+ DOMString wifiEndIp; // for "setWifiTethering".
+ DOMString usbStartIp; // for "setWifiTethering".
+ DOMString usbEndIp; // for "setWifiTethering".
+ DOMString dns1; // for "setWifiTethering".
+ DOMString dns2; // for "setWifiTethering".
+ long long threshold; // for "setNetworkInterfaceAlarm",
+ // "enableNetworkInterfaceAlarm".
+ DOMString startIp; // for "setDhcpServer".
+ DOMString endIp; // for "setDhcpServer".
+ DOMString serverIp; // for "setDhcpServer".
+ DOMString maskLength; // for "setDhcpServer".
+ DOMString preInternalIfname; // for "updateUpStream".
+ DOMString preExternalIfname; // for "updateUpStream".
+ DOMString curInternalIfname; // for "updateUpStream".
+ DOMString curExternalIfname; // for "updateUpStream".
+
+ long ipaddr; // for "ifc_configure".
+ long mask; // for "ifc_configure".
+ long gateway_long; // for "ifc_configure".
+ long dns1_long; // for "ifc_configure".
+ long dns2_long; // for "ifc_configure".
+
+ long mtu; // for "setMtu".
+};
+
+/**
+* This dictionary holds the parameters sent back to NetworkService.js.
+*/
+dictionary NetworkResultOptions
+{
+ long id = 0; // opaque id.
+ boolean ret = false; // for sync command.
+ boolean broadcast = false; // for netd broadcast message.
+ DOMString topic = ""; // for netd broadcast message.
+ DOMString reason = ""; // for netd broadcast message.
+
+ long resultCode = 0; // for all commands.
+ DOMString resultReason = ""; // for all commands.
+ boolean error = false; // for all commands.
+
+ boolean enable = false; // for "setWifiTethering", "setUSBTethering"
+ // "enableUsbRndis".
+ boolean result = false; // for "enableUsbRndis".
+ boolean success = false; // for "setDhcpServer".
+ DOMString curExternalIfname = ""; // for "updateUpStream".
+ DOMString curInternalIfname = ""; // for "updateUpStream".
+
+ DOMString reply = ""; // for "command".
+ DOMString route = ""; // for "ifc_get_default_route".
+ DOMString ipaddr_str = ""; // The following are for the result of
+ // dhcp_do_request.
+ DOMString gateway_str = "";
+ DOMString dns1_str = "";
+ DOMString dns2_str = "";
+ DOMString mask_str = "";
+ DOMString server_str = "";
+ DOMString vendor_str = "";
+ long lease = 0;
+ long prefixLength = 0;
+ long mask = 0;
+ long ipaddr = 0;
+ long gateway = 0;
+ long dns1 = 0;
+ long dns2 = 0;
+ long server = 0;
+
+ DOMString netId = ""; // for "getNetId".
+
+ sequence<DOMString> interfaceList; // for "getInterfaceList".
+
+ DOMString flag = "down"; // for "getInterfaceConfig".
+ DOMString macAddr = ""; // for "getInterfaceConfig".
+ DOMString ipAddr = ""; // for "getInterfaceConfig".
+};
diff --git a/vendor/web-sys/webidls/enabled/Node.webidl b/vendor/web-sys/webidls/enabled/Node.webidl
new file mode 100644
index 000000000..eb9a48a88
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Node.webidl
@@ -0,0 +1,106 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+/*TODO
+interface Principal;
+interface URI;
+*/
+
+interface Node : EventTarget {
+ const unsigned short ELEMENT_NODE = 1;
+ const unsigned short ATTRIBUTE_NODE = 2; // historical
+ const unsigned short TEXT_NODE = 3;
+ const unsigned short CDATA_SECTION_NODE = 4; // historical
+ const unsigned short ENTITY_REFERENCE_NODE = 5; // historical
+ const unsigned short ENTITY_NODE = 6; // historical
+ const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
+ const unsigned short COMMENT_NODE = 8;
+ const unsigned short DOCUMENT_NODE = 9;
+ const unsigned short DOCUMENT_TYPE_NODE = 10;
+ const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
+ const unsigned short NOTATION_NODE = 12; // historical
+ [Constant]
+ readonly attribute unsigned short nodeType;
+ [Pure]
+ readonly attribute DOMString nodeName;
+
+ [Pure, Throws, NeedsCallerType, BinaryName="baseURIFromJS"]
+ readonly attribute DOMString? baseURI;
+
+ [Pure, BinaryName=getComposedDoc]
+ readonly attribute boolean isConnected;
+ [Pure]
+ readonly attribute Document? ownerDocument;
+ [Pure]
+ Node getRootNode(optional GetRootNodeOptions options);
+ [Pure]
+ readonly attribute Node? parentNode;
+ [Pure]
+ readonly attribute Element? parentElement;
+ [Pure]
+ boolean hasChildNodes();
+ [SameObject]
+ readonly attribute NodeList childNodes;
+ [Pure]
+ readonly attribute Node? firstChild;
+ [Pure]
+ readonly attribute Node? lastChild;
+ [Pure]
+ readonly attribute Node? previousSibling;
+ [Pure]
+ readonly attribute Node? nextSibling;
+
+ [CEReactions, SetterThrows, Pure]
+ attribute DOMString? nodeValue;
+ [CEReactions, SetterThrows, GetterCanOOM,
+ SetterNeedsSubjectPrincipal=NonSystem, Pure]
+ attribute DOMString? textContent;
+ [CEReactions, Throws]
+ Node insertBefore(Node node, Node? child);
+ [CEReactions, Throws]
+ Node appendChild(Node node);
+ [CEReactions, Throws]
+ Node replaceChild(Node node, Node child);
+ [CEReactions, Throws]
+ Node removeChild(Node child);
+ [CEReactions]
+ undefined normalize();
+
+ [CEReactions, Throws]
+ Node cloneNode(optional boolean deep = false);
+ [Pure]
+ boolean isSameNode(Node? node);
+ [Pure]
+ boolean isEqualNode(Node? node);
+
+ const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
+ const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
+ const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04;
+ const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08;
+ const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
+ const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; // historical
+ [Pure]
+ unsigned short compareDocumentPosition(Node other);
+ [Pure]
+ boolean contains(Node? other);
+
+ [Pure]
+ DOMString? lookupPrefix(DOMString? namespace);
+ [Pure]
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+ [Pure]
+ boolean isDefaultNamespace(DOMString? namespace);
+};
+
+dictionary GetRootNodeOptions {
+ boolean composed = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/NodeFilter.webidl b/vendor/web-sys/webidls/enabled/NodeFilter.webidl
new file mode 100644
index 000000000..6da959dc9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NodeFilter.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#interface-nodefilter
+ */
+
+callback interface NodeFilter {
+ // Constants for acceptNode()
+ const unsigned short FILTER_ACCEPT = 1;
+ const unsigned short FILTER_REJECT = 2;
+ const unsigned short FILTER_SKIP = 3;
+
+ // Constants for whatToShow
+ const unsigned long SHOW_ALL = 0xFFFFFFFF;
+ const unsigned long SHOW_ELEMENT = 0x1;
+ const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
+ const unsigned long SHOW_TEXT = 0x4;
+ const unsigned long SHOW_CDATA_SECTION = 0x8; // historical
+ const unsigned long SHOW_ENTITY_REFERENCE = 0x10; // historical
+ const unsigned long SHOW_ENTITY = 0x20; // historical
+ const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x40;
+ const unsigned long SHOW_COMMENT = 0x80;
+ const unsigned long SHOW_DOCUMENT = 0x100;
+ const unsigned long SHOW_DOCUMENT_TYPE = 0x200;
+ const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x400;
+ const unsigned long SHOW_NOTATION = 0x800; // historical
+
+ unsigned short acceptNode(Node node);
+};
diff --git a/vendor/web-sys/webidls/enabled/NodeIterator.webidl b/vendor/web-sys/webidls/enabled/NodeIterator.webidl
new file mode 100644
index 000000000..418b077e5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NodeIterator.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface NodeIterator {
+ [Constant]
+ readonly attribute Node root;
+ [Pure]
+ readonly attribute Node? referenceNode;
+ [Pure]
+ readonly attribute boolean pointerBeforeReferenceNode;
+ [Constant]
+ readonly attribute unsigned long whatToShow;
+ [Constant]
+ readonly attribute NodeFilter? filter;
+
+ [Throws]
+ Node? nextNode();
+ [Throws]
+ Node? previousNode();
+
+ undefined detach();
+};
diff --git a/vendor/web-sys/webidls/enabled/NodeList.webidl b/vendor/web-sys/webidls/enabled/NodeList.webidl
new file mode 100644
index 000000000..609dc0929
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NodeList.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// Updated using https://dom.spec.whatwg.org/#interface-nodelist
+
+[ProbablyShortLivingWrapper]
+interface NodeList {
+ getter Node? item(unsigned long index);
+ readonly attribute unsigned long length;
+ iterable<Node>;
+};
diff --git a/vendor/web-sys/webidls/enabled/Notification.webidl b/vendor/web-sys/webidls/enabled/Notification.webidl
new file mode 100644
index 000000000..7d63d9732
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Notification.webidl
@@ -0,0 +1,96 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://notifications.spec.whatwg.org/
+ *
+ * Copyright:
+ * To the extent possible under law, the editors have waived all copyright and
+ * related or neighboring rights to this work.
+ */
+
+[Constructor(DOMString title, optional NotificationOptions options),
+ Exposed=(Window,Worker),
+ Func="mozilla::dom::Notification::PrefEnabled"]
+interface Notification : EventTarget {
+ [GetterThrows]
+ static readonly attribute NotificationPermission permission;
+
+ [Throws, Func="mozilla::dom::Notification::RequestPermissionEnabledForScope"]
+ static Promise<NotificationPermission> requestPermission(optional NotificationPermissionCallback permissionCallback);
+
+ [Throws, Func="mozilla::dom::Notification::IsGetEnabled"]
+ static Promise<sequence<Notification>> get(optional GetNotificationOptions filter);
+
+ attribute EventHandler onclick;
+
+ attribute EventHandler onshow;
+
+ attribute EventHandler onerror;
+
+ attribute EventHandler onclose;
+
+ [Pure]
+ readonly attribute DOMString title;
+
+ [Pure]
+ readonly attribute NotificationDirection dir;
+
+ [Pure]
+ readonly attribute DOMString? lang;
+
+ [Pure]
+ readonly attribute DOMString? body;
+
+ [Constant]
+ readonly attribute DOMString? tag;
+
+ [Pure]
+ readonly attribute DOMString? icon;
+
+ [Constant, Func="mozilla::dom::DOMPrefs::NotificationRIEnabled"]
+ readonly attribute boolean requireInteraction;
+
+ [Constant]
+ readonly attribute any data;
+
+ undefined close();
+};
+
+dictionary NotificationOptions {
+ NotificationDirection dir = "auto";
+ DOMString lang = "";
+ DOMString body = "";
+ DOMString tag = "";
+ DOMString icon = "";
+ boolean requireInteraction = false;
+ any data = null;
+};
+
+dictionary GetNotificationOptions {
+ DOMString tag = "";
+};
+
+dictionary NotificationBehavior {
+ boolean noscreen = false;
+ boolean noclear = false;
+ boolean showOnlyOnce = false;
+ DOMString soundFile = "";
+ sequence<unsigned long> vibrationPattern;
+};
+
+enum NotificationPermission {
+ "default",
+ "denied",
+ "granted"
+};
+
+callback NotificationPermissionCallback = undefined (NotificationPermission permission);
+
+enum NotificationDirection {
+ "auto",
+ "ltr",
+ "rtl"
+};
diff --git a/vendor/web-sys/webidls/enabled/NotificationEvent.webidl b/vendor/web-sys/webidls/enabled/NotificationEvent.webidl
new file mode 100644
index 000000000..47a30349c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NotificationEvent.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://notifications.spec.whatwg.org/
+ *
+ * Copyright:
+ * To the extent possible under law, the editors have waived all copyright and
+ * related or neighboring rights to this work.
+ */
+
+[Constructor(DOMString type, NotificationEventInit eventInitDict),
+ Exposed=ServiceWorker,Func="mozilla::dom::Notification::PrefEnabled"]
+interface NotificationEvent : ExtendableEvent {
+ readonly attribute Notification notification;
+};
+
+dictionary NotificationEventInit : ExtendableEventInit {
+ required Notification notification;
+};
diff --git a/vendor/web-sys/webidls/enabled/NotifyPaintEvent.webidl b/vendor/web-sys/webidls/enabled/NotifyPaintEvent.webidl
new file mode 100644
index 000000000..0560b8bd5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/NotifyPaintEvent.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ */
+
+/**
+ * The NotifyPaintEvent interface is used for the MozDOMAfterPaint
+ * event, which fires at a window when painting has happened in
+ * that window.
+ */
+[ChromeOnly]
+interface NotifyPaintEvent : Event
+{
+ /**
+ * Get a list of rectangles which are affected. The rectangles are
+ * in CSS pixels relative to the viewport origin.
+ */
+ [ChromeOnly, NeedsCallerType]
+ readonly attribute DOMRectList clientRects;
+
+ /**
+ * Get the bounding box of the rectangles which are affected. The rectangle
+ * is in CSS pixels relative to the viewport origin.
+ */
+ [ChromeOnly, NeedsCallerType]
+ readonly attribute DOMRect boundingClientRect;
+
+ [ChromeOnly, NeedsCallerType]
+ readonly attribute PaintRequestList paintRequests;
+
+ [ChromeOnly, NeedsCallerType]
+ readonly attribute unsigned long long transactionId;
+
+ [ChromeOnly, NeedsCallerType]
+ readonly attribute DOMHighResTimeStamp paintTimeStamp;
+};
diff --git a/vendor/web-sys/webidls/enabled/OVRMultiview2.webidl b/vendor/web-sys/webidls/enabled/OVRMultiview2.webidl
new file mode 100644
index 000000000..106ffddd1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OVRMultiview2.webidl
@@ -0,0 +1,13 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * The source for this IDL is found at https://www.khronos.org/registry/webgl/extensions/OVR_multiview2/
+ */
+[Exposed=(Window,Worker), LegacyNoInterfaceObject]
+interface OVR_multiview2 {
+ const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630;
+ const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632;
+ const GLenum MAX_VIEWS_OVR = 0x9631;
+ const GLenum FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633;
+
+ undefined framebufferTextureMultiviewOVR(GLenum target, GLenum attachment, WebGLTexture? texture, GLint level, GLint baseViewIndex, GLsizei numViews);
+};
diff --git a/vendor/web-sys/webidls/enabled/OfflineAudioCompletionEvent.webidl b/vendor/web-sys/webidls/enabled/OfflineAudioCompletionEvent.webidl
new file mode 100644
index 000000000..03c58b96e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OfflineAudioCompletionEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary OfflineAudioCompletionEventInit : EventInit {
+ required AudioBuffer renderedBuffer;
+};
+
+[Constructor(DOMString type, OfflineAudioCompletionEventInit eventInitDict),
+ Pref="dom.webaudio.enabled"]
+interface OfflineAudioCompletionEvent : Event {
+ readonly attribute AudioBuffer renderedBuffer;
+};
diff --git a/vendor/web-sys/webidls/enabled/OfflineAudioContext.webidl b/vendor/web-sys/webidls/enabled/OfflineAudioContext.webidl
new file mode 100644
index 000000000..86205357e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OfflineAudioContext.webidl
@@ -0,0 +1,33 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary OfflineAudioContextOptions {
+ unsigned long numberOfChannels = 1;
+ required unsigned long length;
+ required float sampleRate;
+};
+
+[Constructor (OfflineAudioContextOptions contextOptions),
+Constructor(unsigned long numberOfChannels, unsigned long length, float sampleRate),
+Pref="dom.webaudio.enabled"]
+interface OfflineAudioContext : BaseAudioContext {
+
+ [Throws]
+ Promise<AudioBuffer> startRendering();
+
+ // TODO: Promise<undefined> suspend (double suspendTime);
+
+ readonly attribute unsigned long length;
+ attribute EventHandler oncomplete;
+};
+
+OfflineAudioContext includes rustBaseAudioContext;
diff --git a/vendor/web-sys/webidls/enabled/OfflineResourceList.webidl b/vendor/web-sys/webidls/enabled/OfflineResourceList.webidl
new file mode 100644
index 000000000..24f3e9c3c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OfflineResourceList.webidl
@@ -0,0 +1,62 @@
+/* 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/. */
+
+[Pref="browser.cache.offline.enable", Func="nsGlobalWindowInner::OfflineCacheAllowedForContext"]
+interface OfflineResourceList : EventTarget {
+ /**
+ * State of the application cache this object is associated with.
+ */
+
+ /* This object is not associated with an application cache. */
+ const unsigned short UNCACHED = 0;
+
+ /* The application cache is not being updated. */
+ const unsigned short IDLE = 1;
+
+ /* The manifest is being fetched and checked for updates */
+ const unsigned short CHECKING = 2;
+
+ /* Resources are being downloaded to be added to the cache */
+ const unsigned short DOWNLOADING = 3;
+
+ /* There is a new version of the application cache available */
+ const unsigned short UPDATEREADY = 4;
+
+ /* The application cache group is now obsolete. */
+ const unsigned short OBSOLETE = 5;
+
+ [Throws, UseCounter]
+ readonly attribute unsigned short status;
+
+ /**
+ * Begin the application update process on the associated application cache.
+ */
+ [Throws, UseCounter]
+ undefined update();
+
+ /**
+ * Swap in the newest version of the application cache, or disassociate
+ * from the cache if the cache group is obsolete.
+ */
+ [Throws, UseCounter]
+ undefined swapCache();
+
+ /* Events */
+ [UseCounter]
+ attribute EventHandler onchecking;
+ [UseCounter]
+ attribute EventHandler onerror;
+ [UseCounter]
+ attribute EventHandler onnoupdate;
+ [UseCounter]
+ attribute EventHandler ondownloading;
+ [UseCounter]
+ attribute EventHandler onprogress;
+ [UseCounter]
+ attribute EventHandler onupdateready;
+ [UseCounter]
+ attribute EventHandler oncached;
+ [UseCounter]
+ attribute EventHandler onobsolete;
+};
diff --git a/vendor/web-sys/webidls/enabled/OffscreenCanvas.webidl b/vendor/web-sys/webidls/enabled/OffscreenCanvas.webidl
new file mode 100644
index 000000000..c1bc84bea
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OffscreenCanvas.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * https://wiki.whatwg.org/wiki/OffscreenCanvas
+ */
+
+[Constructor(unsigned long width, unsigned long height),
+ Exposed=(Window,Worker),
+ Func="mozilla::dom::DOMPrefs::OffscreenCanvasEnabled"]
+interface OffscreenCanvas : EventTarget {
+ [Pure, SetterThrows]
+ attribute unsigned long width;
+ [Pure, SetterThrows]
+ attribute unsigned long height;
+
+ [Throws]
+ nsISupports? getContext(DOMString contextId,
+ optional any contextOptions = null);
+
+ [Throws]
+ ImageBitmap transferToImageBitmap();
+ [Throws]
+ Promise<Blob> toBlob(optional DOMString type = "",
+ optional any encoderOptions);
+};
+
+// OffscreenCanvas includes Transferable;
diff --git a/vendor/web-sys/webidls/enabled/OscillatorNode.webidl b/vendor/web-sys/webidls/enabled/OscillatorNode.webidl
new file mode 100644
index 000000000..230740d9c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/OscillatorNode.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum OscillatorType {
+ "sine",
+ "square",
+ "sawtooth",
+ "triangle",
+ "custom"
+};
+
+dictionary OscillatorOptions : AudioNodeOptions {
+ OscillatorType type = "sine";
+ float frequency = 440;
+ float detune = 0;
+ PeriodicWave periodicWave;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional OscillatorOptions options)]
+interface OscillatorNode : AudioScheduledSourceNode {
+
+ [SetterThrows]
+ attribute OscillatorType type;
+
+ readonly attribute AudioParam frequency; // in Hertz
+ readonly attribute AudioParam detune; // in Cents
+
+ undefined setPeriodicWave(PeriodicWave periodicWave);
+};
+
+OscillatorNode includes rustAudioScheduledSourceNode;
diff --git a/vendor/web-sys/webidls/enabled/PageTransitionEvent.webidl b/vendor/web-sys/webidls/enabled/PageTransitionEvent.webidl
new file mode 100644
index 000000000..a0749e7f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PageTransitionEvent.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ */
+
+/**
+ * The PageTransitionEvent interface is used for the pageshow and
+ * pagehide events, which are generic events that apply to both page
+ * load/unload and saving/restoring a document from session history.
+ */
+
+[Constructor(DOMString type, optional PageTransitionEventInit eventInitDict)]
+interface PageTransitionEvent : Event
+{
+ /**
+ * Set to true if the document has been or will be persisted across
+ * firing of the event. For example, if a document is being cached in
+ * session history, |persisted| is true for the PageHide event.
+ */
+ readonly attribute boolean persisted;
+
+ // Whether the document is in the middle of a frame swap.
+ [ChromeOnly]
+ readonly attribute boolean inFrameSwap;
+};
+
+dictionary PageTransitionEventInit : EventInit
+{
+ boolean persisted = false;
+ boolean inFrameSwap = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/PaintRequest.webidl b/vendor/web-sys/webidls/enabled/PaintRequest.webidl
new file mode 100644
index 000000000..065be0866
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaintRequest.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/. */
+
+/**
+ * These objects are exposed by the MozDOMAfterPaint event. Each one represents
+ * a request to repaint a rectangle that was generated by the browser.
+ */
+interface PaintRequest {
+ /**
+ * The client rect where invalidation was triggered.
+ */
+ readonly attribute DOMRect clientRect;
+
+ /**
+ * The reason for the request, as a string. If an empty string, then we don't know
+ * the reason (this is common). Reasons include "scroll repaint", meaning that we
+ * needed to repaint the rectangle due to scrolling, and "scroll copy", meaning
+ * that we updated the rectangle due to scrolling but instead of painting
+ * manually, we were able to do a copy from another area of the screen.
+ */
+ readonly attribute DOMString reason;
+};
diff --git a/vendor/web-sys/webidls/enabled/PaintRequestList.webidl b/vendor/web-sys/webidls/enabled/PaintRequestList.webidl
new file mode 100644
index 000000000..d14f18a73
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaintRequestList.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ */
+
+interface PaintRequestList {
+ readonly attribute unsigned long length;
+ getter PaintRequest? item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/PaintWorkletGlobalScope.webidl b/vendor/web-sys/webidls/enabled/PaintWorkletGlobalScope.webidl
new file mode 100644
index 000000000..1393db272
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaintWorkletGlobalScope.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.css-houdini.org/css-paint-api-1/#paintworkletglobalscope
+ */
+
+[Global=(Worklet,PaintWorklet),Exposed=PaintWorklet]
+interface PaintWorkletGlobalScope : WorkletGlobalScope {
+ undefined registerPaint(DOMString name, VoidFunction paintCtor);
+};
diff --git a/vendor/web-sys/webidls/enabled/PannerNode.webidl b/vendor/web-sys/webidls/enabled/PannerNode.webidl
new file mode 100644
index 000000000..ecc3fe80e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PannerNode.webidl
@@ -0,0 +1,75 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum PanningModelType {
+ "equalpower",
+ "HRTF"
+};
+
+enum DistanceModelType {
+ "linear",
+ "inverse",
+ "exponential"
+};
+
+dictionary PannerOptions : AudioNodeOptions {
+ PanningModelType panningModel = "equalpower";
+ DistanceModelType distanceModel = "inverse";
+ float positionX = 0;
+ float positionY = 0;
+ float positionZ = 0;
+ float orientationX = 1;
+ float orientationY = 0;
+ float orientationZ = 0;
+ double refDistance = 1;
+ double maxDistance = 10000;
+ double rolloffFactor = 1;
+ double coneInnerAngle = 360;
+ double coneOuterAngle = 360;
+ double coneOuterGain = 0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional PannerOptions options)]
+interface PannerNode : AudioNode {
+
+ // Default for stereo is equalpower
+ attribute PanningModelType panningModel;
+
+ // Uses a 3D cartesian coordinate system
+ undefined setPosition(double x, double y, double z);
+ undefined setOrientation(double x, double y, double z);
+ [Deprecated="PannerNodeDoppler"]
+ undefined setVelocity(double x, double y, double z);
+
+ // Cartesian coordinate for position
+ readonly attribute AudioParam positionX;
+ readonly attribute AudioParam positionY;
+ readonly attribute AudioParam positionZ;
+
+ // Cartesian coordinate for orientation
+ readonly attribute AudioParam orientationX;
+ readonly attribute AudioParam orientationY;
+ readonly attribute AudioParam orientationZ;
+
+ // Distance model and attributes
+ attribute DistanceModelType distanceModel;
+ attribute double refDistance;
+ attribute double maxDistance;
+ attribute double rolloffFactor;
+
+ // Directional sound cone
+ attribute double coneInnerAngle;
+ attribute double coneOuterAngle;
+ attribute double coneOuterGain;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/ParentNode.webidl b/vendor/web-sys/webidls/enabled/ParentNode.webidl
new file mode 100644
index 000000000..5256d189b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ParentNode.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#interface-parentnode
+ */
+
+interface mixin ParentNode {
+ [Constant]
+ readonly attribute HTMLCollection children;
+ [Pure]
+ readonly attribute Element? firstElementChild;
+ [Pure]
+ readonly attribute Element? lastElementChild;
+ [Pure]
+ readonly attribute unsigned long childElementCount;
+
+ [CEReactions, Throws, Unscopable]
+ undefined prepend((Node or DOMString)... nodes);
+ [CEReactions, Throws, Unscopable]
+ undefined append((Node or DOMString)... nodes);
+};
diff --git a/vendor/web-sys/webidls/enabled/ParentSHistory.webidl b/vendor/web-sys/webidls/enabled/ParentSHistory.webidl
new file mode 100644
index 000000000..f892172da
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ParentSHistory.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ */
+
+/**
+ * The ParentSHistory interface represents the parent side of a browsing
+ * context's session history. Theoretically this object manages all session
+ * history state for the browsing context.
+ */
+[ChromeOnly]
+interface ParentSHistory {
+ [Pure]
+ readonly attribute long count;
+ [Pure]
+ readonly attribute long index;
+};
diff --git a/vendor/web-sys/webidls/enabled/PaymentAddress.webidl b/vendor/web-sys/webidls/enabled/PaymentAddress.webidl
new file mode 100644
index 000000000..06fffeafa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaymentAddress.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this WebIDL file is
+ * https://www.w3.org/TR/payment-request/#paymentaddress-interface
+ */
+
+[SecureContext,
+ Func="mozilla::dom::PaymentRequest::PrefEnabled"]
+interface PaymentAddress {
+ [Default] object toJSON();
+
+ readonly attribute DOMString country;
+ // TODO: Use FrozenArray once available. (Bug 1236777)
+ // readonly attribute FrozenArray<DOMString> addressLine;
+ [Frozen, Cached, Pure]
+ readonly attribute sequence<DOMString> addressLine;
+ readonly attribute DOMString region;
+ readonly attribute DOMString city;
+ readonly attribute DOMString dependentLocality;
+ readonly attribute DOMString postalCode;
+ readonly attribute DOMString sortingCode;
+ readonly attribute DOMString languageCode;
+ readonly attribute DOMString organization;
+ readonly attribute DOMString recipient;
+ readonly attribute DOMString phone;
+};
diff --git a/vendor/web-sys/webidls/enabled/PaymentMethodChangeEvent.webidl b/vendor/web-sys/webidls/enabled/PaymentMethodChangeEvent.webidl
new file mode 100644
index 000000000..551e60421
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaymentMethodChangeEvent.webidl
@@ -0,0 +1,13 @@
+[Constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict),
+ SecureContext,
+ Exposed=Window,
+ Func="mozilla::dom::PaymentRequest::PrefEnabled"]
+interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent {
+ readonly attribute DOMString methodName;
+ readonly attribute object? methodDetails;
+};
+
+dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit {
+ required DOMString methodName;
+ object? methodDetails;
+};
diff --git a/vendor/web-sys/webidls/enabled/PaymentRequestUpdateEvent.webidl b/vendor/web-sys/webidls/enabled/PaymentRequestUpdateEvent.webidl
new file mode 100644
index 000000000..dff60cb0d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaymentRequestUpdateEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this WebIDL file is
+ * https://www.w3.org/TR/payment-request/#paymentrequestupdateevent-interface
+ */
+
+[Constructor(DOMString type,
+ optional PaymentRequestUpdateEventInit eventInitDict),
+ SecureContext,
+ Func="mozilla::dom::PaymentRequest::PrefEnabled"]
+interface PaymentRequestUpdateEvent : Event {
+ [Throws]
+ undefined updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
+};
+
+dictionary PaymentRequestUpdateEventInit : EventInit {
+};
diff --git a/vendor/web-sys/webidls/enabled/PaymentResponse.webidl b/vendor/web-sys/webidls/enabled/PaymentResponse.webidl
new file mode 100644
index 000000000..d0316f557
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PaymentResponse.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this WebIDL file is
+ * https://www.w3.org/TR/payment-request/#paymentresponse-interface
+ */
+
+enum PaymentComplete {
+ "success",
+ "fail",
+ "unknown"
+};
+
+[SecureContext,
+ Func="mozilla::dom::PaymentRequest::PrefEnabled"]
+interface PaymentResponse {
+ [Default] object toJSON();
+
+ readonly attribute DOMString requestId;
+ readonly attribute DOMString methodName;
+ readonly attribute object details;
+ readonly attribute PaymentAddress? shippingAddress;
+ readonly attribute DOMString? shippingOption;
+ readonly attribute DOMString? payerName;
+ readonly attribute DOMString? payerEmail;
+ readonly attribute DOMString? payerPhone;
+
+ [NewObject]
+ Promise<undefined> complete(optional PaymentComplete result = "unknown");
+};
diff --git a/vendor/web-sys/webidls/enabled/PeerConnectionImpl.webidl b/vendor/web-sys/webidls/enabled/PeerConnectionImpl.webidl
new file mode 100644
index 000000000..f6d817bea
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PeerConnectionImpl.webidl
@@ -0,0 +1,134 @@
+/* -*- 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/.
+ *
+ * PeerConnection.js' interface to the C++ PeerConnectionImpl.
+ *
+ * Do not confuse with RTCPeerConnection. This interface is purely for
+ * communication between the PeerConnection JS DOM binding and the C++
+ * implementation in SIPCC.
+ *
+ * See media/webrtc/signaling/include/PeerConnectionImpl.h
+ *
+ */
+
+// invalid widl
+//interface nsISupports;
+
+/* Must be created first. Observer events will be dispatched on the thread provided */
+[ChromeOnly, Constructor]
+interface PeerConnectionImpl {
+ /* Must be called first. Observer events dispatched on the thread provided */
+ [Throws]
+ undefined initialize(PeerConnectionObserver observer, Window window,
+ RTCConfiguration iceServers,
+ nsISupports thread);
+
+ /* JSEP calls */
+ [Throws]
+ undefined createOffer(optional RTCOfferOptions options);
+ [Throws]
+ undefined createAnswer();
+ [Throws]
+ undefined setLocalDescription(long action, DOMString sdp);
+ [Throws]
+ undefined setRemoteDescription(long action, DOMString sdp);
+
+ /* Stats call, calls either |onGetStatsSuccess| or |onGetStatsError| on our
+ observer. (see the |PeerConnectionObserver| interface) */
+ [Throws]
+ undefined getStats(MediaStreamTrack? selector);
+
+ /* Adds the tracks created by GetUserMedia */
+ [Throws]
+ TransceiverImpl createTransceiverImpl(DOMString kind,
+ MediaStreamTrack? track);
+ [Throws]
+ boolean checkNegotiationNeeded();
+ [Throws]
+ undefined insertDTMF(TransceiverImpl transceiver, DOMString tones,
+ optional unsigned long duration = 100,
+ optional unsigned long interToneGap = 70);
+ [Throws]
+ DOMString getDTMFToneBuffer(RTCRtpSender sender);
+ [Throws]
+ sequence<RTCRtpSourceEntry> getRtpSources(MediaStreamTrack track,
+ DOMHighResTimeStamp rtpSourceNow);
+ DOMHighResTimeStamp getNowInRtpSourceReferenceTime();
+
+ [Throws]
+ undefined replaceTrackNoRenegotiation(TransceiverImpl transceiverImpl,
+ MediaStreamTrack? withTrack);
+ [Throws]
+ undefined closeStreams();
+
+ [Throws]
+ undefined addRIDExtension(MediaStreamTrack recvTrack, unsigned short extensionId);
+ [Throws]
+ undefined addRIDFilter(MediaStreamTrack recvTrack, DOMString rid);
+
+ // Inserts CSRC data for the RtpSourceObserver for testing
+ [Throws]
+ undefined insertAudioLevelForContributingSource(MediaStreamTrack recvTrack,
+ unsigned long source,
+ DOMHighResTimeStamp timestamp,
+ boolean hasLevel,
+ byte level);
+
+ [Throws]
+ undefined enablePacketDump(unsigned long level,
+ mozPacketDumpType type,
+ boolean sending);
+
+ [Throws]
+ undefined disablePacketDump(unsigned long level,
+ mozPacketDumpType type,
+ boolean sending);
+
+ /* As the ICE candidates roll in this one should be called each time
+ * in order to keep the candidate list up-to-date for the next SDP-related
+ * call PeerConnectionImpl does not parse ICE candidates, just sticks them
+ * into the SDP.
+ */
+ [Throws]
+ undefined addIceCandidate(DOMString candidate, DOMString mid, unsigned short level);
+
+ /* Puts the SIPCC engine back to 'kIdle', shuts down threads, deletes state */
+ [Throws]
+ undefined close();
+
+ /* Notify DOM window if this plugin crash is ours. */
+ boolean pluginCrash(unsigned long long pluginId, DOMString name);
+
+ /* Attributes */
+ /* This provides the implementation with the certificate it uses to
+ * authenticate itself. The JS side must set this before calling
+ * createOffer/createAnswer or retrieving the value of fingerprint. This has
+ * to be delayed because generating the certificate takes some time. */
+ attribute RTCCertificate certificate;
+ [Constant]
+ readonly attribute DOMString fingerprint;
+ readonly attribute DOMString localDescription;
+ readonly attribute DOMString currentLocalDescription;
+ readonly attribute DOMString pendingLocalDescription;
+ readonly attribute DOMString remoteDescription;
+ readonly attribute DOMString currentRemoteDescription;
+ readonly attribute DOMString pendingRemoteDescription;
+
+ readonly attribute PCImplIceConnectionState iceConnectionState;
+ readonly attribute PCImplIceGatheringState iceGatheringState;
+ readonly attribute PCImplSignalingState signalingState;
+ attribute DOMString id;
+
+ [SetterThrows]
+ attribute DOMString peerIdentity;
+ readonly attribute boolean privacyRequested;
+
+ /* Data channels */
+ [Throws]
+ RTCDataChannel createDataChannel(DOMString label, DOMString protocol,
+ unsigned short type, boolean ordered,
+ unsigned short maxTime, unsigned short maxNum,
+ boolean externalNegotiated, unsigned short stream);
+};
diff --git a/vendor/web-sys/webidls/enabled/PeerConnectionImplEnums.webidl b/vendor/web-sys/webidls/enabled/PeerConnectionImplEnums.webidl
new file mode 100644
index 000000000..0add53f06
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PeerConnectionImplEnums.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * This is in a separate file so it can be shared with unittests.
+ */
+
+/* Must be in the same order as comparable fsmdef_states_t in fsmdef_states.h */
+enum PCImplSignalingState {
+ "SignalingInvalid",
+ "SignalingStable",
+ "SignalingHaveLocalOffer",
+ "SignalingHaveRemoteOffer",
+ "SignalingHaveLocalPranswer",
+ "SignalingHaveRemotePranswer",
+ "SignalingClosed",
+};
+
+enum PCImplIceConnectionState {
+ "new",
+ "checking",
+ "connected",
+ "completed",
+ "failed",
+ "disconnected",
+ "closed"
+};
+
+// Deliberately identical to the values specified in webrtc
+enum PCImplIceGatheringState {
+ "new",
+ "gathering",
+ "complete"
+};
+
diff --git a/vendor/web-sys/webidls/enabled/PeerConnectionObserver.webidl b/vendor/web-sys/webidls/enabled/PeerConnectionObserver.webidl
new file mode 100644
index 000000000..88f27bca6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PeerConnectionObserver.webidl
@@ -0,0 +1,51 @@
+/* -*- 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;
+
+[ChromeOnly,
+ JSImplementation="@mozilla.org/dom/peerconnectionobserver;1",
+ Constructor (RTCPeerConnection domPC)]
+interface PeerConnectionObserver
+{
+ /* JSEP callbacks */
+ undefined onCreateOfferSuccess(DOMString offer);
+ undefined onCreateOfferError(unsigned long name, DOMString message);
+ undefined onCreateAnswerSuccess(DOMString answer);
+ undefined onCreateAnswerError(unsigned long name, DOMString message);
+ undefined onSetLocalDescriptionSuccess();
+ undefined onSetRemoteDescriptionSuccess();
+ undefined onSetLocalDescriptionError(unsigned long name, DOMString message);
+ undefined onSetRemoteDescriptionError(unsigned long name, DOMString message);
+ undefined onAddIceCandidateSuccess();
+ undefined onAddIceCandidateError(unsigned long name, DOMString message);
+ undefined onIceCandidate(unsigned short level, DOMString mid, DOMString candidate);
+
+ /* Stats callbacks */
+ undefined onGetStatsSuccess(optional RTCStatsReportInternal report);
+ undefined onGetStatsError(unsigned long name, DOMString message);
+
+ /* Data channel callbacks */
+ undefined notifyDataChannel(RTCDataChannel channel);
+
+ /* Notification of one of several types of state changed */
+ undefined onStateChange(PCObserverStateType state);
+
+ /* Transceiver management; called when setRemoteDescription causes a
+ transceiver to be created on the C++ side */
+ undefined onTransceiverNeeded(DOMString kind, TransceiverImpl transceiverImpl);
+
+ /* DTMF callback */
+ undefined onDTMFToneChange(MediaStreamTrack track, DOMString tone);
+
+ /* Packet dump callback */
+ undefined onPacket(unsigned long level, mozPacketDumpType type, boolean sending,
+ ArrayBuffer packet);
+
+ /* Transceiver sync */
+ undefined syncTransceivers();
+};
diff --git a/vendor/web-sys/webidls/enabled/PeerConnectionObserverEnums.webidl b/vendor/web-sys/webidls/enabled/PeerConnectionObserverEnums.webidl
new file mode 100644
index 000000000..abe0e0768
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PeerConnectionObserverEnums.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * This is in a separate file so it can be shared with unittests.
+ */
+
+enum PCObserverStateType {
+ "None",
+ "IceConnectionState",
+ "IceGatheringState",
+ "SignalingState"
+};
diff --git a/vendor/web-sys/webidls/enabled/Performance.webidl b/vendor/web-sys/webidls/enabled/Performance.webidl
new file mode 100644
index 000000000..5dec7a6af
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Performance.webidl
@@ -0,0 +1,60 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/hr-time/
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang).
+ * W3C liability, trademark and document use rules apply.
+ */
+
+typedef sequence <PerformanceEntry> PerformanceEntryList;
+
+[Exposed=(Window,Worker)]
+interface Performance : EventTarget {
+ [DependsOn=DeviceState, Affects=Nothing]
+ DOMHighResTimeStamp now();
+
+ [Constant]
+ readonly attribute DOMHighResTimeStamp timeOrigin;
+};
+
+[Exposed=Window]
+partial interface Performance {
+ [Constant]
+ readonly attribute PerformanceTiming timing;
+ [Constant]
+ readonly attribute PerformanceNavigation navigation;
+
+ [Default] object toJSON();
+};
+
+// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
+[Exposed=(Window,Worker)]
+partial interface Performance {
+ PerformanceEntryList getEntries();
+ PerformanceEntryList getEntriesByType(DOMString entryType);
+ PerformanceEntryList getEntriesByName(DOMString name, optional DOMString
+ entryType);
+};
+
+// http://www.w3.org/TR/resource-timing/#extensions-performance-interface
+[Exposed=(Window,Worker)]
+partial interface Performance {
+ undefined clearResourceTimings();
+ undefined setResourceTimingBufferSize(unsigned long maxSize);
+ attribute EventHandler onresourcetimingbufferfull;
+};
+
+// http://www.w3.org/TR/user-timing/
+[Exposed=(Window,Worker)]
+partial interface Performance {
+ [Throws]
+ undefined mark(DOMString markName);
+ undefined clearMarks(optional DOMString markName);
+ [Throws]
+ undefined measure(DOMString measureName, optional DOMString startMark, optional DOMString endMark);
+ undefined clearMeasures(optional DOMString measureName);
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceEntry.webidl b/vendor/web-sys/webidls/enabled/PerformanceEntry.webidl
new file mode 100644
index 000000000..459a20a67
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceEntry.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3c-test.org/webperf/specs/PerformanceTimeline/#sec-PerformanceEntry-interface
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker)]
+interface PerformanceEntry
+{
+ readonly attribute DOMString name;
+ readonly attribute DOMString entryType;
+ readonly attribute DOMHighResTimeStamp startTime;
+ readonly attribute DOMHighResTimeStamp duration;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceEntryEvent.webidl b/vendor/web-sys/webidls/enabled/PerformanceEntryEvent.webidl
new file mode 100644
index 000000000..2cf75c5e4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceEntryEvent.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ */
+
+dictionary PerformanceEntryEventInit : EventInit
+{
+ DOMString name = "";
+ DOMString entryType = "";
+ DOMHighResTimeStamp startTime = 0;
+ DOMHighResTimeStamp duration = 0;
+ double epoch = 0;
+ DOMString origin = "";
+};
+
+[Constructor(DOMString type, optional PerformanceEntryEventInit eventInitDict),
+ ChromeOnly]
+interface PerformanceEntryEvent : Event
+{
+ readonly attribute DOMString name;
+ readonly attribute DOMString entryType;
+ readonly attribute DOMHighResTimeStamp startTime;
+ readonly attribute DOMHighResTimeStamp duration;
+ readonly attribute double epoch;
+ readonly attribute DOMString origin;
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceMark.webidl b/vendor/web-sys/webidls/enabled/PerformanceMark.webidl
new file mode 100644
index 000000000..20e9e92c0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceMark.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/user-timing/#performancemark
+ */
+
+[Exposed=(Window,Worker)]
+interface PerformanceMark : PerformanceEntry
+{
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceMeasure.webidl b/vendor/web-sys/webidls/enabled/PerformanceMeasure.webidl
new file mode 100644
index 000000000..aa4e8cd25
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceMeasure.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/user-timing/#performancemeasure
+ */
+
+[Exposed=(Window,Worker)]
+interface PerformanceMeasure : PerformanceEntry
+{
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceNavigation.webidl b/vendor/web-sys/webidls/enabled/PerformanceNavigation.webidl
new file mode 100644
index 000000000..b7157bd09
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceNavigation.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/hr-time/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface PerformanceNavigation {
+ const unsigned short TYPE_NAVIGATE = 0;
+ const unsigned short TYPE_RELOAD = 1;
+ const unsigned short TYPE_BACK_FORWARD = 2;
+ const unsigned short TYPE_RESERVED = 255;
+
+ readonly attribute unsigned short type;
+ readonly attribute unsigned short redirectCount;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceNavigationTiming.webidl b/vendor/web-sys/webidls/enabled/PerformanceNavigationTiming.webidl
new file mode 100644
index 000000000..fa7da1721
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceNavigationTiming.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://www.w3.org/TR/navigation-timing-2/#sec-PerformanceNavigationTiming
+ *
+ * Copyright © 2016 W3C® (MIT, ERCIM, Keio, Beihang).
+ * W3C liability, trademark and document use rules apply.
+ */
+
+enum NavigationType {
+ "navigate",
+ "reload",
+ "back_forward",
+ "prerender"
+};
+
+interface PerformanceNavigationTiming : PerformanceResourceTiming {
+ readonly attribute DOMHighResTimeStamp unloadEventStart;
+ readonly attribute DOMHighResTimeStamp unloadEventEnd;
+ readonly attribute DOMHighResTimeStamp domInteractive;
+ readonly attribute DOMHighResTimeStamp domContentLoadedEventStart;
+ readonly attribute DOMHighResTimeStamp domContentLoadedEventEnd;
+ readonly attribute DOMHighResTimeStamp domComplete;
+ readonly attribute DOMHighResTimeStamp loadEventStart;
+ readonly attribute DOMHighResTimeStamp loadEventEnd;
+ readonly attribute NavigationType type;
+ readonly attribute unsigned short redirectCount;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceObserver.webidl b/vendor/web-sys/webidls/enabled/PerformanceObserver.webidl
new file mode 100644
index 000000000..09e3940f3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceObserver.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/performance-timeline/#the-performanceobserver-interface
+ */
+
+dictionary PerformanceObserverInit {
+ required sequence<DOMString> entryTypes;
+ boolean buffered = false;
+};
+
+callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries,
+ PerformanceObserver observer);
+
+[Func="mozilla::dom::DOMPrefs::PerformanceObserverEnabled",
+ Constructor(PerformanceObserverCallback callback),
+ Exposed=(Window,Worker)]
+interface PerformanceObserver {
+ undefined observe(PerformanceObserverInit options);
+ undefined disconnect();
+ PerformanceEntryList takeRecords();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceObserverEntryList.webidl b/vendor/web-sys/webidls/enabled/PerformanceObserverEntryList.webidl
new file mode 100644
index 000000000..e944535d2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceObserverEntryList.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/performance-timeline/#the-performanceobserverentrylist-interface
+ */
+
+// XXX should be moved into Performance.webidl.
+dictionary PerformanceEntryFilterOptions {
+ DOMString name;
+ DOMString entryType;
+ DOMString initiatorType;
+};
+
+[Func="mozilla::dom::DOMPrefs::PerformanceObserverEnabled",
+ Exposed=(Window,Worker)]
+interface PerformanceObserverEntryList {
+ PerformanceEntryList getEntries(optional PerformanceEntryFilterOptions filter);
+ PerformanceEntryList getEntriesByType(DOMString entryType);
+ PerformanceEntryList getEntriesByName(DOMString name,
+ optional DOMString entryType);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/PerformanceResourceTiming.webidl b/vendor/web-sys/webidls/enabled/PerformanceResourceTiming.webidl
new file mode 100644
index 000000000..746718c03
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceResourceTiming.webidl
@@ -0,0 +1,58 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/resource-timing/#performanceresourcetiming
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,Worker)]
+interface PerformanceResourceTiming : PerformanceEntry
+{
+ readonly attribute DOMString initiatorType;
+ readonly attribute DOMString nextHopProtocol;
+
+ readonly attribute DOMHighResTimeStamp workerStart;
+
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp redirectStart;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp redirectEnd;
+
+ readonly attribute DOMHighResTimeStamp fetchStart;
+
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp domainLookupStart;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp domainLookupEnd;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp connectStart;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp connectEnd;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp secureConnectionStart;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp requestStart;
+ [NeedsSubjectPrincipal]
+ readonly attribute DOMHighResTimeStamp responseStart;
+
+ readonly attribute DOMHighResTimeStamp responseEnd;
+
+ [NeedsSubjectPrincipal]
+ readonly attribute unsigned long long transferSize;
+ [NeedsSubjectPrincipal]
+ readonly attribute unsigned long long encodedBodySize;
+ [NeedsSubjectPrincipal]
+ readonly attribute unsigned long long decodedBodySize;
+
+ // TODO: Use FrozenArray once available. (Bug 1236777)
+ // readonly attribute FrozenArray<PerformanceServerTiming> serverTiming;
+ [SecureContext, Frozen, Cached, Pure, NeedsSubjectPrincipal]
+ readonly attribute sequence<PerformanceServerTiming> serverTiming;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceServerTiming.webidl b/vendor/web-sys/webidls/enabled/PerformanceServerTiming.webidl
new file mode 100644
index 000000000..a31f2da71
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceServerTiming.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/server-timing/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[SecureContext,Exposed=(Window,Worker)]
+interface PerformanceServerTiming {
+ readonly attribute DOMString name;
+ readonly attribute DOMHighResTimeStamp duration;
+ readonly attribute DOMString description;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PerformanceTiming.webidl b/vendor/web-sys/webidls/enabled/PerformanceTiming.webidl
new file mode 100644
index 000000000..85a8211c0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PerformanceTiming.webidl
@@ -0,0 +1,49 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/hr-time/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface PerformanceTiming {
+ readonly attribute unsigned long long navigationStart;
+ readonly attribute unsigned long long unloadEventStart;
+ readonly attribute unsigned long long unloadEventEnd;
+ readonly attribute unsigned long long redirectStart;
+ readonly attribute unsigned long long redirectEnd;
+ readonly attribute unsigned long long fetchStart;
+ readonly attribute unsigned long long domainLookupStart;
+ readonly attribute unsigned long long domainLookupEnd;
+ readonly attribute unsigned long long connectStart;
+ readonly attribute unsigned long long connectEnd;
+ readonly attribute unsigned long long secureConnectionStart;
+ readonly attribute unsigned long long requestStart;
+ readonly attribute unsigned long long responseStart;
+ readonly attribute unsigned long long responseEnd;
+ readonly attribute unsigned long long domLoading;
+ readonly attribute unsigned long long domInteractive;
+ readonly attribute unsigned long long domContentLoadedEventStart;
+ readonly attribute unsigned long long domContentLoadedEventEnd;
+ readonly attribute unsigned long long domComplete;
+ readonly attribute unsigned long long loadEventStart;
+ readonly attribute unsigned long long loadEventEnd;
+
+ // This is a Chrome proprietary extension and not part of the
+ // performance/navigation timing specification.
+ // Returns 0 if a non-blank paint has not happened.
+ [Pref="dom.performance.time_to_non_blank_paint.enabled"]
+ readonly attribute unsigned long long timeToNonBlankPaint;
+
+ // This is a Mozilla proprietary extension and not part of the
+ // performance/navigation timing specification. It marks the
+ // completion of the first presentation flush after DOMContentLoaded.
+ [Pref="dom.performance.time_to_dom_content_flushed.enabled"]
+ readonly attribute unsigned long long timeToDOMContentFlushed;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PeriodicWave.webidl b/vendor/web-sys/webidls/enabled/PeriodicWave.webidl
new file mode 100644
index 000000000..b5edb9a40
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PeriodicWave.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary PeriodicWaveConstraints {
+ boolean disableNormalization = false;
+};
+
+dictionary PeriodicWaveOptions : PeriodicWaveConstraints {
+ sequence<float> real;
+ sequence<float> imag;
+};
+
+[Pref="dom.webaudio.enabled",
+ // XXXbz The second arg is not optional in the spec, but that looks
+ // like a spec bug to me. See
+ // <https://github.com/WebAudio/web-audio-api/issues/1116>.
+ Constructor(BaseAudioContext context, optional PeriodicWaveOptions options)]
+interface PeriodicWave {
+};
diff --git a/vendor/web-sys/webidls/enabled/PermissionStatus.webidl b/vendor/web-sys/webidls/enabled/PermissionStatus.webidl
new file mode 100644
index 000000000..3abfd66f4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PermissionStatus.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/permissions/#status-of-a-permission
+ */
+
+enum PermissionState {
+ "granted",
+ "denied",
+ "prompt"
+};
+
+[Exposed=(Window)]
+interface PermissionStatus : EventTarget {
+ readonly attribute PermissionState state;
+ attribute EventHandler onchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/Permissions.webidl b/vendor/web-sys/webidls/enabled/Permissions.webidl
new file mode 100644
index 000000000..cf2a59b47
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Permissions.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/permissions/#permissions-interface
+ */
+
+enum PermissionName {
+ "geolocation",
+ "notifications",
+ "push",
+ "persistent-storage"
+ // Unsupported: "midi"
+};
+
+dictionary PermissionDescriptor {
+ required PermissionName name;
+};
+
+// We don't implement `PushPermissionDescriptor` because we use a background
+// message quota instead of `userVisibleOnly`.
+
+[Exposed=(Window)]
+interface Permissions {
+ [Throws]
+ Promise<PermissionStatus> query(object permission);
+ [Throws, Pref="dom.permissions.revoke.enable"]
+ Promise<PermissionStatus> revoke(object permission);
+};
diff --git a/vendor/web-sys/webidls/enabled/Plugin.webidl b/vendor/web-sys/webidls/enabled/Plugin.webidl
new file mode 100644
index 000000000..2799a2055
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Plugin.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+[LegacyUnenumerableNamedProperties]
+interface Plugin {
+ readonly attribute DOMString description;
+ readonly attribute DOMString filename;
+ readonly attribute DOMString version;
+ readonly attribute DOMString name;
+
+ readonly attribute unsigned long length;
+ getter MimeType? item(unsigned long index);
+ getter MimeType? namedItem(DOMString name);
+};
diff --git a/vendor/web-sys/webidls/enabled/PluginArray.webidl b/vendor/web-sys/webidls/enabled/PluginArray.webidl
new file mode 100644
index 000000000..74ac4aa31
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PluginArray.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ */
+
+[LegacyUnenumerableNamedProperties]
+interface PluginArray {
+ [NeedsCallerType]
+ readonly attribute unsigned long length;
+
+ [NeedsCallerType]
+ getter Plugin? item(unsigned long index);
+ [NeedsCallerType]
+ getter Plugin? namedItem(DOMString name);
+
+ undefined refresh(optional boolean reloadDocuments = false);
+};
diff --git a/vendor/web-sys/webidls/enabled/PluginCrashedEvent.webidl b/vendor/web-sys/webidls/enabled/PluginCrashedEvent.webidl
new file mode 100644
index 000000000..8eed7244e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PluginCrashedEvent.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional PluginCrashedEventInit eventInitDict), ChromeOnly]
+interface PluginCrashedEvent : Event
+{
+ readonly attribute unsigned long pluginID;
+ readonly attribute DOMString pluginDumpID;
+ readonly attribute DOMString pluginName;
+ readonly attribute DOMString? browserDumpID;
+ readonly attribute DOMString? pluginFilename;
+ readonly attribute boolean submittedCrashReport;
+ readonly attribute boolean gmpPlugin;
+};
+
+dictionary PluginCrashedEventInit : EventInit
+{
+ unsigned long pluginID = 0;
+ DOMString pluginDumpID = "";
+ DOMString pluginName = "";
+ DOMString? browserDumpID = null;
+ DOMString? pluginFilename = null;
+ boolean submittedCrashReport = false;
+ boolean gmpPlugin = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/PointerEvent.webidl b/vendor/web-sys/webidls/enabled/PointerEvent.webidl
new file mode 100644
index 000000000..604c197a1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PointerEvent.webidl
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * For more information see nsIPointerEvent.idl.
+ *
+ * Portions Copyright 2013 Microsoft Open Technologies, Inc. */
+
+// invalid widl
+// interface WindowProxy;
+
+[Pref="dom.w3c_pointer_events.enabled",
+ Constructor(DOMString type, optional PointerEventInit eventInitDict)]
+interface PointerEvent : MouseEvent
+{
+ readonly attribute long pointerId;
+ readonly attribute long width;
+ readonly attribute long height;
+ readonly attribute float pressure;
+ readonly attribute float tangentialPressure;
+ readonly attribute long tiltX;
+ readonly attribute long tiltY;
+ readonly attribute long twist;
+ readonly attribute DOMString pointerType;
+ readonly attribute boolean isPrimary;
+ sequence<PointerEvent> getCoalescedEvents();
+};
+
+dictionary PointerEventInit : MouseEventInit
+{
+ long pointerId = 0;
+ long width = 1;
+ long height = 1;
+ float pressure = 0;
+ float tangentialPressure = 0;
+ long tiltX = 0;
+ long tiltY = 0;
+ long twist = 0;
+ DOMString pointerType = "";
+ boolean isPrimary = false;
+ sequence<PointerEvent> coalescedEvents = [];
+};
diff --git a/vendor/web-sys/webidls/enabled/PopStateEvent.webidl b/vendor/web-sys/webidls/enabled/PopStateEvent.webidl
new file mode 100644
index 000000000..428ab9c84
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PopStateEvent.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional PopStateEventInit eventInitDict)]
+interface PopStateEvent : Event
+{
+ readonly attribute any state;
+};
+
+dictionary PopStateEventInit : EventInit
+{
+ any state = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/PopupBlockedEvent.webidl b/vendor/web-sys/webidls/enabled/PopupBlockedEvent.webidl
new file mode 100644
index 000000000..caa401836
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PopupBlockedEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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 URI;
+
+[Constructor(DOMString type, optional PopupBlockedEventInit eventInitDict)]
+interface PopupBlockedEvent : Event
+{
+ readonly attribute Window? requestingWindow;
+ readonly attribute URI? popupWindowURI;
+ readonly attribute DOMString? popupWindowName;
+ readonly attribute DOMString? popupWindowFeatures;
+};
+
+dictionary PopupBlockedEventInit : EventInit
+{
+ Window? requestingWindow = null;
+ URI? popupWindowURI = null;
+ DOMString popupWindowName = "";
+ DOMString popupWindowFeatures = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/Position.webidl b/vendor/web-sys/webidls/enabled/Position.webidl
new file mode 100644
index 000000000..93812a379
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Position.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/geolocation-API
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[NoInterfaceObject]
+interface Position {
+ readonly attribute Coordinates coords;
+ readonly attribute DOMTimeStamp timestamp;
+};
diff --git a/vendor/web-sys/webidls/enabled/PositionError.webidl b/vendor/web-sys/webidls/enabled/PositionError.webidl
new file mode 100644
index 000000000..d644cbe48
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PositionError.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/geolocation-API
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[NoInterfaceObject]
+interface PositionError {
+ const unsigned short PERMISSION_DENIED = 1;
+ const unsigned short POSITION_UNAVAILABLE = 2;
+ const unsigned short TIMEOUT = 3;
+ readonly attribute unsigned short code;
+ readonly attribute DOMString message;
+};
diff --git a/vendor/web-sys/webidls/enabled/Presentation.webidl b/vendor/web-sys/webidls/enabled/Presentation.webidl
new file mode 100644
index 000000000..d5b331616
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Presentation.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentation
+ */
+
+[Pref="dom.presentation.enabled"]
+interface Presentation {
+ /*
+ * This should be used by the UA as the default presentation request for the
+ * controller. When the UA wishes to initiate a PresentationConnection on the
+ * controller's behalf, it MUST start a presentation connection using the default
+ * presentation request (as if the controller had called |defaultRequest.start()|).
+ *
+ * Only used by controlling browsing context (senders).
+ */
+ [Pref="dom.presentation.controller.enabled"]
+ attribute PresentationRequest? defaultRequest;
+
+ /*
+ * This should be available on the receiving browsing context in order to
+ * access the controlling browsing context and communicate with them.
+ */
+ [SameObject,
+ Pref="dom.presentation.receiver.enabled"]
+ readonly attribute PresentationReceiver? receiver;
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationAvailability.webidl b/vendor/web-sys/webidls/enabled/PresentationAvailability.webidl
new file mode 100644
index 000000000..f72b88565
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationAvailability.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationavailability
+ */
+
+[Pref="dom.presentation.controller.enabled"]
+interface PresentationAvailability : EventTarget {
+ /*
+ * If there is at least one device discovered by UA, the value is |true|.
+ * Otherwise, its value should be |false|.
+ */
+ readonly attribute boolean value;
+
+ /*
+ * It is called when device availability changes.
+ */
+ attribute EventHandler onchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationConnection.webidl b/vendor/web-sys/webidls/enabled/PresentationConnection.webidl
new file mode 100644
index 000000000..753dfee16
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationConnection.webidl
@@ -0,0 +1,96 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationconnection
+ */
+
+enum PresentationConnectionState
+{
+ // The initial state when a PresentationConnection is ceated.
+ "connecting",
+
+ // Existing presentation, and the communication channel is active.
+ "connected",
+
+ // Existing presentation, but the communication channel is inactive.
+ "closed",
+
+ // The presentation is nonexistent anymore. It could be terminated manually,
+ // or either controlling or receiving browsing context is no longer available.
+ "terminated"
+};
+
+enum PresentationConnectionBinaryType
+{
+ "blob",
+ "arraybuffer"
+};
+
+[Pref="dom.presentation.enabled"]
+interface PresentationConnection : EventTarget {
+ /*
+ * Unique id for all existing connections.
+ */
+ [Constant]
+ readonly attribute DOMString id;
+
+ /*
+ * Specifies the connection's presentation URL.
+ */
+ readonly attribute DOMString url;
+
+ /*
+ * @value "connected", "closed", or "terminated".
+ */
+ readonly attribute PresentationConnectionState state;
+
+ attribute EventHandler onconnect;
+ attribute EventHandler onclose;
+ attribute EventHandler onterminate;
+ attribute PresentationConnectionBinaryType binaryType;
+
+ /*
+ * After a communication channel has been established between the controlling
+ * and receiving context, this function is called to send message out, and the
+ * event handler "onmessage" will be invoked at the remote side.
+ *
+ * This function only works when the state is "connected".
+ */
+ [Throws]
+ undefined send(DOMString data);
+
+ [Throws]
+ undefined send(Blob data);
+
+ [Throws]
+ undefined send(ArrayBuffer data);
+
+ [Throws]
+ undefined send(ArrayBufferView data);
+
+ /*
+ * It is triggered when receiving messages.
+ */
+ attribute EventHandler onmessage;
+
+ /*
+ * Both the controlling and receiving browsing context can close the
+ * connection. Then the connection state should turn into "closed".
+ *
+ * This function only works when the state is "connected" or "connecting".
+ */
+ [Throws]
+ undefined close();
+
+ /*
+ * Both the controlling and receiving browsing context can terminate the
+ * connection. Then the connection state should turn into "terminated".
+ *
+ * This function only works when the state is not "connected".
+ */
+ [Throws]
+ undefined terminate();
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationConnectionAvailableEvent.webidl b/vendor/web-sys/webidls/enabled/PresentationConnectionAvailableEvent.webidl
new file mode 100644
index 000000000..9efecb7d6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationConnectionAvailableEvent.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationconnectionavailableevent
+ */
+
+[Constructor(DOMString type,
+ PresentationConnectionAvailableEventInit eventInitDict),
+ Pref="dom.presentation.enabled"]
+interface PresentationConnectionAvailableEvent : Event
+{
+ [SameObject]
+ readonly attribute PresentationConnection connection;
+};
+
+dictionary PresentationConnectionAvailableEventInit : EventInit
+{
+ required PresentationConnection connection;
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationConnectionCloseEvent.webidl b/vendor/web-sys/webidls/enabled/PresentationConnectionCloseEvent.webidl
new file mode 100644
index 000000000..da6c25545
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationConnectionCloseEvent.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationconnectioncloseevent
+ */
+
+enum PresentationConnectionClosedReason
+{
+ // The communication encountered an unrecoverable error.
+ "error",
+
+ // |PresentationConnection.close()| is called by controlling browsing context
+ // or the receiving browsing context.
+ "closed",
+
+ // The connection is closed because the destination browsing context
+ // that owned the connection navigated or was discarded.
+ "wentaway"
+};
+
+[Constructor(DOMString type,
+ PresentationConnectionCloseEventInit eventInitDict),
+ Pref="dom.presentation.enabled"]
+interface PresentationConnectionCloseEvent : Event
+{
+ readonly attribute PresentationConnectionClosedReason reason;
+
+ // The message is a human readable description of
+ // how the communication channel encountered an error.
+ // It is empty when the closed reason is closed or wentaway.
+ readonly attribute DOMString message;
+};
+
+dictionary PresentationConnectionCloseEventInit : EventInit
+{
+ required PresentationConnectionClosedReason reason;
+ DOMString message = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationConnectionList.webidl b/vendor/web-sys/webidls/enabled/PresentationConnectionList.webidl
new file mode 100644
index 000000000..2c90ce9de
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationConnectionList.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationconnectionlist
+ */
+
+[Pref="dom.presentation.receiver.enabled"]
+interface PresentationConnectionList : EventTarget {
+ /*
+ * Return the non-terminated set of presentation connections in the
+ * set of presentation controllers.
+ * TODO: Use FrozenArray once available. (Bug 1236777)
+ * readonly attribute FrozenArray<PresentationConnection> connections;
+ */
+ [Frozen, Cached, Pure]
+ readonly attribute sequence<PresentationConnection> connections;
+
+ /*
+ * It is called when an incoming connection is connected.
+ */
+ attribute EventHandler onconnectionavailable;
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationReceiver.webidl b/vendor/web-sys/webidls/enabled/PresentationReceiver.webidl
new file mode 100644
index 000000000..0fa51c151
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationReceiver.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationreceiver
+ */
+
+[Pref="dom.presentation.receiver.enabled"]
+interface PresentationReceiver {
+ /*
+ * Get a list which contains all connected presentation connections
+ * in a receiving browsing context.
+ */
+ [Throws]
+ readonly attribute Promise<PresentationConnectionList> connectionList;
+};
diff --git a/vendor/web-sys/webidls/enabled/PresentationRequest.webidl b/vendor/web-sys/webidls/enabled/PresentationRequest.webidl
new file mode 100644
index 000000000..c0c5fb8a6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PresentationRequest.webidl
@@ -0,0 +1,86 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/presentation-api/#interface-presentationrequest
+ */
+
+[Constructor(DOMString url),
+ Constructor(sequence<DOMString> urls),
+ Pref="dom.presentation.controller.enabled"]
+interface PresentationRequest : EventTarget {
+ /*
+ * A requesting page use start() to start a new connection, and it will be
+ * returned with the promise. UA may show a prompt box with a list of
+ * available devices and ask the user to grant permission, choose a device, or
+ * cancel the operation.
+ *
+ * The promise is resolved when the presenting page is successfully loaded and
+ * the communication channel is established, i.e., the connection state is
+ * "connected".
+ *
+ * The promise may be rejected duo to one of the following reasons:
+ * - "OperationError": Unexpected error occurs.
+ * - "NotFoundError": No available device.
+ * - "AbortError": User dismiss/cancel the device prompt box.
+ * - "NetworkError": Failed to establish the control channel or data channel.
+ * - "TimeoutError": Presenting page takes too long to load.
+ * - "SecurityError": This operation is insecure.
+ */
+ [Throws]
+ Promise<PresentationConnection> start();
+
+ /*
+ * A requesting page can use reconnect(presentationId) to reopen a
+ * non-terminated presentation connection.
+ *
+ * The promise is resolved when a new presentation connection is created.
+ * The connection state is "connecting".
+ *
+ * The promise may be rejected duo to one of the following reasons:
+ * - "OperationError": Unexpected error occurs.
+ * - "NotFoundError": Can not find a presentation connection with the presentationId.
+ * - "SecurityError": This operation is insecure.
+ */
+ [Throws]
+ Promise<PresentationConnection> reconnect(DOMString presentationId);
+
+ /*
+ * UA triggers device discovery mechanism periodically and monitor device
+ * availability.
+ *
+ * The promise may be rejected duo to one of the following reasons:
+ * - "NotSupportedError": Unable to continuously monitor the availability.
+ * - "SecurityError": This operation is insecure.
+ */
+ [Throws]
+ Promise<PresentationAvailability> getAvailability();
+
+ /*
+ * It is called when a connection associated with a PresentationRequest is created.
+ * The event is fired for all connections that are created for the controller.
+ */
+ attribute EventHandler onconnectionavailable;
+
+ /*
+ * A chrome page, or page which has presentation-device-manage permissiongs,
+ * uses startWithDevice() to start a new connection with specified device,
+ * and it will be returned with the promise. UA may show a prompt box with a
+ * list of available devices and ask the user to grant permission, choose a
+ * device, or cancel the operation.
+ *
+ * The promise is resolved when the presenting page is successfully loaded and
+ * the communication channel is established, i.e., the connection state is
+ * "connected".
+ *
+ * The promise may be rejected duo to one of the following reasons:
+ * - "OperationError": Unexpected error occurs.
+ * - "NotFoundError": No available device.
+ * - "NetworkError": Failed to establish the control channel or data channel.
+ * - "TimeoutError": Presenting page takes too long to load.
+ */
+ [ChromeOnly, Throws]
+ Promise<PresentationConnection> startWithDevice(DOMString deviceId);
+};
diff --git a/vendor/web-sys/webidls/enabled/ProcessingInstruction.webidl b/vendor/web-sys/webidls/enabled/ProcessingInstruction.webidl
new file mode 100644
index 000000000..1cbe64792
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ProcessingInstruction.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dom.spec.whatwg.org/#interface-processinginstruction
+ * https://drafts.csswg.org/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// https://dom.spec.whatwg.org/#interface-processinginstruction
+interface ProcessingInstruction : CharacterData {
+ readonly attribute DOMString target;
+};
+
+// https://drafts.csswg.org/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction
+ProcessingInstruction includes LinkStyle;
diff --git a/vendor/web-sys/webidls/enabled/ProfileTimelineMarker.webidl b/vendor/web-sys/webidls/enabled/ProfileTimelineMarker.webidl
new file mode 100644
index 000000000..24f3f9e00
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ProfileTimelineMarker.webidl
@@ -0,0 +1,74 @@
+/* -*- 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/.
+ */
+
+// For Javascript markers, the |stack| of a ProfileTimelineMarker
+// holds an object of this type. It intentionally looks like a
+// SavedStack object and is a representation of the frame that is
+// about to be constructed at the entry point.
+dictionary ProfileTimelineStackFrame {
+ long line;
+ long column = 0;
+ DOMString source;
+ DOMString functionDisplayName;
+ object? parent = null;
+ object? asyncParent = null;
+ DOMString asyncCause;
+};
+
+dictionary ProfileTimelineLayerRect {
+ long x = 0;
+ long y = 0;
+ long width = 0;
+ long height = 0;
+};
+
+enum ProfileTimelineMessagePortOperationType {
+ "serializeData",
+ "deserializeData",
+};
+
+enum ProfileTimelineWorkerOperationType {
+ "serializeDataOffMainThread",
+ "serializeDataOnMainThread",
+ "deserializeDataOffMainThread",
+ "deserializeDataOnMainThread",
+};
+
+dictionary ProfileTimelineMarker {
+ DOMString name = "";
+ DOMHighResTimeStamp start = 0;
+ DOMHighResTimeStamp end = 0;
+ object? stack = null;
+
+ unsigned short processType;
+ boolean isOffMainThread;
+
+ /* For ConsoleTime, Timestamp and Javascript markers. */
+ DOMString causeName;
+
+ /* For ConsoleTime markers. */
+ object? endStack = null;
+
+ /* For DOMEvent markers. */
+ DOMString type;
+ unsigned short eventPhase;
+
+ /* For document::DOMContentLoaded and document::Load markers. Using this
+ * instead of the `start` and `end` timestamps is strongly discouraged. */
+ unsigned long long unixTime; // in microseconds
+
+ /* For Paint markers. */
+ sequence<ProfileTimelineLayerRect> rectangles;
+
+ /* For Style markers. */
+ boolean isAnimationOnly;
+
+ /* For MessagePort markers. */
+ ProfileTimelineMessagePortOperationType messagePortOperation;
+
+ /* For Worker markers. */
+ ProfileTimelineWorkerOperationType workerOperation;
+};
diff --git a/vendor/web-sys/webidls/enabled/ProgressEvent.webidl b/vendor/web-sys/webidls/enabled/ProgressEvent.webidl
new file mode 100644
index 000000000..c2ecf5793
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ProgressEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, optional ProgressEventInit eventInitDict),
+ Exposed=(Window,Worker)]
+interface ProgressEvent : Event
+{
+ readonly attribute boolean lengthComputable;
+ readonly attribute unsigned long long loaded;
+ readonly attribute unsigned long long total;
+};
+
+dictionary ProgressEventInit : EventInit
+{
+ boolean lengthComputable = false;
+ unsigned long long loaded = 0;
+ unsigned long long total = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/Promise.webidl b/vendor/web-sys/webidls/enabled/Promise.webidl
new file mode 100644
index 000000000..4b2bb5a64
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Promise.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * This IDL file contains utilities to help connect JS promises to our
+ * Web IDL infrastructure.
+ */
+
+callback PromiseJobCallback = undefined();
+
+[TreatNonCallableAsNull]
+callback AnyCallback = any (any value);
+
+// Hack to allow us to have JS owning and properly tracing/CCing/etc a
+// PromiseNativeHandler.
+[NoInterfaceObject,
+ Exposed=(Window,Worker,System)]
+interface PromiseNativeHandler {
+};
diff --git a/vendor/web-sys/webidls/enabled/PromiseRejectionEvent.webidl b/vendor/web-sys/webidls/enabled/PromiseRejectionEvent.webidl
new file mode 100644
index 000000000..a341794cf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PromiseRejectionEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ */
+
+[Constructor(DOMString type, PromiseRejectionEventInit eventInitDict),
+ Exposed=(Window,Worker),
+ Func="mozilla::dom::DOMPrefs::PromiseRejectionEventsEnabled"]
+interface PromiseRejectionEvent : Event
+{
+ [BinaryName="rejectedPromise"]
+ readonly attribute Promise<any> promise;
+ readonly attribute any reason;
+};
+
+dictionary PromiseRejectionEventInit : EventInit {
+ required Promise<any> promise;
+ any reason;
+};
diff --git a/vendor/web-sys/webidls/enabled/PushEvent.webidl b/vendor/web-sys/webidls/enabled/PushEvent.webidl
new file mode 100644
index 000000000..269b3699a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PushEvent.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/push-api/
+ */
+
+[Constructor(DOMString type, optional PushEventInit eventInitDict),
+ Func="mozilla::dom::DOMPrefs::PushEnabled",
+ Exposed=ServiceWorker]
+interface PushEvent : ExtendableEvent {
+ readonly attribute PushMessageData? data;
+};
+
+typedef (BufferSource or USVString) PushMessageDataInit;
+
+dictionary PushEventInit : ExtendableEventInit {
+ PushMessageDataInit data;
+};
diff --git a/vendor/web-sys/webidls/enabled/PushManager.webidl b/vendor/web-sys/webidls/enabled/PushManager.webidl
new file mode 100644
index 000000000..2579597af
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PushManager.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+*
+* The origin of this IDL file is
+* https://w3c.github.io/push-api/
+*/
+
+dictionary PushSubscriptionOptionsInit {
+ boolean userVisibleOnly = false;
+ (BufferSource or DOMString)? applicationServerKey = null;
+};
+
+// The main thread JS implementation. Please see comments in
+// dom/push/PushManager.h for the split between PushManagerImpl and PushManager.
+[JSImplementation="@mozilla.org/push/PushManager;1",
+ ChromeOnly, Constructor(DOMString scope)]
+interface PushManagerImpl {
+ Promise<PushSubscription> subscribe(optional PushSubscriptionOptionsInit options);
+ Promise<PushSubscription?> getSubscription();
+ Promise<PushPermissionState> permissionState(optional PushSubscriptionOptionsInit options);
+};
+
+[Exposed=(Window,Worker), Func="mozilla::dom::DOMPrefs::PushEnabled",
+ ChromeConstructor(DOMString scope)]
+interface PushManager {
+ [Throws, UseCounter]
+ Promise<PushSubscription> subscribe(optional PushSubscriptionOptionsInit options);
+ [Throws]
+ Promise<PushSubscription?> getSubscription();
+ [Throws]
+ Promise<PushPermissionState> permissionState(optional PushSubscriptionOptionsInit options);
+};
+
+enum PushPermissionState
+{
+ "granted",
+ "denied",
+ "prompt"
+};
diff --git a/vendor/web-sys/webidls/enabled/PushMessageData.webidl b/vendor/web-sys/webidls/enabled/PushMessageData.webidl
new file mode 100644
index 000000000..ca3292037
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PushMessageData.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/push-api/
+ */
+
+[Func="mozilla::dom::DOMPrefs::PushEnabled",
+ Exposed=ServiceWorker]
+interface PushMessageData
+{
+ [Throws]
+ ArrayBuffer arrayBuffer();
+ [Throws]
+ Blob blob();
+ [Throws]
+ any json();
+ USVString text();
+};
diff --git a/vendor/web-sys/webidls/enabled/PushSubscription.webidl b/vendor/web-sys/webidls/enabled/PushSubscription.webidl
new file mode 100644
index 000000000..c4d9279e5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PushSubscription.webidl
@@ -0,0 +1,54 @@
+/* -*- 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/.
+*
+* The origin of this IDL file is
+* https://w3c.github.io/push-api/
+*/
+
+// invalid widl
+// interface Principal;
+
+enum PushEncryptionKeyName
+{
+ "p256dh",
+ "auth"
+};
+
+dictionary PushSubscriptionKeys
+{
+ ByteString p256dh;
+ ByteString auth;
+};
+
+dictionary PushSubscriptionJSON
+{
+ USVString endpoint;
+ PushSubscriptionKeys keys;
+};
+
+dictionary PushSubscriptionInit
+{
+ required USVString endpoint;
+ required USVString scope;
+ ArrayBuffer? p256dhKey;
+ ArrayBuffer? authSecret;
+ BufferSource? appServerKey;
+};
+
+[Exposed=(Window,Worker), Func="mozilla::dom::DOMPrefs::PushEnabled",
+ ChromeConstructor(PushSubscriptionInit initDict)]
+interface PushSubscription
+{
+ readonly attribute USVString endpoint;
+ readonly attribute PushSubscriptionOptions options;
+ [Throws]
+ ArrayBuffer? getKey(PushEncryptionKeyName name);
+ [Throws, UseCounter]
+ Promise<boolean> unsubscribe();
+
+ // Implements the custom serializer specified in Push API, section 9.
+ [Throws]
+ PushSubscriptionJSON toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/PushSubscriptionOptions.webidl b/vendor/web-sys/webidls/enabled/PushSubscriptionOptions.webidl
new file mode 100644
index 000000000..5ffd0e755
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/PushSubscriptionOptions.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+*
+* The origin of this IDL file is
+* https://w3c.github.io/push-api/
+*/
+
+[Exposed=(Window,Worker), Func="mozilla::dom::DOMPrefs::PushEnabled"]
+interface PushSubscriptionOptions
+{
+ [SameObject, Throws]
+ readonly attribute ArrayBuffer? applicationServerKey;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCCertificate.webidl b/vendor/web-sys/webidls/enabled/RTCCertificate.webidl
new file mode 100644
index 000000000..405859518
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCCertificate.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * Specification: http://w3c.github.io/webrtc-pc/#certificate-management
+ */
+
+dictionary RTCCertificateExpiration {
+ [EnforceRange]
+ DOMTimeStamp expires;
+};
+
+[Pref="media.peerconnection.enabled"]
+interface RTCCertificate {
+ readonly attribute DOMTimeStamp expires;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCConfiguration.webidl b/vendor/web-sys/webidls/enabled/RTCConfiguration.webidl
new file mode 100644
index 000000000..2c4052b8a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCConfiguration.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCConfiguration
+ */
+
+enum RTCIceCredentialType {
+ "password",
+ "token"
+};
+
+dictionary RTCIceServer {
+ (DOMString or sequence<DOMString>) urls;
+ DOMString url; //deprecated
+ DOMString username;
+ DOMString credential;
+ RTCIceCredentialType credentialType = "password";
+};
+
+enum RTCIceTransportPolicy {
+ "relay",
+ "all"
+};
+
+enum RTCBundlePolicy {
+ "balanced",
+ "max-compat",
+ "max-bundle"
+};
+
+dictionary RTCConfiguration {
+ sequence<RTCIceServer> iceServers;
+ RTCIceTransportPolicy iceTransportPolicy = "all";
+ RTCBundlePolicy bundlePolicy = "balanced";
+ DOMString? peerIdentity = null;
+ sequence<RTCCertificate> certificates;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCDTMFSender.webidl b/vendor/web-sys/webidls/enabled/RTCDTMFSender.webidl
new file mode 100644
index 000000000..3d19ba5fe
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCDTMFSender.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://www.w3.org/TR/webrtc/#rtcdtmfsender
+ */
+
+[JSImplementation="@mozilla.org/dom/rtcdtmfsender;1"]
+interface RTCDTMFSender : EventTarget {
+ undefined insertDTMF(DOMString tones,
+ optional unsigned long duration = 100,
+ optional unsigned long interToneGap = 70);
+ attribute EventHandler ontonechange;
+ readonly attribute DOMString toneBuffer;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCDTMFToneChangeEvent.webidl b/vendor/web-sys/webidls/enabled/RTCDTMFToneChangeEvent.webidl
new file mode 100644
index 000000000..8cdae1592
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCDTMFToneChangeEvent.webidl
@@ -0,0 +1,8 @@
+[Constructor(DOMString type, optional RTCDTMFToneChangeEventInit eventInitDict)]
+interface RTCDTMFToneChangeEvent : Event {
+ readonly attribute DOMString tone;
+};
+
+dictionary RTCDTMFToneChangeEventInit : EventInit {
+ DOMString tone = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCDataChannel.webidl b/vendor/web-sys/webidls/enabled/RTCDataChannel.webidl
new file mode 100644
index 000000000..016a9da32
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCDataChannel.webidl
@@ -0,0 +1,41 @@
+/* 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/. */
+
+enum RTCDataChannelState {
+ "connecting",
+ "open",
+ "closing",
+ "closed"
+};
+
+enum RTCDataChannelType {
+ "arraybuffer",
+ "blob"
+};
+
+interface RTCDataChannel : EventTarget
+{
+ readonly attribute DOMString label;
+ readonly attribute boolean reliable;
+ readonly attribute unsigned short? maxPacketLifeTime;
+ readonly attribute unsigned short? maxRetransmits;
+ readonly attribute RTCDataChannelState readyState;
+ readonly attribute unsigned long bufferedAmount;
+ attribute unsigned long bufferedAmountLowThreshold;
+ attribute EventHandler onopen;
+ attribute EventHandler onerror;
+ attribute EventHandler onclose;
+ undefined close();
+ attribute EventHandler onmessage;
+ attribute EventHandler onbufferedamountlow;
+ attribute RTCDataChannelType binaryType;
+ [Throws]
+ undefined send(DOMString data);
+ [Throws]
+ undefined send(Blob data);
+ [Throws]
+ undefined send(ArrayBuffer data);
+ [Throws]
+ undefined send(ArrayBufferView data);
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCDataChannelEvent.webidl b/vendor/web-sys/webidls/enabled/RTCDataChannelEvent.webidl
new file mode 100644
index 000000000..9eba38243
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCDataChannelEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDataChannelEvent
+ */
+
+dictionary RTCDataChannelEventInit : EventInit {
+ required RTCDataChannel channel;
+};
+
+[Pref="media.peerconnection.enabled",
+ Constructor(DOMString type, RTCDataChannelEventInit eventInitDict)]
+interface RTCDataChannelEvent : Event {
+ readonly attribute RTCDataChannel channel;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCIceCandidate.webidl b/vendor/web-sys/webidls/enabled/RTCIceCandidate.webidl
new file mode 100644
index 000000000..2e425f393
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCIceCandidate.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCIceCandidate
+ */
+
+dictionary RTCIceCandidateInit {
+ required DOMString candidate;
+ DOMString? sdpMid = null;
+ unsigned short? sdpMLineIndex = null;
+};
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/rtcicecandidate;1",
+ Constructor(RTCIceCandidateInit candidateInitDict)]
+interface RTCIceCandidate {
+ attribute DOMString candidate;
+ attribute DOMString? sdpMid;
+ attribute unsigned short? sdpMLineIndex;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCIdentityAssertion.webidl b/vendor/web-sys/webidls/enabled/RTCIdentityAssertion.webidl
new file mode 100644
index 000000000..621b21fed
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCIdentityAssertion.webidl
@@ -0,0 +1,13 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/webrtc-pc/#idl-def-RTCIdentityAssertion
+ */
+
+dictionary RTCIdentityAssertion {
+ DOMString idp;
+ DOMString name;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCIdentityProvider.webidl b/vendor/web-sys/webidls/enabled/RTCIdentityProvider.webidl
new file mode 100644
index 000000000..fc442cc63
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCIdentityProvider.webidl
@@ -0,0 +1,65 @@
+/* -*- 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/.
+ *
+ * http://w3c.github.io/webrtc-pc/ (with https://github.com/w3c/webrtc-pc/pull/178)
+ */
+
+[NoInterfaceObject]
+interface RTCIdentityProviderRegistrar {
+ undefined register(RTCIdentityProvider idp);
+
+ /* Whether an IdP was passed to register() to chrome code. */
+ [ChromeOnly]
+ readonly attribute boolean hasIdp;
+ /* The following two chrome-only functions forward to the corresponding
+ * function on the registered IdP. This is necessary because the
+ * JS-implemented WebIDL can't see these functions on `idp` above, chrome JS
+ * gets an Xray onto the content code that suppresses functions, see
+ * https://developer.mozilla.org/en-US/docs/Xray_vision#Xrays_for_JavaScript_objects
+ */
+ /* Forward to idp.generateAssertion() */
+ [ChromeOnly, Throws]
+ Promise<RTCIdentityAssertionResult>
+ generateAssertion(DOMString contents, DOMString origin,
+ optional RTCIdentityProviderOptions options);
+ /* Forward to idp.validateAssertion() */
+ [ChromeOnly, Throws]
+ Promise<RTCIdentityValidationResult>
+ validateAssertion(DOMString assertion, DOMString origin);
+};
+
+dictionary RTCIdentityProvider {
+ required GenerateAssertionCallback generateAssertion;
+ required ValidateAssertionCallback validateAssertion;
+};
+
+callback GenerateAssertionCallback =
+ Promise<RTCIdentityAssertionResult>
+ (DOMString contents, DOMString origin,
+ RTCIdentityProviderOptions options);
+callback ValidateAssertionCallback =
+ Promise<RTCIdentityValidationResult> (DOMString assertion, DOMString origin);
+
+dictionary RTCIdentityAssertionResult {
+ required RTCIdentityProviderDetails idp;
+ required DOMString assertion;
+};
+
+dictionary RTCIdentityProviderDetails {
+ required DOMString domain;
+ DOMString protocol = "default";
+};
+
+dictionary RTCIdentityValidationResult {
+ required DOMString identity;
+ required DOMString contents;
+};
+
+dictionary RTCIdentityProviderOptions {
+ DOMString protocol = "default";
+ DOMString usernameHint;
+ DOMString peerIdentity;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/RTCPeerConnection.webidl b/vendor/web-sys/webidls/enabled/RTCPeerConnection.webidl
new file mode 100644
index 000000000..9c74b611e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCPeerConnection.webidl
@@ -0,0 +1,166 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/webrtc-pc/#interface-definition
+ */
+
+callback RTCSessionDescriptionCallback = undefined (RTCSessionDescriptionInit description);
+callback RTCPeerConnectionErrorCallback = undefined (DOMException error);
+callback RTCStatsCallback = undefined (RTCStatsReport report);
+
+enum RTCSignalingState {
+ "stable",
+ "have-local-offer",
+ "have-remote-offer",
+ "have-local-pranswer",
+ "have-remote-pranswer",
+ "closed"
+};
+
+enum RTCIceGatheringState {
+ "new",
+ "gathering",
+ "complete"
+};
+
+enum RTCIceConnectionState {
+ "new",
+ "checking",
+ "connected",
+ "completed",
+ "failed",
+ "disconnected",
+ "closed"
+};
+
+dictionary RTCDataChannelInit {
+ boolean ordered = true;
+ unsigned short maxPacketLifeTime;
+ unsigned short maxRetransmits;
+ DOMString protocol = "";
+ boolean negotiated = false;
+ unsigned short id;
+
+ // These are deprecated due to renaming in the spec, but still supported for Fx53
+ unsigned short maxRetransmitTime;
+};
+
+dictionary RTCOfferAnswerOptions {
+// boolean voiceActivityDetection = true; // TODO: support this (Bug 1184712)
+};
+
+dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
+};
+
+dictionary RTCOfferOptions : RTCOfferAnswerOptions {
+ boolean offerToReceiveVideo;
+ boolean offerToReceiveAudio;
+ boolean iceRestart = false;
+};
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/peerconnection;1",
+ Constructor (optional RTCConfiguration configuration,
+ optional object? constraints)]
+interface RTCPeerConnection : EventTarget {
+ [Throws, StaticClassOverride="mozilla::dom::RTCCertificate"]
+ static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm);
+
+ [Pref="media.peerconnection.identity.enabled"]
+ undefined setIdentityProvider (DOMString provider,
+ optional RTCIdentityProviderOptions options);
+ [Pref="media.peerconnection.identity.enabled"]
+ Promise<DOMString> getIdentityAssertion();
+ Promise<RTCSessionDescriptionInit> createOffer (optional RTCOfferOptions options);
+ Promise<RTCSessionDescriptionInit> createAnswer (optional RTCAnswerOptions options);
+ Promise<undefined> setLocalDescription (RTCSessionDescriptionInit description);
+ Promise<undefined> setRemoteDescription (RTCSessionDescriptionInit description);
+ readonly attribute RTCSessionDescription? localDescription;
+ readonly attribute RTCSessionDescription? currentLocalDescription;
+ readonly attribute RTCSessionDescription? pendingLocalDescription;
+ readonly attribute RTCSessionDescription? remoteDescription;
+ readonly attribute RTCSessionDescription? currentRemoteDescription;
+ readonly attribute RTCSessionDescription? pendingRemoteDescription;
+ readonly attribute RTCSignalingState signalingState;
+ Promise<undefined> addIceCandidate ((RTCIceCandidateInit or RTCIceCandidate)? candidate);
+ readonly attribute boolean? canTrickleIceCandidates;
+ readonly attribute RTCIceGatheringState iceGatheringState;
+ readonly attribute RTCIceConnectionState iceConnectionState;
+ [Pref="media.peerconnection.identity.enabled"]
+ readonly attribute Promise<RTCIdentityAssertion> peerIdentity;
+ [Pref="media.peerconnection.identity.enabled"]
+ readonly attribute DOMString? idpLoginUrl;
+
+ [ChromeOnly]
+ attribute DOMString id;
+
+ RTCConfiguration getConfiguration ();
+ [Deprecated="RTCPeerConnectionGetStreams"]
+ sequence<MediaStream> getLocalStreams ();
+ [Deprecated="RTCPeerConnectionGetStreams"]
+ sequence<MediaStream> getRemoteStreams ();
+ undefined addStream (MediaStream stream);
+
+ // replaces addStream; fails if already added
+ // because a track can be part of multiple streams, stream parameters
+ // indicate which particular streams should be referenced in signaling
+
+ RTCRtpSender addTrack(MediaStreamTrack track,
+ MediaStream stream,
+ MediaStream... moreStreams);
+ undefined removeTrack(RTCRtpSender sender);
+
+ RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind,
+ optional RTCRtpTransceiverInit init);
+
+ sequence<RTCRtpSender> getSenders();
+ sequence<RTCRtpReceiver> getReceivers();
+ sequence<RTCRtpTransceiver> getTransceivers();
+
+ undefined close ();
+ attribute EventHandler onnegotiationneeded;
+ attribute EventHandler onicecandidate;
+ attribute EventHandler onsignalingstatechange;
+ attribute EventHandler onaddstream; // obsolete
+ attribute EventHandler onaddtrack; // obsolete
+ attribute EventHandler ontrack; // replaces onaddtrack and onaddstream.
+ attribute EventHandler onremovestream;
+ attribute EventHandler oniceconnectionstatechange;
+ attribute EventHandler onicegatheringstatechange;
+
+ Promise<RTCStatsReport> getStats (optional MediaStreamTrack? selector);
+
+ // Data channel.
+ RTCDataChannel createDataChannel (DOMString label,
+ optional RTCDataChannelInit dataChannelDict);
+ attribute EventHandler ondatachannel;
+};
+
+// Legacy callback API
+
+partial interface RTCPeerConnection {
+
+ // Dummy Promise<undefined> return values avoid "WebIDL.WebIDLError: error:
+ // We have overloads with both Promise and non-Promise return types"
+
+ Promise<undefined> createOffer (RTCSessionDescriptionCallback successCallback,
+ RTCPeerConnectionErrorCallback failureCallback,
+ optional RTCOfferOptions options);
+ Promise<undefined> createAnswer (RTCSessionDescriptionCallback successCallback,
+ RTCPeerConnectionErrorCallback failureCallback);
+ Promise<undefined> setLocalDescription (RTCSessionDescriptionInit description,
+ VoidFunction successCallback,
+ RTCPeerConnectionErrorCallback failureCallback);
+ Promise<undefined> setRemoteDescription (RTCSessionDescriptionInit description,
+ VoidFunction successCallback,
+ RTCPeerConnectionErrorCallback failureCallback);
+ Promise<undefined> addIceCandidate (RTCIceCandidate candidate,
+ VoidFunction successCallback,
+ RTCPeerConnectionErrorCallback failureCallback);
+ Promise<undefined> getStats (MediaStreamTrack? selector,
+ RTCStatsCallback successCallback,
+ RTCPeerConnectionErrorCallback failureCallback);
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCPeerConnectionIceEvent.webidl b/vendor/web-sys/webidls/enabled/RTCPeerConnectionIceEvent.webidl
new file mode 100644
index 000000000..5ec47f470
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCPeerConnectionIceEvent.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnectionIceEvent
+ */
+
+dictionary RTCPeerConnectionIceEventInit : EventInit {
+ RTCIceCandidate? candidate = null;
+};
+
+[Pref="media.peerconnection.enabled",
+ Constructor(DOMString type,
+ optional RTCPeerConnectionIceEventInit eventInitDict)]
+interface RTCPeerConnectionIceEvent : Event {
+ readonly attribute RTCIceCandidate? candidate;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCPeerConnectionStatic.webidl b/vendor/web-sys/webidls/enabled/RTCPeerConnectionStatic.webidl
new file mode 100644
index 000000000..85db3f5a6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCPeerConnectionStatic.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ */
+
+/*
+ Right now, it is not possible to add static functions to a JS implemented
+ interface (see bug 863952), so we need to create a simple interface with a
+ trivial constructor and no data to hold these functions that really ought to
+ be static in RTCPeerConnection.
+ TODO(bcampen@mozilla.com) Merge this code into RTCPeerConnection once this
+ limitation is gone. (Bug 1017082)
+*/
+
+enum RTCLifecycleEvent {
+ "initialized",
+ "icegatheringstatechange",
+ "iceconnectionstatechange"
+};
+
+callback PeerConnectionLifecycleCallback = undefined (RTCPeerConnection pc,
+ unsigned long long windowId,
+ RTCLifecycleEvent eventType);
+
+[ChromeOnly,
+ Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/peerconnectionstatic;1",
+ Constructor()]
+interface RTCPeerConnectionStatic {
+
+ /* One slot per window (the window in which the register call is made),
+ automatically unregistered when window goes away.
+ Fires when a PC is created, and whenever the ICE connection state or
+ gathering state changes. */
+ undefined registerPeerConnectionLifecycleCallback(
+ PeerConnectionLifecycleCallback cb);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/RTCRtpReceiver.webidl b/vendor/web-sys/webidls/enabled/RTCRtpReceiver.webidl
new file mode 100644
index 000000000..4af399d67
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCRtpReceiver.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://lists.w3.org/Archives/Public/public-webrtc/2014May/0067.html
+ */
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/rtpreceiver;1"]
+interface RTCRtpReceiver {
+ readonly attribute MediaStreamTrack track;
+ Promise<RTCStatsReport> getStats();
+ [Pref="media.peerconnection.rtpsourcesapi.enabled"]
+ sequence<RTCRtpContributingSource> getContributingSources();
+ [Pref="media.peerconnection.rtpsourcesapi.enabled"]
+ sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
+
+ [ChromeOnly]
+ undefined setStreamIds(sequence<DOMString> streamIds);
+ [ChromeOnly]
+ undefined setRemoteSendBit(boolean sendBit);
+ [ChromeOnly]
+ undefined processTrackAdditionsAndRemovals(
+ RTCRtpTransceiver transceiver,
+ object postProcessing);
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCRtpSender.webidl b/vendor/web-sys/webidls/enabled/RTCRtpSender.webidl
new file mode 100644
index 000000000..e7b375b90
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCRtpSender.webidl
@@ -0,0 +1,88 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface
+ */
+
+enum RTCPriorityType {
+ "very-low",
+ "low",
+ "medium",
+ "high"
+};
+
+enum RTCDegradationPreference {
+ "maintain-framerate",
+ "maintain-resolution",
+ "balanced"
+};
+
+dictionary RTCRtxParameters {
+ unsigned long ssrc;
+};
+
+dictionary RTCFecParameters {
+ unsigned long ssrc;
+};
+
+dictionary RTCRtpEncodingParameters {
+ unsigned long ssrc;
+ RTCRtxParameters rtx;
+ RTCFecParameters fec;
+ boolean active;
+ RTCPriorityType priority;
+ unsigned long maxBitrate;
+ RTCDegradationPreference degradationPreference = "balanced";
+ DOMString rid;
+ float scaleResolutionDownBy = 1.0;
+};
+
+dictionary RTCRtpHeaderExtensionParameters {
+ DOMString uri;
+ unsigned short id;
+ boolean encrypted;
+};
+
+dictionary RTCRtcpParameters {
+ DOMString cname;
+ boolean reducedSize;
+};
+
+dictionary RTCRtpCodecParameters {
+ unsigned short payloadType;
+ DOMString mimeType;
+ unsigned long clockRate;
+ unsigned short channels = 1;
+ DOMString sdpFmtpLine;
+};
+
+dictionary RTCRtpParameters {
+ sequence<RTCRtpEncodingParameters> encodings;
+ sequence<RTCRtpHeaderExtensionParameters> headerExtensions;
+ RTCRtcpParameters rtcp;
+ sequence<RTCRtpCodecParameters> codecs;
+};
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/rtpsender;1"]
+interface RTCRtpSender {
+ readonly attribute MediaStreamTrack? track;
+ Promise<undefined> setParameters (optional RTCRtpParameters parameters);
+ RTCRtpParameters getParameters();
+ Promise<undefined> replaceTrack(MediaStreamTrack? withTrack);
+ Promise<RTCStatsReport> getStats();
+ [Pref="media.peerconnection.dtmf.enabled"]
+ readonly attribute RTCDTMFSender? dtmf;
+ // Ugh, can't use a ChromeOnly attibute sequence<MediaStream>...
+ [ChromeOnly]
+ sequence<MediaStream> getStreams();
+ [ChromeOnly]
+ undefined setStreams(sequence<MediaStream> streams);
+ [ChromeOnly]
+ undefined setTrack(MediaStreamTrack? track);
+ [ChromeOnly]
+ undefined checkWasCreatedByPc(RTCPeerConnection pc);
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCRtpSources.webidl b/vendor/web-sys/webidls/enabled/RTCRtpSources.webidl
new file mode 100644
index 000000000..460d700cc
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCRtpSources.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/webrtc-pc/ Editor's Draft 18 January 2018
+ */
+
+dictionary RTCRtpContributingSource {
+ required DOMHighResTimeStamp timestamp;
+ required unsigned long source;
+ double audioLevel;
+};
+
+dictionary RTCRtpSynchronizationSource : RTCRtpContributingSource {
+ boolean? voiceActivityFlag;
+};
+
+/* Internal enum of types used by RTCRtpSourceEntry */
+enum RTCRtpSourceEntryType {
+ "contributing",
+ "synchronization",
+};
+/* Internal shared representation of Contributing and Synchronization sources */
+dictionary RTCRtpSourceEntry : RTCRtpSynchronizationSource {
+ required RTCRtpSourceEntryType sourceType;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCRtpTransceiver.webidl b/vendor/web-sys/webidls/enabled/RTCRtpTransceiver.webidl
new file mode 100644
index 000000000..abf41bd75
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCRtpTransceiver.webidl
@@ -0,0 +1,78 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/webrtc-pc/#rtcrtptransceiver-interface
+ */
+
+enum RTCRtpTransceiverDirection {
+ "sendrecv",
+ "sendonly",
+ "recvonly",
+ "inactive"
+};
+
+dictionary RTCRtpTransceiverInit {
+ RTCRtpTransceiverDirection direction = "sendrecv";
+ sequence<MediaStream> streams = [];
+ // TODO: bug 1396918
+ // sequence<RTCRtpEncodingParameters> sendEncodings;
+};
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/rtptransceiver;1"]
+interface RTCRtpTransceiver {
+ readonly attribute DOMString? mid;
+ [SameObject]
+ readonly attribute RTCRtpSender sender;
+ [SameObject]
+ readonly attribute RTCRtpReceiver receiver;
+ readonly attribute boolean stopped;
+ attribute RTCRtpTransceiverDirection direction;
+ readonly attribute RTCRtpTransceiverDirection? currentDirection;
+
+ undefined stop();
+ // TODO: bug 1396922
+ // undefined setCodecPreferences(sequence<RTCRtpCodecCapability> codecs);
+
+ [ChromeOnly]
+ undefined setRemoteTrackId(DOMString trackId);
+ [ChromeOnly]
+ boolean remoteTrackIdIs(DOMString trackId);
+
+ // Mostly for testing
+ [Pref="media.peerconnection.remoteTrackId.enabled"]
+ DOMString getRemoteTrackId();
+
+ [ChromeOnly]
+ undefined setAddTrackMagic();
+ [ChromeOnly]
+ readonly attribute boolean addTrackMagic;
+ [ChromeOnly]
+ attribute boolean shouldRemove;
+ [ChromeOnly]
+ undefined setCurrentDirection(RTCRtpTransceiverDirection direction);
+ [ChromeOnly]
+ undefined setDirectionInternal(RTCRtpTransceiverDirection direction);
+ [ChromeOnly]
+ undefined setMid(DOMString mid);
+ [ChromeOnly]
+ undefined unsetMid();
+ [ChromeOnly]
+ undefined setStopped();
+
+ [ChromeOnly]
+ DOMString getKind();
+ [ChromeOnly]
+ boolean hasBeenUsedToSend();
+ [ChromeOnly]
+ undefined sync();
+
+ [ChromeOnly]
+ undefined insertDTMF(DOMString tones,
+ optional unsigned long duration = 100,
+ optional unsigned long interToneGap = 70);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/RTCSessionDescription.webidl b/vendor/web-sys/webidls/enabled/RTCSessionDescription.webidl
new file mode 100644
index 000000000..6da3525e4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCSessionDescription.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription
+ */
+
+enum RTCSdpType {
+ "offer",
+ "pranswer",
+ "answer",
+ "rollback"
+};
+
+dictionary RTCSessionDescriptionInit {
+ required RTCSdpType type;
+ DOMString sdp = "";
+};
+
+[Pref="media.peerconnection.enabled",
+ JSImplementation="@mozilla.org/dom/rtcsessiondescription;1",
+ Constructor(optional RTCSessionDescriptionInit descriptionInitDict)]
+interface RTCSessionDescription {
+ // These should be readonly, but writing causes deprecation warnings for a bit
+ attribute RTCSdpType type;
+ attribute DOMString sdp;
+
+ [Default] object toJSON();
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCStatsReport.webidl b/vendor/web-sys/webidls/enabled/RTCStatsReport.webidl
new file mode 100644
index 000000000..a52a2a8f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCStatsReport.webidl
@@ -0,0 +1,200 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcstatsreport-object
+ * http://www.w3.org/2011/04/webrtc/wiki/Stats
+ */
+
+enum RTCStatsType {
+ "inbound-rtp",
+ "outbound-rtp",
+ "csrc",
+ "session",
+ "track",
+ "transport",
+ "candidate-pair",
+ "local-candidate",
+ "remote-candidate"
+};
+
+dictionary RTCStats {
+ DOMHighResTimeStamp timestamp;
+ RTCStatsType type;
+ DOMString id;
+};
+
+dictionary RTCRTPStreamStats : RTCStats {
+ DOMString ssrc;
+ DOMString mediaType;
+ DOMString remoteId;
+ boolean isRemote = false;
+ DOMString mediaTrackId;
+ DOMString transportId;
+ DOMString codecId;
+
+ // Video encoder/decoder measurements, not present in RTCP case
+ double bitrateMean;
+ double bitrateStdDev;
+ double framerateMean;
+ double framerateStdDev;
+
+ // Local only measurements, RTCP related but not communicated via RTCP. Not
+ // present in RTCP case.
+ unsigned long firCount;
+ unsigned long pliCount;
+ unsigned long nackCount;
+};
+
+dictionary RTCInboundRTPStreamStats : RTCRTPStreamStats {
+ unsigned long packetsReceived;
+ unsigned long long bytesReceived;
+ double jitter;
+ unsigned long packetsLost;
+ long roundTripTime;
+
+ // Video decoder measurement, not present in RTCP case
+ unsigned long discardedPackets;
+ unsigned long framesDecoded;
+};
+
+dictionary RTCOutboundRTPStreamStats : RTCRTPStreamStats {
+ unsigned long packetsSent;
+ unsigned long long bytesSent;
+ double targetBitrate; // config encoder bitrate target of this SSRC in bits/s
+
+ // Video encoder measurements, not present in RTCP case
+ unsigned long droppedFrames;
+ unsigned long framesEncoded;
+};
+
+dictionary RTCMediaStreamTrackStats : RTCStats {
+ DOMString trackIdentifier; // track.id property
+ boolean remoteSource;
+ sequence<DOMString> ssrcIds;
+ // Stuff that makes sense for video
+ unsigned long frameWidth;
+ unsigned long frameHeight;
+ double framesPerSecond; // The nominal FPS value
+ unsigned long framesSent;
+ unsigned long framesReceived; // Only for remoteSource=true
+ unsigned long framesDecoded;
+ unsigned long framesDropped; // See VideoPlaybackQuality.droppedVideoFrames
+ unsigned long framesCorrupted; // as above.
+ // Stuff that makes sense for audio
+ double audioLevel; // linear, 1.0 = 0 dBov (from RFC 6464).
+ // AEC stuff on audio tracks sourced from a microphone where AEC is applied
+ double echoReturnLoss; // in decibels from G.168 (2012) section 3.14
+ double echoReturnLossEnhancement; // as above, section 3.15
+};
+
+dictionary RTCMediaStreamStats : RTCStats {
+ DOMString streamIdentifier; // stream.id property
+ sequence<DOMString> trackIds; // Note: stats object ids, not track.id
+};
+
+dictionary RTCRTPContributingSourceStats : RTCStats {
+ unsigned long contributorSsrc;
+ DOMString inboundRtpStreamId;
+};
+
+dictionary RTCTransportStats: RTCStats {
+ unsigned long bytesSent;
+ unsigned long bytesReceived;
+};
+
+dictionary RTCIceComponentStats : RTCStats {
+ DOMString transportId;
+ long component;
+ unsigned long bytesSent;
+ unsigned long bytesReceived;
+ boolean activeConnection;
+};
+
+enum RTCStatsIceCandidatePairState {
+ "frozen",
+ "waiting",
+ "inprogress",
+ "failed",
+ "succeeded",
+ "cancelled"
+};
+
+dictionary RTCIceCandidatePairStats : RTCStats {
+ DOMString transportId;
+ DOMString localCandidateId;
+ DOMString remoteCandidateId;
+ RTCStatsIceCandidatePairState state;
+ unsigned long long priority;
+ boolean nominated;
+ boolean writable;
+ boolean readable;
+ unsigned long long bytesSent;
+ unsigned long long bytesReceived;
+ DOMHighResTimeStamp lastPacketSentTimestamp;
+ DOMHighResTimeStamp lastPacketReceivedTimestamp;
+ boolean selected;
+ [ChromeOnly]
+ unsigned long componentId; // moz
+};
+
+enum RTCStatsIceCandidateType {
+ "host",
+ "serverreflexive",
+ "peerreflexive",
+ "relayed"
+};
+
+dictionary RTCIceCandidateStats : RTCStats {
+ DOMString componentId;
+ DOMString candidateId;
+ DOMString ipAddress;
+ DOMString transport;
+ long portNumber;
+ RTCStatsIceCandidateType candidateType;
+};
+
+dictionary RTCCodecStats : RTCStats {
+ unsigned long payloadType; // As used in RTP encoding.
+ DOMString codec; // video/vp8 or equivalent
+ unsigned long clockRate;
+ unsigned long channels; // 2=stereo, missing for most other cases.
+ DOMString parameters; // From SDP description line
+};
+
+// This is the internal representation of the report in this implementation
+// to be received from c++
+
+dictionary RTCStatsReportInternal {
+ DOMString pcid = "";
+ sequence<RTCInboundRTPStreamStats> inboundRTPStreamStats;
+ sequence<RTCOutboundRTPStreamStats> outboundRTPStreamStats;
+ sequence<RTCRTPContributingSourceStats> rtpContributingSourceStats;
+ sequence<RTCMediaStreamTrackStats> mediaStreamTrackStats;
+ sequence<RTCMediaStreamStats> mediaStreamStats;
+ sequence<RTCTransportStats> transportStats;
+ sequence<RTCIceComponentStats> iceComponentStats;
+ sequence<RTCIceCandidatePairStats> iceCandidatePairStats;
+ sequence<RTCIceCandidateStats> iceCandidateStats;
+ sequence<RTCCodecStats> codecStats;
+ DOMString localSdp;
+ DOMString remoteSdp;
+ DOMHighResTimeStamp timestamp;
+ unsigned long iceRestarts;
+ unsigned long iceRollbacks;
+ boolean offerer; // Is the PC the offerer
+ boolean closed; // Is the PC now closed
+ sequence<RTCIceCandidateStats> trickledIceCandidateStats;
+ sequence<DOMString> rawLocalCandidates;
+ sequence<DOMString> rawRemoteCandidates;
+};
+
+[Pref="media.peerconnection.enabled",
+// TODO: Use MapClass here once it's available (Bug 928114)
+// MapClass(DOMString, object)
+ JSImplementation="@mozilla.org/dom/rtcstatsreport;1"]
+interface RTCStatsReport {
+ readonly maplike<DOMString, object>;
+};
diff --git a/vendor/web-sys/webidls/enabled/RTCTrackEvent.webidl b/vendor/web-sys/webidls/enabled/RTCTrackEvent.webidl
new file mode 100644
index 000000000..27da47c68
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RTCTrackEvent.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://w3c.github.io/webrtc-pc/#idl-def-RTCTrackEvent
+ */
+
+dictionary RTCTrackEventInit : EventInit {
+ required RTCRtpReceiver receiver;
+ required MediaStreamTrack track;
+ sequence<MediaStream> streams = [];
+ required RTCRtpTransceiver transceiver;
+};
+
+[Pref="media.peerconnection.enabled",
+ Constructor(DOMString type, RTCTrackEventInit eventInitDict)]
+interface RTCTrackEvent : Event {
+ readonly attribute RTCRtpReceiver receiver;
+ readonly attribute MediaStreamTrack track;
+
+// TODO: Use FrozenArray once available. (Bug 1236777)
+// readonly attribute FrozenArray<MediaStream> streams;
+
+ [Frozen, Cached, Pure]
+ readonly attribute sequence<MediaStream> streams; // workaround
+ readonly attribute RTCRtpTransceiver transceiver;
+};
diff --git a/vendor/web-sys/webidls/enabled/RadioNodeList.webidl b/vendor/web-sys/webidls/enabled/RadioNodeList.webidl
new file mode 100644
index 000000000..f37e1cca3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/RadioNodeList.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmlformcontrolscollection-0
+ *
+ * © Copyright 2004-2014 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface RadioNodeList : NodeList {
+ [NeedsCallerType]
+ attribute DOMString value;
+};
diff --git a/vendor/web-sys/webidls/enabled/Range.webidl b/vendor/web-sys/webidls/enabled/Range.webidl
new file mode 100644
index 000000000..7904f234f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Range.webidl
@@ -0,0 +1,100 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dom.spec.whatwg.org/#range
+ * http://domparsing.spec.whatwg.org/#dom-range-createcontextualfragment
+ * http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-view/Overview.html#extensions-to-the-range-interface
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor]
+interface Range {
+ [Throws]
+ readonly attribute Node startContainer;
+ [Throws]
+ readonly attribute unsigned long startOffset;
+ [Throws]
+ readonly attribute Node endContainer;
+ [Throws]
+ readonly attribute unsigned long endOffset;
+ readonly attribute boolean collapsed;
+ [Throws]
+ readonly attribute Node commonAncestorContainer;
+
+ [Throws, BinaryName="setStartJS"]
+ undefined setStart(Node refNode, unsigned long offset);
+ [Throws, BinaryName="setEndJS"]
+ undefined setEnd(Node refNode, unsigned long offset);
+ [Throws, BinaryName="setStartBeforeJS"]
+ undefined setStartBefore(Node refNode);
+ [Throws, BinaryName="setStartAfterJS"]
+ undefined setStartAfter(Node refNode);
+ [Throws, BinaryName="setEndBeforeJS"]
+ undefined setEndBefore(Node refNode);
+ [Throws, BinaryName="setEndAfterJS"]
+ undefined setEndAfter(Node refNode);
+ [BinaryName="collapseJS"]
+ undefined collapse(optional boolean toStart = false);
+ [Throws, BinaryName="selectNodeJS"]
+ undefined selectNode(Node refNode);
+ [Throws, BinaryName="selectNodeContentsJS"]
+ undefined selectNodeContents(Node refNode);
+
+ const unsigned short START_TO_START = 0;
+ const unsigned short START_TO_END = 1;
+ const unsigned short END_TO_END = 2;
+ const unsigned short END_TO_START = 3;
+ [Throws]
+ short compareBoundaryPoints(unsigned short how, Range sourceRange);
+ [CEReactions, Throws]
+ undefined deleteContents();
+ [CEReactions, Throws]
+ DocumentFragment extractContents();
+ [CEReactions, Throws]
+ DocumentFragment cloneContents();
+ [CEReactions, Throws]
+ undefined insertNode(Node node);
+ [CEReactions, Throws]
+ undefined surroundContents(Node newParent);
+
+ Range cloneRange();
+ undefined detach();
+
+ [Throws]
+ boolean isPointInRange(Node node, unsigned long offset);
+ [Throws]
+ short comparePoint(Node node, unsigned long offset);
+
+ [Throws]
+ boolean intersectsNode(Node node);
+
+ [Throws]
+ stringifier;
+};
+
+// http://domparsing.spec.whatwg.org/#dom-range-createcontextualfragment
+partial interface Range {
+ [CEReactions, Throws]
+ DocumentFragment createContextualFragment(DOMString fragment);
+};
+
+// http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-view/Overview.html#extensions-to-the-range-interface
+partial interface Range {
+ DOMRectList? getClientRects();
+ DOMRect getBoundingClientRect();
+};
+
+dictionary ClientRectsAndTexts {
+ required DOMRectList rectList;
+ required sequence<DOMString> textList;
+};
+
+partial interface Range {
+ [ChromeOnly, Throws]
+ ClientRectsAndTexts getClientRectsAndTexts();
+};
diff --git a/vendor/web-sys/webidls/enabled/Request.webidl b/vendor/web-sys/webidls/enabled/Request.webidl
new file mode 100644
index 000000000..aeb8cdb92
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Request.webidl
@@ -0,0 +1,75 @@
+/* -*- Mode: IDL; tab-width: 1; 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/.
+ *
+ * The origin of this IDL file is
+ * https://fetch.spec.whatwg.org/#request-class
+ */
+
+typedef (Request or USVString) RequestInfo;
+typedef unsigned long nsContentPolicyType;
+
+[Constructor(RequestInfo input, optional RequestInit init),
+ Exposed=(Window,Worker)]
+interface Request {
+ readonly attribute ByteString method;
+ readonly attribute USVString url;
+ [SameObject] readonly attribute Headers headers;
+
+ readonly attribute RequestDestination destination;
+ readonly attribute USVString referrer;
+ readonly attribute ReferrerPolicy referrerPolicy;
+ readonly attribute RequestMode mode;
+ readonly attribute RequestCredentials credentials;
+ readonly attribute RequestCache cache;
+ readonly attribute RequestRedirect redirect;
+ readonly attribute DOMString integrity;
+
+
+ [BinaryName="getOrCreateSignal"]
+ readonly attribute AbortSignal signal;
+
+ [Throws,
+ NewObject] Request clone();
+
+ // Bug 1124638 - Allow chrome callers to set the context.
+ [ChromeOnly]
+ undefined overrideContentPolicyType(nsContentPolicyType context);
+};
+Request includes Body;
+
+dictionary RequestInit {
+ ByteString method;
+ HeadersInit headers;
+ BodyInit? body;
+ USVString referrer;
+ ReferrerPolicy referrerPolicy;
+ RequestMode mode;
+ RequestCredentials credentials;
+ RequestCache cache;
+ RequestRedirect redirect;
+ DOMString integrity;
+
+ AbortSignal? signal;
+
+ [Func="mozilla::dom::DOMPrefs::FetchObserverEnabled"]
+ ObserverCallback observe;
+};
+
+enum RequestDestination {
+ "",
+ "audio", "audioworklet", "document", "embed", "font", "image", "manifest", "object",
+ "paintworklet", "report", "script", "sharedworker", "style", "track", "video",
+ "worker", "xslt"
+};
+
+enum RequestMode { "same-origin", "no-cors", "cors", "navigate" };
+enum RequestCredentials { "omit", "same-origin", "include" };
+enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" };
+enum RequestRedirect { "follow", "error", "manual" };
+enum ReferrerPolicy {
+ "", "no-referrer", "no-referrer-when-downgrade", "origin",
+ "origin-when-cross-origin", "unsafe-url", "same-origin", "strict-origin",
+ "strict-origin-when-cross-origin"
+};
diff --git a/vendor/web-sys/webidls/enabled/Response.webidl b/vendor/web-sys/webidls/enabled/Response.webidl
new file mode 100644
index 000000000..2e69ae277
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Response.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://fetch.spec.whatwg.org/#response-class
+ */
+
+[Constructor(optional BodyInit? body, optional ResponseInit init),
+ Exposed=(Window,Worker)]
+interface Response {
+ [NewObject] static Response error();
+ [Throws,
+ NewObject] static Response redirect(USVString url, optional unsigned short status = 302);
+
+ readonly attribute ResponseType type;
+
+ readonly attribute USVString url;
+ readonly attribute boolean redirected;
+ readonly attribute unsigned short status;
+ readonly attribute boolean ok;
+ readonly attribute ByteString statusText;
+ [SameObject] readonly attribute Headers headers;
+
+ [Throws,
+ NewObject] Response clone();
+
+ [ChromeOnly, NewObject, Throws] Response cloneUnfiltered();
+};
+Response includes Body;
+
+dictionary ResponseInit {
+ unsigned short status = 200;
+ ByteString statusText = "OK";
+ HeadersInit headers;
+};
+
+enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" };
diff --git a/vendor/web-sys/webidls/enabled/SVGAElement.webidl b/vendor/web-sys/webidls/enabled/SVGAElement.webidl
new file mode 100644
index 000000000..7677b9873
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAElement.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAElement : SVGGraphicsElement {
+ readonly attribute SVGAnimatedString target;
+
+ [SetterThrows]
+ attribute DOMString download;
+ [SetterThrows]
+ attribute DOMString ping;
+ [SetterThrows]
+ attribute DOMString rel;
+ [SetterThrows]
+ attribute DOMString referrerPolicy;
+ [PutForwards=value]
+ readonly attribute DOMTokenList relList;
+ [SetterThrows]
+ attribute DOMString hreflang;
+ [SetterThrows]
+ attribute DOMString type;
+
+ [Throws]
+ attribute DOMString text;
+};
+
+SVGAElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGAngle.webidl b/vendor/web-sys/webidls/enabled/SVGAngle.webidl
new file mode 100644
index 000000000..207bc3014
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAngle.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAngle {
+
+ // Angle Unit Types
+ const unsigned short SVG_ANGLETYPE_UNKNOWN = 0;
+ const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
+ const unsigned short SVG_ANGLETYPE_DEG = 2;
+ const unsigned short SVG_ANGLETYPE_RAD = 3;
+ const unsigned short SVG_ANGLETYPE_GRAD = 4;
+
+ readonly attribute unsigned short unitType;
+ [SetterThrows]
+ attribute float value;
+ [SetterThrows]
+ attribute float valueInSpecifiedUnits;
+ [SetterThrows]
+ attribute DOMString valueAsString;
+
+ [Throws]
+ undefined newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ [Throws]
+ undefined convertToSpecifiedUnits(unsigned short unitType);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimateElement.webidl b/vendor/web-sys/webidls/enabled/SVGAnimateElement.webidl
new file mode 100644
index 000000000..c9841f2a8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimateElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimateElement : SVGAnimationElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimateMotionElement.webidl b/vendor/web-sys/webidls/enabled/SVGAnimateMotionElement.webidl
new file mode 100644
index 000000000..38993d761
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimateMotionElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimateMotionElement : SVGAnimationElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimateTransformElement.webidl b/vendor/web-sys/webidls/enabled/SVGAnimateTransformElement.webidl
new file mode 100644
index 000000000..38701e61c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimateTransformElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimateTransformElement : SVGAnimationElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedAngle.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedAngle.webidl
new file mode 100644
index 000000000..5b01c8c35
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedAngle.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedAngle {
+ [Constant]
+ readonly attribute SVGAngle baseVal;
+ [Constant]
+ readonly attribute SVGAngle animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedBoolean.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedBoolean.webidl
new file mode 100644
index 000000000..990bbc7de
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedBoolean.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedBoolean {
+ attribute boolean baseVal;
+ readonly attribute boolean animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedEnumeration.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedEnumeration.webidl
new file mode 100644
index 000000000..80591c2f1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedEnumeration.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/types.html#InterfaceSVGAnimatedEnumeration
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedEnumeration {
+ [SetterThrows]
+ attribute unsigned short baseVal;
+ readonly attribute unsigned short animVal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedInteger.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedInteger.webidl
new file mode 100644
index 000000000..61b43b351
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedInteger.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/types.html#InterfaceSVGAnimatedInteger
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedInteger {
+ attribute long baseVal;
+ readonly attribute long animVal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedLength.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedLength.webidl
new file mode 100644
index 000000000..f7fac144d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedLength.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedLength {
+ [Constant]
+ readonly attribute SVGLength baseVal;
+ [Constant]
+ readonly attribute SVGLength animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedLengthList.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedLengthList.webidl
new file mode 100644
index 000000000..0d85e1616
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedLengthList.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedLengthList {
+ [Constant]
+ readonly attribute SVGLengthList baseVal;
+ [Constant]
+ readonly attribute SVGLengthList animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedNumber.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedNumber.webidl
new file mode 100644
index 000000000..5908f0f86
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedNumber.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/types.html#InterfaceSVGAnimatedNumber
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedNumber {
+ attribute float baseVal;
+ readonly attribute float animVal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedNumberList.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedNumberList.webidl
new file mode 100644
index 000000000..81fba2e06
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedNumberList.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedNumberList {
+ [Constant]
+ readonly attribute SVGNumberList baseVal;
+ [Constant]
+ readonly attribute SVGNumberList animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedPathData.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedPathData.webidl
new file mode 100644
index 000000000..7f844980d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedPathData.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGAnimatedPathData {
+ readonly attribute SVGPathSegList pathSegList;
+ //readonly attribute SVGPathSegList normalizedPathSegList;
+ readonly attribute SVGPathSegList animatedPathSegList;
+ //readonly attribute SVGPathSegList animatedNormalizedPathSegList;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedPoints.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedPoints.webidl
new file mode 100644
index 000000000..633549a68
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedPoints.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGAnimatedPoints {
+ [Constant]
+ readonly attribute SVGPointList points;
+ [Constant]
+ readonly attribute SVGPointList animatedPoints;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedPreserveAspectRatio.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedPreserveAspectRatio.webidl
new file mode 100644
index 000000000..07506a5bf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedPreserveAspectRatio.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedPreserveAspectRatio {
+ [Constant]
+ readonly attribute SVGPreserveAspectRatio baseVal;
+ [Constant]
+ readonly attribute SVGPreserveAspectRatio animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedRect.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedRect.webidl
new file mode 100644
index 000000000..fffebbe88
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedRect.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedRect {
+ readonly attribute SVGRect? baseVal;
+ readonly attribute SVGRect? animVal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedString.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedString.webidl
new file mode 100644
index 000000000..eaf3773d0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedString.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedString {
+ attribute DOMString baseVal;
+ readonly attribute DOMString animVal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimatedTransformList.webidl b/vendor/web-sys/webidls/enabled/SVGAnimatedTransformList.webidl
new file mode 100644
index 000000000..3ea39d130
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimatedTransformList.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimatedTransformList {
+ [Constant]
+ readonly attribute SVGTransformList baseVal;
+ [Constant]
+ readonly attribute SVGTransformList animVal;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGAnimationElement.webidl b/vendor/web-sys/webidls/enabled/SVGAnimationElement.webidl
new file mode 100644
index 000000000..88c3289b7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGAnimationElement.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGAnimationElement : SVGElement {
+
+ readonly attribute SVGElement? targetElement;
+
+ [Throws]
+ float getStartTime();
+ float getCurrentTime();
+ [Throws]
+ float getSimpleDuration();
+
+ [Throws]
+ undefined beginElement();
+ [Throws]
+ undefined beginElementAt(float offset);
+ [Throws]
+ undefined endElement();
+ [Throws]
+ undefined endElementAt(float offset);
+};
+
+SVGAnimationElement includes SVGTests;
diff --git a/vendor/web-sys/webidls/enabled/SVGCircleElement.webidl b/vendor/web-sys/webidls/enabled/SVGCircleElement.webidl
new file mode 100644
index 000000000..021b5be24
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGCircleElement.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGCircleElement : SVGGeometryElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength cx;
+ [Constant]
+ readonly attribute SVGAnimatedLength cy;
+ [Constant]
+ readonly attribute SVGAnimatedLength r;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGClipPathElement.webidl b/vendor/web-sys/webidls/enabled/SVGClipPathElement.webidl
new file mode 100644
index 000000000..e1421430d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGClipPathElement.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGClipPathElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration clipPathUnits;
+ [Constant]
+ readonly attribute SVGAnimatedTransformList transform;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGComponentTransferFunctionElement.webidl b/vendor/web-sys/webidls/enabled/SVGComponentTransferFunctionElement.webidl
new file mode 100644
index 000000000..1842fe6f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGComponentTransferFunctionElement.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGComponentTransferFunctionElement : SVGElement {
+ // Component Transfer Types
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;
+
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration type;
+ [Constant]
+ readonly attribute SVGAnimatedNumberList tableValues;
+ [Constant]
+ readonly attribute SVGAnimatedNumber slope;
+ [Constant]
+ readonly attribute SVGAnimatedNumber intercept;
+ [Constant]
+ readonly attribute SVGAnimatedNumber amplitude;
+ [Constant]
+ readonly attribute SVGAnimatedNumber exponent;
+ [Constant]
+ readonly attribute SVGAnimatedNumber offset;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGDefsElement.webidl b/vendor/web-sys/webidls/enabled/SVGDefsElement.webidl
new file mode 100644
index 000000000..0b37978b4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGDefsElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGDefsElement : SVGGraphicsElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGDescElement.webidl b/vendor/web-sys/webidls/enabled/SVGDescElement.webidl
new file mode 100644
index 000000000..1841ff545
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGDescElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGDescElement : SVGElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGElement.webidl b/vendor/web-sys/webidls/enabled/SVGElement.webidl
new file mode 100644
index 000000000..24161ee73
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGElement.webidl
@@ -0,0 +1,34 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGElement : Element {
+ attribute DOMString id;
+
+ [Constant]
+ readonly attribute SVGAnimatedString className;
+ [SameObject] readonly attribute DOMStringMap dataset;
+ [PutForwards=cssText, Constant]
+ readonly attribute CSSStyleDeclaration style;
+
+ readonly attribute SVGSVGElement? ownerSVGElement;
+ readonly attribute SVGElement? viewportElement;
+
+ [SetterThrows, Pure]
+ attribute long tabIndex;
+ [Throws] undefined focus();
+ [Throws] undefined blur();
+};
+
+SVGElement includes GlobalEventHandlers;
+SVGElement includes DocumentAndElementEventHandlers;
+SVGElement includes TouchEventHandlers;
+SVGElement includes OnErrorEventHandlerForNodes;
diff --git a/vendor/web-sys/webidls/enabled/SVGEllipseElement.webidl b/vendor/web-sys/webidls/enabled/SVGEllipseElement.webidl
new file mode 100644
index 000000000..cb509f031
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGEllipseElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGEllipseElement : SVGGeometryElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength cx;
+ [Constant]
+ readonly attribute SVGAnimatedLength cy;
+ [Constant]
+ readonly attribute SVGAnimatedLength rx;
+ [Constant]
+ readonly attribute SVGAnimatedLength ry;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGFEBlendElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEBlendElement.webidl
new file mode 100644
index 000000000..412970b44
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEBlendElement.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEBlendElement : SVGElement {
+
+ // Blend Mode Types
+ const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0;
+ const unsigned short SVG_FEBLEND_MODE_NORMAL = 1;
+ const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2;
+ const unsigned short SVG_FEBLEND_MODE_SCREEN = 3;
+ const unsigned short SVG_FEBLEND_MODE_DARKEN = 4;
+ const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5;
+ const unsigned short SVG_FEBLEND_MODE_OVERLAY = 6;
+ const unsigned short SVG_FEBLEND_MODE_COLOR_DODGE = 7;
+ const unsigned short SVG_FEBLEND_MODE_COLOR_BURN = 8;
+ const unsigned short SVG_FEBLEND_MODE_HARD_LIGHT = 9;
+ const unsigned short SVG_FEBLEND_MODE_SOFT_LIGHT = 10;
+ const unsigned short SVG_FEBLEND_MODE_DIFFERENCE = 11;
+ const unsigned short SVG_FEBLEND_MODE_EXCLUSION = 12;
+ const unsigned short SVG_FEBLEND_MODE_HUE = 13;
+ const unsigned short SVG_FEBLEND_MODE_SATURATION = 14;
+ const unsigned short SVG_FEBLEND_MODE_COLOR = 15;
+ const unsigned short SVG_FEBLEND_MODE_LUMINOSITY = 16;
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedString in2;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration mode;
+};
+
+SVGFEBlendElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl
new file mode 100644
index 000000000..05a7b6a79
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEColorMatrixElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEColorMatrixElement : SVGElement {
+
+ // Color Matrix Types
+ const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;
+
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration type;
+ [Constant]
+ readonly attribute SVGAnimatedNumberList values;
+};
+
+SVGFEColorMatrixElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl
new file mode 100644
index 000000000..df8dab5f8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEComponentTransferElement.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEComponentTransferElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+};
+
+SVGFEComponentTransferElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFECompositeElement.webidl b/vendor/web-sys/webidls/enabled/SVGFECompositeElement.webidl
new file mode 100644
index 000000000..dd0b001d1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFECompositeElement.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFECompositeElement : SVGElement {
+
+ // Composite Operators
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;
+
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedString in2;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration operator;
+ [Constant]
+ readonly attribute SVGAnimatedNumber k1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber k2;
+ [Constant]
+ readonly attribute SVGAnimatedNumber k3;
+ [Constant]
+ readonly attribute SVGAnimatedNumber k4;
+};
+
+SVGFECompositeElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl
new file mode 100644
index 000000000..d07c14e2f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEConvolveMatrixElement.webidl
@@ -0,0 +1,47 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEConvolveMatrixElement : SVGElement {
+
+ // Edge Mode Values
+ const unsigned short SVG_EDGEMODE_UNKNOWN = 0;
+ const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
+ const unsigned short SVG_EDGEMODE_WRAP = 2;
+ const unsigned short SVG_EDGEMODE_NONE = 3;
+
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedInteger orderX;
+ [Constant]
+ readonly attribute SVGAnimatedInteger orderY;
+ [Constant]
+ readonly attribute SVGAnimatedNumberList kernelMatrix;
+ [Constant]
+ readonly attribute SVGAnimatedNumber divisor;
+ [Constant]
+ readonly attribute SVGAnimatedNumber bias;
+ [Constant]
+ readonly attribute SVGAnimatedInteger targetX;
+ [Constant]
+ readonly attribute SVGAnimatedInteger targetY;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration edgeMode;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+ [Constant]
+ readonly attribute SVGAnimatedBoolean preserveAlpha;
+};
+
+SVGFEConvolveMatrixElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl
new file mode 100644
index 000000000..e11a07a6f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEDiffuseLightingElement.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEDiffuseLightingElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber surfaceScale;
+ [Constant]
+ readonly attribute SVGAnimatedNumber diffuseConstant;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+};
+
+SVGFEDiffuseLightingElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl
new file mode 100644
index 000000000..1e5dfbf7e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEDisplacementMapElement.webidl
@@ -0,0 +1,34 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEDisplacementMapElement : SVGElement {
+
+ // Channel Selectors
+ const unsigned short SVG_CHANNEL_UNKNOWN = 0;
+ const unsigned short SVG_CHANNEL_R = 1;
+ const unsigned short SVG_CHANNEL_G = 2;
+ const unsigned short SVG_CHANNEL_B = 3;
+ const unsigned short SVG_CHANNEL_A = 4;
+
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedString in2;
+ [Constant]
+ readonly attribute SVGAnimatedNumber scale;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration xChannelSelector;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration yChannelSelector;
+};
+
+SVGFEDisplacementMapElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEDistantLightElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEDistantLightElement.webidl
new file mode 100644
index 000000000..933befc93
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEDistantLightElement.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEDistantLightElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedNumber azimuth;
+ [Constant]
+ readonly attribute SVGAnimatedNumber elevation;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl
new file mode 100644
index 000000000..8e3a03c49
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEDropShadowElement.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEDropShadowElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber dx;
+ [Constant]
+ readonly attribute SVGAnimatedNumber dy;
+ [Constant]
+ readonly attribute SVGAnimatedNumber stdDeviationX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber stdDeviationY;
+
+ undefined setStdDeviation(float stdDeviationX, float stdDeviationY);
+};
+
+SVGFEDropShadowElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEFloodElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEFloodElement.webidl
new file mode 100644
index 000000000..e26800091
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEFloodElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEFloodElement : SVGElement {
+};
+
+SVGFEFloodElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEFuncAElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEFuncAElement.webidl
new file mode 100644
index 000000000..97282cd19
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEFuncAElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEFuncBElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEFuncBElement.webidl
new file mode 100644
index 000000000..8b5c2b925
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEFuncBElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEFuncGElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEFuncGElement.webidl
new file mode 100644
index 000000000..39d2f3059
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEFuncGElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEFuncRElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEFuncRElement.webidl
new file mode 100644
index 000000000..78e492be4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEFuncRElement.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
+ *
+ * Copyright © 2013 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl
new file mode 100644
index 000000000..6f7df45f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEGaussianBlurElement.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEGaussianBlurElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber stdDeviationX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber stdDeviationY;
+
+ undefined setStdDeviation(float stdDeviationX, float stdDeviationY);
+};
+
+SVGFEGaussianBlurElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEImageElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEImageElement.webidl
new file mode 100644
index 000000000..5ef70da3a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEImageElement.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEImageElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+};
+
+SVGFEImageElement includes SVGFilterPrimitiveStandardAttributes;
+SVGFEImageElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEMergeElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEMergeElement.webidl
new file mode 100644
index 000000000..ff1932bb7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEMergeElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEMergeElement : SVGElement {
+};
+
+SVGFEMergeElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEMergeNodeElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEMergeNodeElement.webidl
new file mode 100644
index 000000000..4ff217ba7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEMergeNodeElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEMergeNodeElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl
new file mode 100644
index 000000000..ee28b8a2d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEMorphologyElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEMorphologyElement : SVGElement {
+
+ // Morphology Operators
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1;
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2;
+
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration operator;
+ [Constant]
+ readonly attribute SVGAnimatedNumber radiusX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber radiusY;
+};
+
+SVGFEMorphologyElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEOffsetElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEOffsetElement.webidl
new file mode 100644
index 000000000..f4921cac5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEOffsetElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEOffsetElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber dx;
+ [Constant]
+ readonly attribute SVGAnimatedNumber dy;
+};
+
+SVGFEOffsetElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFEPointLightElement.webidl b/vendor/web-sys/webidls/enabled/SVGFEPointLightElement.webidl
new file mode 100644
index 000000000..232edc45d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFEPointLightElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFEPointLightElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedNumber x;
+ [Constant]
+ readonly attribute SVGAnimatedNumber y;
+ [Constant]
+ readonly attribute SVGAnimatedNumber z;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl b/vendor/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl
new file mode 100644
index 000000000..ca4852686
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFESpecularLightingElement.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFESpecularLightingElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+ [Constant]
+ readonly attribute SVGAnimatedNumber surfaceScale;
+ [Constant]
+ readonly attribute SVGAnimatedNumber specularConstant;
+ [Constant]
+ readonly attribute SVGAnimatedNumber specularExponent;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+};
+
+SVGFESpecularLightingElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFESpotLightElement.webidl b/vendor/web-sys/webidls/enabled/SVGFESpotLightElement.webidl
new file mode 100644
index 000000000..281d20c8c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFESpotLightElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFESpotLightElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedNumber x;
+ [Constant]
+ readonly attribute SVGAnimatedNumber y;
+ [Constant]
+ readonly attribute SVGAnimatedNumber z;
+ [Constant]
+ readonly attribute SVGAnimatedNumber pointsAtX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber pointsAtY;
+ [Constant]
+ readonly attribute SVGAnimatedNumber pointsAtZ;
+ [Constant]
+ readonly attribute SVGAnimatedNumber specularExponent;
+ [Constant]
+ readonly attribute SVGAnimatedNumber limitingConeAngle;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFETileElement.webidl b/vendor/web-sys/webidls/enabled/SVGFETileElement.webidl
new file mode 100644
index 000000000..42f3f8734
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFETileElement.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFETileElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedString in1;
+};
+
+SVGFETileElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl b/vendor/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl
new file mode 100644
index 000000000..f12d8c1b8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFETurbulenceElement.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFETurbulenceElement : SVGElement {
+
+ // Turbulence Types
+ const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
+ const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2;
+
+ // Stitch Options
+ const unsigned short SVG_STITCHTYPE_UNKNOWN = 0;
+ const unsigned short SVG_STITCHTYPE_STITCH = 1;
+ const unsigned short SVG_STITCHTYPE_NOSTITCH = 2;
+
+ [Constant]
+ readonly attribute SVGAnimatedNumber baseFrequencyX;
+ [Constant]
+ readonly attribute SVGAnimatedNumber baseFrequencyY;
+ [Constant]
+ readonly attribute SVGAnimatedInteger numOctaves;
+ [Constant]
+ readonly attribute SVGAnimatedNumber seed;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration stitchTiles;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration type;
+};
+
+SVGFETurbulenceElement includes SVGFilterPrimitiveStandardAttributes;
diff --git a/vendor/web-sys/webidls/enabled/SVGFilterElement.webidl b/vendor/web-sys/webidls/enabled/SVGFilterElement.webidl
new file mode 100644
index 000000000..83d491b3f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFilterElement.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGFilterElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration filterUnits;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration primitiveUnits;
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+
+ // ImageData apply(ImageData source);
+};
+
+SVGFilterElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl b/vendor/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl
new file mode 100644
index 000000000..02fa882d8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFilterPrimitiveStandardAttributes.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGFilterPrimitiveStandardAttributes {
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+ [Constant]
+ readonly attribute SVGAnimatedString result;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGFitToViewBox.webidl b/vendor/web-sys/webidls/enabled/SVGFitToViewBox.webidl
new file mode 100644
index 000000000..650afd15e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGFitToViewBox.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGFitToViewBox {
+ [Constant]
+ readonly attribute SVGAnimatedRect viewBox;
+ [Constant]
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGForeignObjectElement.webidl b/vendor/web-sys/webidls/enabled/SVGForeignObjectElement.webidl
new file mode 100644
index 000000000..6829f4501
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGForeignObjectElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGForeignObjectElement : SVGGraphicsElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGGElement.webidl b/vendor/web-sys/webidls/enabled/SVGGElement.webidl
new file mode 100644
index 000000000..8d690677e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGGElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGGElement : SVGGraphicsElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGGeometryElement.webidl b/vendor/web-sys/webidls/enabled/SVGGeometryElement.webidl
new file mode 100644
index 000000000..28029794c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGGeometryElement.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGGeometryElement : SVGGraphicsElement {
+ [SameObject]
+ readonly attribute SVGAnimatedNumber pathLength;
+
+ float getTotalLength();
+ [NewObject, Throws]
+ SVGPoint getPointAtLength(float distance);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGGradientElement.webidl b/vendor/web-sys/webidls/enabled/SVGGradientElement.webidl
new file mode 100644
index 000000000..d5553a9b8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGGradientElement.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGGradientElement : SVGElement {
+
+ // Spread Method Types
+ const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;
+ const unsigned short SVG_SPREADMETHOD_PAD = 1;
+ const unsigned short SVG_SPREADMETHOD_REFLECT = 2;
+ const unsigned short SVG_SPREADMETHOD_REPEAT = 3;
+
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration gradientUnits;
+ [Constant]
+ readonly attribute SVGAnimatedTransformList gradientTransform;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration spreadMethod;
+};
+
+SVGGradientElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGGraphicsElement.webidl b/vendor/web-sys/webidls/enabled/SVGGraphicsElement.webidl
new file mode 100644
index 000000000..c27d7ed51
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGGraphicsElement.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary SVGBoundingBoxOptions {
+ boolean fill = true;
+ boolean stroke = false;
+ boolean markers = false;
+ boolean clipped = false;
+};
+
+interface SVGGraphicsElement : SVGElement {
+ readonly attribute SVGAnimatedTransformList transform;
+
+ readonly attribute SVGElement? nearestViewportElement;
+ readonly attribute SVGElement? farthestViewportElement;
+
+ [NewObject, Throws]
+ SVGRect getBBox(optional SVGBoundingBoxOptions aOptions);
+ // Not implemented
+ // SVGRect getStrokeBBox();
+ SVGMatrix? getCTM();
+ SVGMatrix? getScreenCTM();
+ [Throws]
+ SVGMatrix getTransformToElement(SVGGraphicsElement element);
+};
+
+SVGGraphicsElement includes SVGTests;
diff --git a/vendor/web-sys/webidls/enabled/SVGImageElement.webidl b/vendor/web-sys/webidls/enabled/SVGImageElement.webidl
new file mode 100644
index 000000000..1d4455707
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGImageElement.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGImageElement : SVGGraphicsElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+ [Constant]
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+};
+
+SVGImageElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGLength.webidl b/vendor/web-sys/webidls/enabled/SVGLength.webidl
new file mode 100644
index 000000000..a834fa3d8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGLength.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGLength {
+
+ // Length Unit Types
+ const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0;
+ const unsigned short SVG_LENGTHTYPE_NUMBER = 1;
+ const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;
+ const unsigned short SVG_LENGTHTYPE_EMS = 3;
+ const unsigned short SVG_LENGTHTYPE_EXS = 4;
+ const unsigned short SVG_LENGTHTYPE_PX = 5;
+ const unsigned short SVG_LENGTHTYPE_CM = 6;
+ const unsigned short SVG_LENGTHTYPE_MM = 7;
+ const unsigned short SVG_LENGTHTYPE_IN = 8;
+ const unsigned short SVG_LENGTHTYPE_PT = 9;
+ const unsigned short SVG_LENGTHTYPE_PC = 10;
+
+ readonly attribute unsigned short unitType;
+ [Throws]
+ attribute float value;
+ [SetterThrows]
+ attribute float valueInSpecifiedUnits;
+ [SetterThrows]
+ attribute DOMString valueAsString;
+
+ [Throws]
+ undefined newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ [Throws]
+ undefined convertToSpecifiedUnits(unsigned short unitType);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGLengthList.webidl b/vendor/web-sys/webidls/enabled/SVGLengthList.webidl
new file mode 100644
index 000000000..54aef2188
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGLengthList.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG11/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGLengthList {
+ readonly attribute unsigned long numberOfItems;
+ [Throws]
+ undefined clear();
+ [Throws]
+ SVGLength initialize(SVGLength newItem);
+ [Throws]
+ getter SVGLength getItem(unsigned long index);
+ [Throws]
+ SVGLength insertItemBefore(SVGLength newItem, unsigned long index);
+ [Throws]
+ SVGLength replaceItem(SVGLength newItem, unsigned long index);
+ [Throws]
+ SVGLength removeItem(unsigned long index);
+ [Throws]
+ SVGLength appendItem(SVGLength newItem);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGLineElement.webidl b/vendor/web-sys/webidls/enabled/SVGLineElement.webidl
new file mode 100644
index 000000000..3ec4ba101
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGLineElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGLineElement : SVGGeometryElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x1;
+ [Constant]
+ readonly attribute SVGAnimatedLength y1;
+ [Constant]
+ readonly attribute SVGAnimatedLength x2;
+ [Constant]
+ readonly attribute SVGAnimatedLength y2;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGLinearGradientElement.webidl b/vendor/web-sys/webidls/enabled/SVGLinearGradientElement.webidl
new file mode 100644
index 000000000..200bc47e6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGLinearGradientElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGLinearGradientElement : SVGGradientElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x1;
+ [Constant]
+ readonly attribute SVGAnimatedLength y1;
+ [Constant]
+ readonly attribute SVGAnimatedLength x2;
+ [Constant]
+ readonly attribute SVGAnimatedLength y2;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGMPathElement.webidl b/vendor/web-sys/webidls/enabled/SVGMPathElement.webidl
new file mode 100644
index 000000000..514c43995
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGMPathElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGMPathElement : SVGElement {
+};
+
+SVGMPathElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGMarkerElement.webidl b/vendor/web-sys/webidls/enabled/SVGMarkerElement.webidl
new file mode 100644
index 000000000..4de25eaf4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGMarkerElement.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGMarkerElement : SVGElement {
+
+ // Marker Unit Types
+ const unsigned short SVG_MARKERUNITS_UNKNOWN = 0;
+ const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;
+ const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2;
+
+ // Marker Orientation Types
+ const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0;
+ const unsigned short SVG_MARKER_ORIENT_AUTO = 1;
+ const unsigned short SVG_MARKER_ORIENT_ANGLE = 2;
+
+ [Constant]
+ readonly attribute SVGAnimatedLength refX;
+ [Constant]
+ readonly attribute SVGAnimatedLength refY;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration markerUnits;
+ [Constant]
+ readonly attribute SVGAnimatedLength markerWidth;
+ [Constant]
+ readonly attribute SVGAnimatedLength markerHeight;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration orientType;
+ [Constant]
+ readonly attribute SVGAnimatedAngle orientAngle;
+
+ undefined setOrientToAuto();
+ [Throws]
+ undefined setOrientToAngle(SVGAngle angle);
+};
+
+SVGMarkerElement includes SVGFitToViewBox;
diff --git a/vendor/web-sys/webidls/enabled/SVGMaskElement.webidl b/vendor/web-sys/webidls/enabled/SVGMaskElement.webidl
new file mode 100644
index 000000000..ad5096b69
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGMaskElement.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGMaskElement : SVGElement {
+
+ // Mask Types
+ const unsigned short SVG_MASKTYPE_LUMINANCE = 0;
+ const unsigned short SVG_MASKTYPE_ALPHA = 1;
+
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration maskUnits;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration maskContentUnits;
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGMatrix.webidl b/vendor/web-sys/webidls/enabled/SVGMatrix.webidl
new file mode 100644
index 000000000..3ede75cc7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGMatrix.webidl
@@ -0,0 +1,51 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGMatrix {
+
+ [SetterThrows]
+ attribute float a;
+ [SetterThrows]
+ attribute float b;
+ [SetterThrows]
+ attribute float c;
+ [SetterThrows]
+ attribute float d;
+ [SetterThrows]
+ attribute float e;
+ [SetterThrows]
+ attribute float f;
+
+ [NewObject]
+ SVGMatrix multiply(SVGMatrix secondMatrix);
+ [NewObject, Throws]
+ SVGMatrix inverse();
+ [NewObject]
+ SVGMatrix translate(float x, float y);
+ [NewObject]
+ SVGMatrix scale(float scaleFactor);
+ [NewObject]
+ SVGMatrix scaleNonUniform(float scaleFactorX, float scaleFactorY);
+ [NewObject]
+ SVGMatrix rotate(float angle);
+ [NewObject, Throws]
+ SVGMatrix rotateFromVector(float x, float y);
+ [NewObject]
+ SVGMatrix flipX();
+ [NewObject]
+ SVGMatrix flipY();
+ [NewObject, Throws]
+ SVGMatrix skewX(float angle);
+ [NewObject, Throws]
+ SVGMatrix skewY(float angle);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGMetadataElement.webidl b/vendor/web-sys/webidls/enabled/SVGMetadataElement.webidl
new file mode 100644
index 000000000..1c404f91f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGMetadataElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGMetadataElement : SVGElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGNumber.webidl b/vendor/web-sys/webidls/enabled/SVGNumber.webidl
new file mode 100644
index 000000000..8e1bb58c1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGNumber.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGNumber {
+ [SetterThrows]
+ attribute float value;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGNumberList.webidl b/vendor/web-sys/webidls/enabled/SVGNumberList.webidl
new file mode 100644
index 000000000..4b67dba1f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGNumberList.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG11/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGNumberList {
+ readonly attribute unsigned long numberOfItems;
+ [Throws]
+ undefined clear();
+ [Throws]
+ SVGNumber initialize(SVGNumber newItem);
+ [Throws]
+ getter SVGNumber getItem(unsigned long index);
+ [Throws]
+ SVGNumber insertItemBefore(SVGNumber newItem, unsigned long index);
+ [Throws]
+ SVGNumber replaceItem(SVGNumber newItem, unsigned long index);
+ [Throws]
+ SVGNumber removeItem(unsigned long index);
+ [Throws]
+ SVGNumber appendItem(SVGNumber newItem);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGPathElement.webidl b/vendor/web-sys/webidls/enabled/SVGPathElement.webidl
new file mode 100644
index 000000000..d5479c4ba
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPathElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+interface SVGPathElement : SVGGeometryElement {
+
+ unsigned long getPathSegAtLength(float distance);
+};
+
+SVGPathElement includes SVGAnimatedPathData;
diff --git a/vendor/web-sys/webidls/enabled/SVGPathSeg.webidl b/vendor/web-sys/webidls/enabled/SVGPathSeg.webidl
new file mode 100644
index 000000000..5895a8c96
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPathSeg.webidl
@@ -0,0 +1,235 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[NoInterfaceObject]
+interface SVGPathSeg {
+
+ // Path Segment Types
+ const unsigned short PATHSEG_UNKNOWN = 0;
+ const unsigned short PATHSEG_CLOSEPATH = 1;
+ const unsigned short PATHSEG_MOVETO_ABS = 2;
+ const unsigned short PATHSEG_MOVETO_REL = 3;
+ const unsigned short PATHSEG_LINETO_ABS = 4;
+ const unsigned short PATHSEG_LINETO_REL = 5;
+ const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;
+ const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;
+ const unsigned short PATHSEG_ARC_ABS = 10;
+ const unsigned short PATHSEG_ARC_REL = 11;
+ const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;
+ const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;
+ const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;
+ const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;
+ const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
+ const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
+
+ [Pure]
+ readonly attribute unsigned short pathSegType;
+ [Pure]
+ readonly attribute DOMString pathSegTypeAsLetter;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegClosePath : SVGPathSeg {
+};
+
+[NoInterfaceObject]
+interface SVGPathSegMovetoAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegMovetoRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x1;
+ [SetterThrows]
+ attribute float y1;
+ [SetterThrows]
+ attribute float x2;
+ [SetterThrows]
+ attribute float y2;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x1;
+ [SetterThrows]
+ attribute float y1;
+ [SetterThrows]
+ attribute float x2;
+ [SetterThrows]
+ attribute float y2;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x1;
+ [SetterThrows]
+ attribute float y1;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x1;
+ [SetterThrows]
+ attribute float y1;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegArcAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float r1;
+ [SetterThrows]
+ attribute float r2;
+ [SetterThrows]
+ attribute float angle;
+ [SetterThrows]
+ attribute boolean largeArcFlag;
+ [SetterThrows]
+ attribute boolean sweepFlag;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegArcRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float r1;
+ [SetterThrows]
+ attribute float r2;
+ [SetterThrows]
+ attribute float angle;
+ [SetterThrows]
+ attribute boolean largeArcFlag;
+ [SetterThrows]
+ attribute boolean sweepFlag;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x2;
+ [SetterThrows]
+ attribute float y2;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float x2;
+ [SetterThrows]
+ attribute float y2;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
+[NoInterfaceObject]
+interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGPathSegList.webidl b/vendor/web-sys/webidls/enabled/SVGPathSegList.webidl
new file mode 100644
index 000000000..ad7c51d0d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPathSegList.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG11/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPathSegList {
+ readonly attribute unsigned long numberOfItems;
+ [Throws]
+ getter SVGPathSeg getItem(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGPatternElement.webidl b/vendor/web-sys/webidls/enabled/SVGPatternElement.webidl
new file mode 100644
index 000000000..0bde1d93f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPatternElement.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/pservers.html#InterfaceSVGPatternElement
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPatternElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration patternUnits;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration patternContentUnits;
+ [Constant]
+ readonly attribute SVGAnimatedTransformList patternTransform;
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+};
+
+SVGPatternElement includes SVGFitToViewBox;
+SVGPatternElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGPoint.webidl b/vendor/web-sys/webidls/enabled/SVGPoint.webidl
new file mode 100644
index 000000000..c8113d40b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPoint.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPoint {
+
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+
+ [NewObject]
+ SVGPoint matrixTransform(SVGMatrix matrix);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGPointList.webidl b/vendor/web-sys/webidls/enabled/SVGPointList.webidl
new file mode 100644
index 000000000..dfa1724c8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPointList.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG11/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPointList {
+ readonly attribute unsigned long numberOfItems;
+ [Throws]
+ undefined clear();
+ [Throws]
+ SVGPoint initialize(SVGPoint newItem);
+ [Throws]
+ getter SVGPoint getItem(unsigned long index);
+ [Throws]
+ SVGPoint insertItemBefore(SVGPoint newItem, unsigned long index);
+ [Throws]
+ SVGPoint replaceItem(SVGPoint newItem, unsigned long index);
+ [Throws]
+ SVGPoint removeItem(unsigned long index);
+ [Throws]
+ SVGPoint appendItem(SVGPoint newItem);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGPolygonElement.webidl b/vendor/web-sys/webidls/enabled/SVGPolygonElement.webidl
new file mode 100644
index 000000000..6da0edfc4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPolygonElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPolygonElement : SVGGeometryElement {
+};
+
+SVGPolygonElement includes SVGAnimatedPoints;
diff --git a/vendor/web-sys/webidls/enabled/SVGPolylineElement.webidl b/vendor/web-sys/webidls/enabled/SVGPolylineElement.webidl
new file mode 100644
index 000000000..44e442a89
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPolylineElement.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPolylineElement : SVGGeometryElement {
+};
+
+SVGPolylineElement includes SVGAnimatedPoints;
diff --git a/vendor/web-sys/webidls/enabled/SVGPreserveAspectRatio.webidl b/vendor/web-sys/webidls/enabled/SVGPreserveAspectRatio.webidl
new file mode 100644
index 000000000..2a9db63f5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGPreserveAspectRatio.webidl
@@ -0,0 +1,38 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGPreserveAspectRatio {
+
+ // Alignment Types
+ const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;
+ const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
+
+ // Meet-or-slice Types
+ const unsigned short SVG_MEETORSLICE_UNKNOWN = 0;
+ const unsigned short SVG_MEETORSLICE_MEET = 1;
+ const unsigned short SVG_MEETORSLICE_SLICE = 2;
+
+ [SetterThrows]
+ attribute unsigned short align;
+ [SetterThrows]
+ attribute unsigned short meetOrSlice;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGRadialGradientElement.webidl b/vendor/web-sys/webidls/enabled/SVGRadialGradientElement.webidl
new file mode 100644
index 000000000..8d7ce9016
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGRadialGradientElement.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGRadialGradientElement : SVGGradientElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength cx;
+ [Constant]
+ readonly attribute SVGAnimatedLength cy;
+ [Constant]
+ readonly attribute SVGAnimatedLength r;
+ [Constant]
+ readonly attribute SVGAnimatedLength fx;
+ [Constant]
+ readonly attribute SVGAnimatedLength fy;
+ // XXX: Bug 1242048
+ // [SameObject]
+ readonly attribute SVGAnimatedLength fr;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGRect.webidl b/vendor/web-sys/webidls/enabled/SVGRect.webidl
new file mode 100644
index 000000000..0edda0640
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGRect.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGRect {
+ [SetterThrows]
+ attribute float x;
+ [SetterThrows]
+ attribute float y;
+ [SetterThrows]
+ attribute float width;
+ [SetterThrows]
+ attribute float height;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGRectElement.webidl b/vendor/web-sys/webidls/enabled/SVGRectElement.webidl
new file mode 100644
index 000000000..9dddd83bb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGRectElement.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGRectElement : SVGGeometryElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+ [Constant]
+ readonly attribute SVGAnimatedLength rx;
+ [Constant]
+ readonly attribute SVGAnimatedLength ry;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGSVGElement.webidl b/vendor/web-sys/webidls/enabled/SVGSVGElement.webidl
new file mode 100644
index 000000000..3a8ecc52c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGSVGElement.webidl
@@ -0,0 +1,72 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// invalid widl
+// interface SVGViewSpec;
+
+interface SVGSVGElement : SVGGraphicsElement {
+
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+ // readonly attribute SVGRect viewport;
+ readonly attribute boolean useCurrentView;
+ // readonly attribute SVGViewSpec currentView;
+ [UseCounter]
+ attribute float currentScale;
+ readonly attribute SVGPoint currentTranslate;
+
+ [DependsOn=Nothing, Affects=Nothing]
+ unsigned long suspendRedraw(unsigned long maxWaitMilliseconds);
+ [DependsOn=Nothing, Affects=Nothing]
+ undefined unsuspendRedraw(unsigned long suspendHandleID);
+ [DependsOn=Nothing, Affects=Nothing]
+ undefined unsuspendRedrawAll();
+ [DependsOn=Nothing, Affects=Nothing]
+ undefined forceRedraw();
+ undefined pauseAnimations();
+ undefined unpauseAnimations();
+ boolean animationsPaused();
+ float getCurrentTime();
+ undefined setCurrentTime(float seconds);
+ // NodeList getIntersectionList(SVGRect rect, SVGElement referenceElement);
+ // NodeList getEnclosureList(SVGRect rect, SVGElement referenceElement);
+ // boolean checkIntersection(SVGElement element, SVGRect rect);
+ // boolean checkEnclosure(SVGElement element, SVGRect rect);
+ undefined deselectAll();
+ [NewObject]
+ SVGNumber createSVGNumber();
+ [NewObject]
+ SVGLength createSVGLength();
+ [NewObject]
+ SVGAngle createSVGAngle();
+ [NewObject]
+ SVGPoint createSVGPoint();
+ [NewObject]
+ SVGMatrix createSVGMatrix();
+ [NewObject]
+ SVGRect createSVGRect();
+ [NewObject]
+ SVGTransform createSVGTransform();
+ [NewObject]
+ SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
+ [UseCounter]
+ Element? getElementById(DOMString elementId);
+};
+
+SVGSVGElement includes SVGFitToViewBox;
+SVGSVGElement includes SVGZoomAndPanValues;
diff --git a/vendor/web-sys/webidls/enabled/SVGScriptElement.webidl b/vendor/web-sys/webidls/enabled/SVGScriptElement.webidl
new file mode 100644
index 000000000..0cd000960
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGScriptElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGScriptElement : SVGElement {
+ [SetterThrows]
+ attribute DOMString type;
+
+ // CORS attribute
+ [SetterThrows]
+ attribute DOMString? crossOrigin;
+};
+
+SVGScriptElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGSetElement.webidl b/vendor/web-sys/webidls/enabled/SVGSetElement.webidl
new file mode 100644
index 000000000..8b816fa75
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGSetElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGSetElement : SVGAnimationElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGStopElement.webidl b/vendor/web-sys/webidls/enabled/SVGStopElement.webidl
new file mode 100644
index 000000000..d75e52b73
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGStopElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGStopElement : SVGElement {
+ [Constant]
+ readonly attribute SVGAnimatedNumber offset;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGStringList.webidl b/vendor/web-sys/webidls/enabled/SVGStringList.webidl
new file mode 100644
index 000000000..169401fc2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGStringList.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGStringList {
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ undefined clear();
+ [Throws]
+ DOMString initialize(DOMString newItem);
+ [Throws]
+ DOMString getItem(unsigned long index);
+ getter DOMString(unsigned long index);
+ [Throws]
+ DOMString insertItemBefore(DOMString newItem, unsigned long index);
+ [Throws]
+ DOMString replaceItem(DOMString newItem, unsigned long index);
+ [Throws]
+ DOMString removeItem(unsigned long index);
+ [Throws]
+ DOMString appendItem(DOMString newItem);
+ //setter undefined (unsigned long index, DOMString newItem);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGStyleElement.webidl b/vendor/web-sys/webidls/enabled/SVGStyleElement.webidl
new file mode 100644
index 000000000..2f74506b2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGStyleElement.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGStyleElement : SVGElement {
+ [SetterThrows]
+ attribute DOMString xmlspace; // Spec claims this should be on SVGElement
+ [SetterThrows]
+ attribute DOMString type;
+ [SetterThrows]
+ attribute DOMString media;
+ [SetterThrows]
+ attribute DOMString title;
+};
+SVGStyleElement includes LinkStyle;
diff --git a/vendor/web-sys/webidls/enabled/SVGSwitchElement.webidl b/vendor/web-sys/webidls/enabled/SVGSwitchElement.webidl
new file mode 100644
index 000000000..43cdb6861
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGSwitchElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGSwitchElement : SVGGraphicsElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGSymbolElement.webidl b/vendor/web-sys/webidls/enabled/SVGSymbolElement.webidl
new file mode 100644
index 000000000..6cd35429c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGSymbolElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSymbolElement
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGSymbolElement : SVGElement {
+};
+
+SVGSymbolElement includes SVGFitToViewBox;
+SVGSymbolElement includes SVGTests;
diff --git a/vendor/web-sys/webidls/enabled/SVGTSpanElement.webidl b/vendor/web-sys/webidls/enabled/SVGTSpanElement.webidl
new file mode 100644
index 000000000..a6d944450
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTSpanElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTSpanElement : SVGTextPositioningElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTests.webidl b/vendor/web-sys/webidls/enabled/SVGTests.webidl
new file mode 100644
index 000000000..c74dc5efb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTests.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGTests {
+
+ readonly attribute SVGStringList requiredFeatures;
+ readonly attribute SVGStringList requiredExtensions;
+ readonly attribute SVGStringList systemLanguage;
+
+ boolean hasExtension(DOMString extension);
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGTextContentElement.webidl b/vendor/web-sys/webidls/enabled/SVGTextContentElement.webidl
new file mode 100644
index 000000000..2c8ab0af9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTextContentElement.webidl
@@ -0,0 +1,42 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTextContentElement : SVGGraphicsElement {
+
+ // lengthAdjust Types
+ const unsigned short LENGTHADJUST_UNKNOWN = 0;
+ const unsigned short LENGTHADJUST_SPACING = 1;
+ const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;
+
+ [Constant]
+ readonly attribute SVGAnimatedLength textLength;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration lengthAdjust;
+
+ long getNumberOfChars();
+ float getComputedTextLength();
+ [Throws]
+ float getSubStringLength(unsigned long charnum, unsigned long nchars);
+ [Throws]
+ SVGPoint getStartPositionOfChar(unsigned long charnum);
+ [Throws]
+ SVGPoint getEndPositionOfChar(unsigned long charnum);
+ [NewObject, Throws]
+ SVGRect getExtentOfChar(unsigned long charnum);
+ [Throws]
+ float getRotationOfChar(unsigned long charnum);
+ long getCharNumAtPosition(SVGPoint point);
+ [Throws]
+ undefined selectSubString(unsigned long charnum, unsigned long nchars);
+};
+
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTextElement.webidl b/vendor/web-sys/webidls/enabled/SVGTextElement.webidl
new file mode 100644
index 000000000..042326de2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTextElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTextElement : SVGTextPositioningElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTextPathElement.webidl b/vendor/web-sys/webidls/enabled/SVGTextPathElement.webidl
new file mode 100644
index 000000000..d20e50e1a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTextPathElement.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTextPathElement : SVGTextContentElement {
+
+ // textPath Method Types
+ const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0;
+ const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1;
+ const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2;
+
+ // textPath Spacing Types
+ const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0;
+ const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1;
+ const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2;
+
+ [Constant]
+ readonly attribute SVGAnimatedLength startOffset;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration method;
+ [Constant]
+ readonly attribute SVGAnimatedEnumeration spacing;
+};
+
+SVGTextPathElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGTextPositioningElement.webidl b/vendor/web-sys/webidls/enabled/SVGTextPositioningElement.webidl
new file mode 100644
index 000000000..80b8b94fa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTextPositioningElement.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTextPositioningElement : SVGTextContentElement {
+ [Constant]
+ readonly attribute SVGAnimatedLengthList x;
+ [Constant]
+ readonly attribute SVGAnimatedLengthList y;
+ [Constant]
+ readonly attribute SVGAnimatedLengthList dx;
+ [Constant]
+ readonly attribute SVGAnimatedLengthList dy;
+ [Constant]
+ readonly attribute SVGAnimatedNumberList rotate;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTitleElement.webidl b/vendor/web-sys/webidls/enabled/SVGTitleElement.webidl
new file mode 100644
index 000000000..d40c63373
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTitleElement.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTitleElement : SVGElement {
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTransform.webidl b/vendor/web-sys/webidls/enabled/SVGTransform.webidl
new file mode 100644
index 000000000..7a0aea465
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTransform.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTransform {
+
+ // Transform Types
+ const unsigned short SVG_TRANSFORM_UNKNOWN = 0;
+ const unsigned short SVG_TRANSFORM_MATRIX = 1;
+ const unsigned short SVG_TRANSFORM_TRANSLATE = 2;
+ const unsigned short SVG_TRANSFORM_SCALE = 3;
+ const unsigned short SVG_TRANSFORM_ROTATE = 4;
+ const unsigned short SVG_TRANSFORM_SKEWX = 5;
+ const unsigned short SVG_TRANSFORM_SKEWY = 6;
+
+ readonly attribute unsigned short type;
+ readonly attribute SVGMatrix matrix;
+ readonly attribute float angle;
+
+ [Throws]
+ undefined setMatrix(SVGMatrix matrix);
+ [Throws]
+ undefined setTranslate(float tx, float ty);
+ [Throws]
+ undefined setScale(float sx, float sy);
+ [Throws]
+ undefined setRotate(float angle, float cx, float cy);
+ [Throws]
+ undefined setSkewX(float angle);
+ [Throws]
+ undefined setSkewY(float angle);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGTransformList.webidl b/vendor/web-sys/webidls/enabled/SVGTransformList.webidl
new file mode 100644
index 000000000..587eaed65
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGTransformList.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG11/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGTransformList {
+ readonly attribute unsigned long numberOfItems;
+ [Throws]
+ undefined clear();
+ [Throws]
+ SVGTransform initialize(SVGTransform newItem);
+ [Throws]
+ getter SVGTransform getItem(unsigned long index);
+ [Throws]
+ SVGTransform insertItemBefore(SVGTransform newItem, unsigned long index);
+ [Throws]
+ SVGTransform replaceItem(SVGTransform newItem, unsigned long index);
+ [Throws]
+ SVGTransform removeItem(unsigned long index);
+ [Throws]
+ SVGTransform appendItem(SVGTransform newItem);
+ SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
+ [Throws]
+ SVGTransform? consolidate();
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGURIReference.webidl b/vendor/web-sys/webidls/enabled/SVGURIReference.webidl
new file mode 100644
index 000000000..12d216a02
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGURIReference.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGURIReference {
+ [Constant]
+ readonly attribute SVGAnimatedString href;
+};
diff --git a/vendor/web-sys/webidls/enabled/SVGUnitTypes.webidl b/vendor/web-sys/webidls/enabled/SVGUnitTypes.webidl
new file mode 100644
index 000000000..d02e7019b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGUnitTypes.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://svgwg.org/svg2-draft/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGUnitTypes {
+ // Unit Types
+ const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1;
+ const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SVGUseElement.webidl b/vendor/web-sys/webidls/enabled/SVGUseElement.webidl
new file mode 100644
index 000000000..0443ee6a2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGUseElement.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGUseElement : SVGGraphicsElement {
+ [Constant]
+ readonly attribute SVGAnimatedLength x;
+ [Constant]
+ readonly attribute SVGAnimatedLength y;
+ [Constant]
+ readonly attribute SVGAnimatedLength width;
+ [Constant]
+ readonly attribute SVGAnimatedLength height;
+ //readonly attribute SVGElementInstance instanceRoot;
+ //readonly attribute SVGElementInstance animatedInstanceRoot;
+};
+
+SVGUseElement includes SVGURIReference;
diff --git a/vendor/web-sys/webidls/enabled/SVGViewElement.webidl b/vendor/web-sys/webidls/enabled/SVGViewElement.webidl
new file mode 100644
index 000000000..e3c1128fd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGViewElement.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGViewElement : SVGElement {
+};
+
+SVGViewElement includes SVGFitToViewBox;
+SVGViewElement includes SVGZoomAndPanValues;
diff --git a/vendor/web-sys/webidls/enabled/SVGZoomAndPan.webidl b/vendor/web-sys/webidls/enabled/SVGZoomAndPan.webidl
new file mode 100644
index 000000000..115e7e76b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGZoomAndPan.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface SVGZoomAndPan {
+};
+
+SVGZoomAndPan includes SVGZoomAndPanValues;
diff --git a/vendor/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl b/vendor/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl
new file mode 100644
index 000000000..9f1e14b6a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SVGZoomAndPanValues.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/SVG2/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface mixin SVGZoomAndPanValues {
+
+ // Zoom and Pan Types
+ const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;
+ const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;
+ const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2;
+
+ [SetterThrows]
+ attribute unsigned short zoomAndPan;
+};
diff --git a/vendor/web-sys/webidls/enabled/Screen.webidl b/vendor/web-sys/webidls/enabled/Screen.webidl
new file mode 100644
index 000000000..e5a5ac899
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Screen.webidl
@@ -0,0 +1,59 @@
+/* -*- 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/. */
+
+interface Screen : EventTarget {
+ // CSSOM-View
+ // http://dev.w3.org/csswg/cssom-view/#the-screen-interface
+ [Throws]
+ readonly attribute long availWidth;
+ [Throws]
+ readonly attribute long availHeight;
+ [Throws]
+ readonly attribute long width;
+ [Throws]
+ readonly attribute long height;
+ [Throws]
+ readonly attribute long colorDepth;
+ [Throws]
+ readonly attribute long pixelDepth;
+
+ [Throws]
+ readonly attribute long top;
+ [Throws]
+ readonly attribute long left;
+ [Throws]
+ readonly attribute long availTop;
+ [Throws]
+ readonly attribute long availLeft;
+};
+
+// https://w3c.github.io/screen-orientation
+partial interface Screen {
+ readonly attribute ScreenOrientation orientation;
+};
+
+// https://wicg.github.io/media-capabilities/#idl-index
+enum ScreenColorGamut {
+ "srgb",
+ "p3",
+ "rec2020",
+};
+
+[Func="mozilla::dom::MediaCapabilities::Enabled"]
+interface ScreenLuminance {
+ readonly attribute double min;
+ readonly attribute double max;
+ readonly attribute double maxAverage;
+};
+
+partial interface Screen {
+ [Func="mozilla::dom::MediaCapabilities::Enabled"]
+ readonly attribute ScreenColorGamut colorGamut;
+ [Func="mozilla::dom::MediaCapabilities::Enabled"]
+ readonly attribute ScreenLuminance? luminance;
+
+ [Func="mozilla::dom::MediaCapabilities::Enabled"]
+ attribute EventHandler onchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/ScreenOrientation.webidl b/vendor/web-sys/webidls/enabled/ScreenOrientation.webidl
new file mode 100644
index 000000000..37ab6fa63
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ScreenOrientation.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/screen-orientation
+ *
+ * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights
+ * Reserved. W3C liability, trademark and document use rules apply.
+ */
+
+enum OrientationType {
+ "portrait-primary",
+ "portrait-secondary",
+ "landscape-primary",
+ "landscape-secondary"
+};
+
+enum OrientationLockType {
+ "any",
+ "natural",
+ "landscape",
+ "portrait",
+ "portrait-primary",
+ "portrait-secondary",
+ "landscape-primary",
+ "landscape-secondary"
+};
+
+interface ScreenOrientation : EventTarget {
+ [Throws]
+ Promise<undefined> lock(OrientationLockType orientation);
+ [Throws]
+ undefined unlock();
+ [Throws, NeedsCallerType]
+ readonly attribute OrientationType type;
+ [Throws, NeedsCallerType]
+ readonly attribute unsigned short angle;
+ attribute EventHandler onchange;
+};
diff --git a/vendor/web-sys/webidls/enabled/ScriptProcessorNode.webidl b/vendor/web-sys/webidls/enabled/ScriptProcessorNode.webidl
new file mode 100644
index 000000000..81642af33
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ScriptProcessorNode.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.webaudio.enabled"]
+interface ScriptProcessorNode : AudioNode {
+
+ attribute EventHandler onaudioprocess;
+
+ readonly attribute long bufferSize;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/ScrollAreaEvent.webidl b/vendor/web-sys/webidls/enabled/ScrollAreaEvent.webidl
new file mode 100644
index 000000000..11f2cc9a5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ScrollAreaEvent.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ */
+
+interface ScrollAreaEvent : UIEvent
+{
+ readonly attribute float x;
+ readonly attribute float y;
+ readonly attribute float width;
+ readonly attribute float height;
+
+ undefined initScrollAreaEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Window? view = null,
+ optional long detail = 0,
+ optional float x = 0,
+ optional float y = 0,
+ optional float width = 0,
+ optional float height = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/ScrollBoxObject.webidl b/vendor/web-sys/webidls/enabled/ScrollBoxObject.webidl
new file mode 100644
index 000000000..4f9e31f49
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ScrollBoxObject.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ */
+
+[NoInterfaceObject]
+interface ScrollBoxObject : BoxObject {
+
+ /**
+ * Scroll to the given coordinates, in css pixels.
+ * (0,0) will put the top left corner of the scrolled element's padding-box
+ * at the top left corner of the scrollport (which is its inner-border-box).
+ * Values will be clamped to legal values.
+ */
+ [Throws]
+ undefined scrollTo(long x, long y);
+
+ /**
+ * Scroll the given amount of device pixels to the right and down.
+ * Values will be clamped to make the resuling position legal.
+ */
+ [Throws]
+ undefined scrollBy(long dx, long dy);
+ [Throws]
+ undefined scrollByIndex(long dindexes);
+ [Throws]
+ undefined scrollToElement(Element child);
+
+ /**
+ * Get the current scroll position in css pixels.
+ * @see scrollTo for the definition of x and y.
+ */
+ [Pure, Throws]
+ readonly attribute long positionX;
+ [Pure, Throws]
+ readonly attribute long positionY;
+ [Pure, Throws]
+ readonly attribute long scrolledWidth;
+ [Pure, Throws]
+ readonly attribute long scrolledHeight;
+
+ [Throws]
+ undefined ensureElementIsVisible(Element child);
+};
diff --git a/vendor/web-sys/webidls/enabled/ScrollViewChangeEvent.webidl b/vendor/web-sys/webidls/enabled/ScrollViewChangeEvent.webidl
new file mode 100644
index 000000000..a3e92139a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ScrollViewChangeEvent.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+
+enum ScrollState {"started", "stopped"};
+
+dictionary ScrollViewChangeEventInit : EventInit {
+ ScrollState state = "started";
+};
+
+[Constructor(DOMString type, optional ScrollViewChangeEventInit eventInit),
+ ChromeOnly]
+interface ScrollViewChangeEvent : Event {
+ readonly attribute ScrollState state;
+};
diff --git a/vendor/web-sys/webidls/enabled/SecurityPolicyViolationEvent.webidl b/vendor/web-sys/webidls/enabled/SecurityPolicyViolationEvent.webidl
new file mode 100644
index 000000000..59755ca97
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SecurityPolicyViolationEvent.webidl
@@ -0,0 +1,42 @@
+/* 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/. */
+
+enum SecurityPolicyViolationEventDisposition
+{
+ "enforce", "report"
+};
+
+[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict),
+ Pref="security.csp.enable_violation_events"]
+interface SecurityPolicyViolationEvent : Event
+{
+ readonly attribute DOMString documentURI;
+ readonly attribute DOMString referrer;
+ readonly attribute DOMString blockedURI;
+ readonly attribute DOMString violatedDirective;
+ readonly attribute DOMString effectiveDirective;
+ readonly attribute DOMString originalPolicy;
+ readonly attribute DOMString sourceFile;
+ readonly attribute DOMString sample;
+ readonly attribute SecurityPolicyViolationEventDisposition disposition;
+ readonly attribute unsigned short statusCode;
+ readonly attribute long lineNumber;
+ readonly attribute long columnNumber;
+};
+
+dictionary SecurityPolicyViolationEventInit : EventInit
+{
+ DOMString documentURI = "";
+ DOMString referrer = "";
+ DOMString blockedURI = "";
+ DOMString violatedDirective = "";
+ DOMString effectiveDirective = "";
+ DOMString originalPolicy = "";
+ DOMString sourceFile = "";
+ DOMString sample = "";
+ SecurityPolicyViolationEventDisposition disposition = "report";
+ unsigned short statusCode = 0;
+ long lineNumber = 0;
+ long columnNumber = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/Selection.webidl b/vendor/web-sys/webidls/enabled/Selection.webidl
new file mode 100644
index 000000000..fea5a6102
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Selection.webidl
@@ -0,0 +1,155 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/selection-api/#selection-interface
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface Selection {
+ readonly attribute Node? anchorNode;
+ readonly attribute unsigned long anchorOffset;
+ readonly attribute Node? focusNode;
+ readonly attribute unsigned long focusOffset;
+ readonly attribute boolean isCollapsed;
+ /**
+ * Returns the number of ranges in the selection.
+ */
+ readonly attribute unsigned long rangeCount;
+ readonly attribute DOMString type;
+ /**
+ * Returns the range at the specified index. Throws if the index is
+ * out of range.
+ */
+ [Throws]
+ Range getRangeAt(unsigned long index);
+ /**
+ * Adds a range to the current selection.
+ */
+ [Throws, BinaryName="addRangeJS"]
+ undefined addRange(Range range);
+ /**
+ * Removes a range from the current selection.
+ */
+ [Throws]
+ undefined removeRange(Range range);
+ /**
+ * Removes all ranges from the current selection.
+ */
+ [Throws]
+ undefined removeAllRanges();
+ [Throws, BinaryName="RemoveAllRanges"]
+ undefined empty();
+ [Throws, BinaryName="collapseJS"]
+ undefined collapse(Node? node, optional unsigned long offset = 0);
+ [Throws, BinaryName="collapseJS"]
+ undefined setPosition(Node? node, optional unsigned long offset = 0);
+ [Throws, BinaryName="collapseToStartJS"]
+ undefined collapseToStart();
+ [Throws, BinaryName="collapseToEndJS"]
+ undefined collapseToEnd();
+ [Throws, BinaryName="extendJS"]
+ undefined extend(Node node, optional unsigned long offset = 0);
+ [Throws, BinaryName="setBaseAndExtentJS"]
+ undefined setBaseAndExtent(Node anchorNode,
+ unsigned long anchorOffset,
+ Node focusNode,
+ unsigned long focusOffset);
+ [Throws, BinaryName="selectAllChildrenJS"]
+ undefined selectAllChildren(Node node);
+ [CEReactions, Throws]
+ undefined deleteFromDocument();
+ [Throws]
+ boolean containsNode(Node node,
+ optional boolean allowPartialContainment = false);
+ stringifier DOMString ();
+};
+
+// Additional methods not currently in the spec
+partial interface Selection {
+ [Throws]
+ undefined modify(DOMString alter, DOMString direction,
+ DOMString granularity);
+};
+
+// Additional chrome-only methods.
+// invalid widl
+//interface nsISelectionListener;
+partial interface Selection {
+ /**
+ * A true value means "selection after newline"; false means "selection before
+ * newline" when a selection is positioned "between lines".
+ */
+ [ChromeOnly,Throws]
+ attribute boolean interlinePosition;
+
+ [Throws]
+ attribute short? caretBidiLevel;
+
+ [ChromeOnly,Throws]
+ DOMString toStringWithFormat(DOMString formatType, unsigned long flags, long wrapColumn);
+ [ChromeOnly]
+ undefined addSelectionListener(nsISelectionListener newListener);
+ [ChromeOnly]
+ undefined removeSelectionListener(nsISelectionListener listenerToRemove);
+
+ [ChromeOnly,BinaryName="rawType"]
+ readonly attribute short selectionType;
+
+ /**
+ * Return array of ranges intersecting with the given DOM interval.
+ */
+ [ChromeOnly,Throws,Pref="dom.testing.selection.GetRangesForInterval"]
+ sequence<Range> GetRangesForInterval(Node beginNode, long beginOffset, Node endNode, long endOffset,
+ boolean allowAdjacent);
+
+ /**
+ * Scrolls a region of the selection, so that it is visible in
+ * the scrolled view.
+ *
+ * @param aRegion the region inside the selection to scroll into view
+ * (see selection region constants defined in
+ * nsISelectionController).
+ * @param aIsSynchronous when true, scrolls the selection into view
+ * before returning. If false, posts a request which
+ * is processed at some point after the method returns.
+ * @param aVPercent how to align the frame vertically.
+ * @param aHPercent how to align the frame horizontally.
+ */
+ [ChromeOnly,Throws]
+ undefined scrollIntoView(short aRegion, boolean aIsSynchronous, short aVPercent, short aHPercent);
+
+ /**
+ * setColors() sets custom colors for the selection.
+ * Currently, this is supported only when the selection type is SELECTION_FIND.
+ * Otherwise, throws an exception.
+ *
+ * @param aForegroundColor The foreground color of the selection.
+ * If this is "currentColor", foreground color
+ * isn't changed by this selection.
+ * @param aBackgroundColor The background color of the selection.
+ * If this is "transparent", background color is
+ * never painted.
+ * @param aAltForegroundColor The alternative foreground color of the
+ * selection.
+ * If aBackgroundColor doesn't have sufficient
+ * contrast with its around or foreground color
+ * if "currentColor" is specified, alternative
+ * colors are used if it have higher contrast.
+ * @param aAltBackgroundColor The alternative background color of the
+ * selection.
+ */
+ [ChromeOnly,Throws]
+ undefined setColors(DOMString aForegroundColor, DOMString aBackgroundColor,
+ DOMString aAltForegroundColor, DOMString aAltBackgroundColor);
+
+ /**
+ * resetColors() forget the customized colors which were set by setColors().
+ */
+ [ChromeOnly,Throws]
+ undefined resetColors();
+};
diff --git a/vendor/web-sys/webidls/enabled/ServiceWorker.webidl b/vendor/web-sys/webidls/enabled/ServiceWorker.webidl
new file mode 100644
index 000000000..35d5e1d4c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ServiceWorker.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#service-worker-obj
+ *
+ */
+
+// Still unclear what should be subclassed.
+// https://github.com/slightlyoff/ServiceWorker/issues/189
+[Func="ServiceWorkerVisible",
+ // FIXME(nsm): Bug 1113522. This is exposed to satisfy webidl constraints, but it won't actually work.
+ Exposed=(Window,Worker)]
+interface ServiceWorker : EventTarget {
+ readonly attribute USVString scriptURL;
+ readonly attribute ServiceWorkerState state;
+
+ attribute EventHandler onstatechange;
+
+ [Throws]
+ undefined postMessage(any message, optional sequence<object> transferable = []);
+};
+
+ServiceWorker includes AbstractWorker;
+
+enum ServiceWorkerState {
+ // https://github.com/w3c/ServiceWorker/issues/1162
+ "parsed",
+
+ "installing",
+ "installed",
+ "activating",
+ "activated",
+ "redundant"
+};
diff --git a/vendor/web-sys/webidls/enabled/ServiceWorkerContainer.webidl b/vendor/web-sys/webidls/enabled/ServiceWorkerContainer.webidl
new file mode 100644
index 000000000..3d0bc34f2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ServiceWorkerContainer.webidl
@@ -0,0 +1,46 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ *
+ */
+
+[Func="ServiceWorkerContainer::IsEnabled",
+ Exposed=Window]
+interface ServiceWorkerContainer : EventTarget {
+ // FIXME(nsm):
+ // https://github.com/slightlyoff/ServiceWorker/issues/198
+ // and discussion at https://etherpad.mozilla.org/serviceworker07apr
+ [Unforgeable] readonly attribute ServiceWorker? controller;
+
+ [Throws]
+ readonly attribute Promise<ServiceWorkerRegistration> ready;
+
+ [NewObject]
+ Promise<ServiceWorkerRegistration> register(USVString scriptURL,
+ optional RegistrationOptions options);
+
+ [NewObject]
+ Promise<any> getRegistration(optional USVString documentURL = "");
+
+ [NewObject]
+ Promise<sequence<ServiceWorkerRegistration>> getRegistrations();
+
+ attribute EventHandler oncontrollerchange;
+ attribute EventHandler onerror;
+ attribute EventHandler onmessage;
+};
+
+// Testing only.
+partial interface ServiceWorkerContainer {
+ [Throws,Pref="dom.serviceWorkers.testing.enabled"]
+ DOMString getScopeForUrl(DOMString url);
+};
+
+dictionary RegistrationOptions {
+ USVString scope;
+ ServiceWorkerUpdateViaCache updateViaCache = "imports";
+};
diff --git a/vendor/web-sys/webidls/enabled/ServiceWorkerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/ServiceWorkerGlobalScope.webidl
new file mode 100644
index 000000000..8e577cf78
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ServiceWorkerGlobalScope.webidl
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ * http://w3c.github.io/push-api/
+ * https://notifications.spec.whatwg.org/
+ *
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Global=(Worker,ServiceWorker),
+ Exposed=ServiceWorker]
+interface ServiceWorkerGlobalScope : WorkerGlobalScope {
+ [SameObject, BinaryName="GetClients"]
+ readonly attribute Clients clients;
+ [SameObject] readonly attribute ServiceWorkerRegistration registration;
+
+ [Throws, NewObject]
+ Promise<undefined> skipWaiting();
+
+ attribute EventHandler oninstall;
+ attribute EventHandler onactivate;
+
+ attribute EventHandler onfetch;
+
+ // The event.source of these MessageEvents are instances of Client
+ attribute EventHandler onmessage;
+};
+
+// These are from w3c.github.io/push-api/
+partial interface ServiceWorkerGlobalScope {
+ attribute EventHandler onpush;
+ attribute EventHandler onpushsubscriptionchange;
+};
+
+// https://notifications.spec.whatwg.org/
+partial interface ServiceWorkerGlobalScope {
+ attribute EventHandler onnotificationclick;
+ attribute EventHandler onnotificationclose;
+};
diff --git a/vendor/web-sys/webidls/enabled/ServiceWorkerRegistration.webidl b/vendor/web-sys/webidls/enabled/ServiceWorkerRegistration.webidl
new file mode 100644
index 000000000..130c89a29
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ServiceWorkerRegistration.webidl
@@ -0,0 +1,51 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
+ * https://w3c.github.io/push-api/
+ * https://notifications.spec.whatwg.org/
+ */
+
+[Func="mozilla::dom::DOMPrefs::ServiceWorkersEnabled",
+ Exposed=(Window,Worker)]
+interface ServiceWorkerRegistration : EventTarget {
+ [Unforgeable] readonly attribute ServiceWorker? installing;
+ [Unforgeable] readonly attribute ServiceWorker? waiting;
+ [Unforgeable] readonly attribute ServiceWorker? active;
+
+ readonly attribute USVString scope;
+ [Throws]
+ readonly attribute ServiceWorkerUpdateViaCache updateViaCache;
+
+ [Throws, NewObject]
+ Promise<undefined> update();
+
+ [Throws, NewObject]
+ Promise<boolean> unregister();
+
+ // event
+ attribute EventHandler onupdatefound;
+};
+
+enum ServiceWorkerUpdateViaCache {
+ "imports",
+ "all",
+ "none"
+};
+
+// https://w3c.github.io/push-api/
+partial interface ServiceWorkerRegistration {
+ [Throws, Exposed=(Window,Worker), Func="mozilla::dom::DOMPrefs::PushEnabled"]
+ readonly attribute PushManager pushManager;
+};
+
+// https://notifications.spec.whatwg.org/
+partial interface ServiceWorkerRegistration {
+ [Throws, Func="mozilla::dom::DOMPrefs::NotificationEnabledInServiceWorkers"]
+ Promise<undefined> showNotification(DOMString title, optional NotificationOptions options);
+ [Throws, Func="mozilla::dom::DOMPrefs::NotificationEnabledInServiceWorkers"]
+ Promise<sequence<Notification>> getNotifications(optional GetNotificationOptions filter);
+};
diff --git a/vendor/web-sys/webidls/enabled/ShadowRoot.webidl b/vendor/web-sys/webidls/enabled/ShadowRoot.webidl
new file mode 100644
index 000000000..839f8d178
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ShadowRoot.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// https://dom.spec.whatwg.org/#enumdef-shadowrootmode
+enum ShadowRootMode {
+ "open",
+ "closed"
+};
+
+// https://dom.spec.whatwg.org/#shadowroot
+[Func="nsDocument::IsShadowDOMEnabled"]
+interface ShadowRoot : DocumentFragment
+{
+ // Shadow DOM v1
+ readonly attribute ShadowRootMode mode;
+ readonly attribute Element host;
+
+ // [deprecated] Shadow DOM v0
+ Element? getElementById(DOMString elementId);
+ HTMLCollection getElementsByTagName(DOMString localName);
+ HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
+ HTMLCollection getElementsByClassName(DOMString classNames);
+ [CEReactions, SetterThrows, TreatNullAs=EmptyString]
+ attribute DOMString innerHTML;
+};
+
+ShadowRoot includes DocumentOrShadowRoot;
diff --git a/vendor/web-sys/webidls/enabled/SharedWorker.webidl b/vendor/web-sys/webidls/enabled/SharedWorker.webidl
new file mode 100644
index 000000000..62d4dd514
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SharedWorker.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ */
+
+[Constructor(USVString scriptURL, optional (DOMString or WorkerOptions) options)]
+interface SharedWorker : EventTarget {
+ readonly attribute MessagePort port;
+};
+
+SharedWorker includes AbstractWorker;
diff --git a/vendor/web-sys/webidls/enabled/SharedWorkerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/SharedWorkerGlobalScope.webidl
new file mode 100644
index 000000000..c0ff63217
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SharedWorkerGlobalScope.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#the-workerglobalscope-common-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
+ * Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Global=(Worker,SharedWorker),
+ Exposed=SharedWorker]
+interface SharedWorkerGlobalScope : WorkerGlobalScope {
+ [Replaceable]
+ readonly attribute DOMString name;
+
+ undefined close();
+
+ attribute EventHandler onconnect;
+};
diff --git a/vendor/web-sys/webidls/enabled/SocketCommon.webidl b/vendor/web-sys/webidls/enabled/SocketCommon.webidl
new file mode 100644
index 000000000..044199ea2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SocketCommon.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/2012/sysapps/tcp-udp-sockets/#readystate
+ */
+
+enum SocketReadyState {
+ "opening",
+ "open",
+ "closing",
+ "closed",
+ "halfclosed"
+};
diff --git a/vendor/web-sys/webidls/enabled/SourceBuffer.webidl b/vendor/web-sys/webidls/enabled/SourceBuffer.webidl
new file mode 100644
index 000000000..4cc00a764
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SourceBuffer.webidl
@@ -0,0 +1,63 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum SourceBufferAppendMode {
+ "segments",
+ "sequence"
+};
+
+[Func="mozilla::dom::MediaSource::Enabled"]
+interface SourceBuffer : EventTarget {
+ [SetterThrows]
+ attribute SourceBufferAppendMode mode;
+ readonly attribute boolean updating;
+ [Throws]
+ readonly attribute TimeRanges buffered;
+ [SetterThrows]
+ attribute double timestampOffset;
+ readonly attribute AudioTrackList audioTracks;
+ readonly attribute VideoTrackList videoTracks;
+ readonly attribute TextTrackList textTracks;
+ [SetterThrows]
+ attribute double appendWindowStart;
+ [SetterThrows]
+ attribute unrestricted double appendWindowEnd;
+ attribute EventHandler onupdatestart;
+ attribute EventHandler onupdate;
+ attribute EventHandler onupdateend;
+ attribute EventHandler onerror;
+ attribute EventHandler onabort;
+ [Throws]
+ undefined appendBuffer(ArrayBuffer data);
+ [Throws]
+ undefined appendBuffer(ArrayBufferView data);
+ // Experimental function as proposed in:
+ // https://github.com/w3c/media-source/issues/100 for promise proposal.
+ [Throws, Func="mozilla::dom::MediaSource::ExperimentalEnabled"]
+ Promise<undefined> appendBufferAsync(ArrayBuffer data);
+ [Throws, Func="mozilla::dom::MediaSource::ExperimentalEnabled"]
+ Promise<undefined> appendBufferAsync(ArrayBufferView data);
+ //[Throws]
+ //undefined appendStream(Stream stream, [EnforceRange] optional unsigned long long maxSize);
+ [Throws]
+ undefined abort();
+ [Throws]
+ undefined remove(double start, unrestricted double end);
+ // Experimental function as proposed in:
+ // https://github.com/w3c/media-source/issues/100 for promise proposal.
+ [Throws, Func="mozilla::dom::MediaSource::ExperimentalEnabled"]
+ Promise<undefined> removeAsync(double start, unrestricted double end);
+ // Experimental function as proposed in:
+ // https://github.com/w3c/media-source/issues/155
+ [Throws, Func="mozilla::dom::MediaSource::ExperimentalEnabled"]
+ undefined changeType(DOMString type);
+};
diff --git a/vendor/web-sys/webidls/enabled/SourceBufferList.webidl b/vendor/web-sys/webidls/enabled/SourceBufferList.webidl
new file mode 100644
index 000000000..15c302622
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SourceBufferList.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="mozilla::dom::MediaSource::Enabled"]
+interface SourceBufferList : EventTarget {
+ readonly attribute unsigned long length;
+ attribute EventHandler onaddsourcebuffer;
+ attribute EventHandler onremovesourcebuffer;
+ getter SourceBuffer (unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechGrammar.webidl b/vendor/web-sys/webidls/enabled/SpeechGrammar.webidl
new file mode 100644
index 000000000..8cc97d2ff
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechGrammar.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor,
+ Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechGrammar {
+ [Throws]
+ attribute DOMString src;
+ [Throws]
+ attribute float weight;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/SpeechGrammarList.webidl b/vendor/web-sys/webidls/enabled/SpeechGrammarList.webidl
new file mode 100644
index 000000000..653e7b2c0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechGrammarList.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor, Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechGrammarList {
+ readonly attribute unsigned long length;
+ [Throws]
+ getter SpeechGrammar item(unsigned long index);
+ [Throws]
+ undefined addFromURI(DOMString src, optional float weight);
+ [Throws]
+ undefined addFromString(DOMString string, optional float weight);
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognition.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognition.webidl
new file mode 100644
index 000000000..62e845a1a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognition.webidl
@@ -0,0 +1,45 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor,
+ Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechRecognition : EventTarget {
+ // recognition parameters
+ attribute SpeechGrammarList grammars;
+ attribute DOMString lang;
+ [Throws]
+ attribute boolean continuous;
+ attribute boolean interimResults;
+ attribute unsigned long maxAlternatives;
+ [Throws]
+ attribute DOMString serviceURI;
+
+ // methods to drive the speech interaction
+ [Throws, NeedsCallerType]
+ undefined start(optional MediaStream stream);
+ undefined stop();
+ undefined abort();
+
+ // event methods
+ attribute EventHandler onaudiostart;
+ attribute EventHandler onsoundstart;
+ attribute EventHandler onspeechstart;
+ attribute EventHandler onspeechend;
+ attribute EventHandler onsoundend;
+ attribute EventHandler onaudioend;
+ attribute EventHandler onresult;
+ attribute EventHandler onnomatch;
+ attribute EventHandler onerror;
+ attribute EventHandler onstart;
+ attribute EventHandler onend;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognitionAlternative.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognitionAlternative.webidl
new file mode 100644
index 000000000..f2692404d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognitionAlternative.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechRecognitionAlternative {
+ readonly attribute DOMString transcript;
+ readonly attribute float confidence;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognitionError.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognitionError.webidl
new file mode 100644
index 000000000..ddc74e88d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognitionError.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+enum SpeechRecognitionErrorCode {
+ "no-speech",
+ "aborted",
+ "audio-capture",
+ "network",
+ "not-allowed",
+ "service-not-allowed",
+ "bad-grammar",
+ "language-not-supported"
+};
+
+[Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized",
+ Constructor(DOMString type, optional SpeechRecognitionErrorInit eventInitDict)]
+interface SpeechRecognitionError : Event
+{
+ readonly attribute SpeechRecognitionErrorCode error;
+ readonly attribute DOMString? message;
+};
+
+dictionary SpeechRecognitionErrorInit : EventInit
+{
+ SpeechRecognitionErrorCode error = "no-speech";
+ DOMString message = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognitionEvent.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognitionEvent.webidl
new file mode 100644
index 000000000..50c354113
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognitionEvent.webidl
@@ -0,0 +1,26 @@
+/* -*- 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;
+
+[Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized",
+ Constructor(DOMString type, optional SpeechRecognitionEventInit eventInitDict)]
+interface SpeechRecognitionEvent : Event
+{
+ readonly attribute unsigned long resultIndex;
+ readonly attribute SpeechRecognitionResultList? results;
+ readonly attribute any interpretation;
+ readonly attribute Document? emma;
+};
+
+dictionary SpeechRecognitionEventInit : EventInit
+{
+ unsigned long resultIndex = 0;
+ SpeechRecognitionResultList? results = null;
+ any interpretation = null;
+ Document? emma = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognitionResult.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognitionResult.webidl
new file mode 100644
index 000000000..c66bb9ca2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognitionResult.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechRecognitionResult {
+ readonly attribute unsigned long length;
+ getter SpeechRecognitionAlternative item(unsigned long index);
+ readonly attribute boolean isFinal;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechRecognitionResultList.webidl b/vendor/web-sys/webidls/enabled/SpeechRecognitionResultList.webidl
new file mode 100644
index 000000000..ec182c1de
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechRecognitionResultList.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.recognition.enable",
+ Func="SpeechRecognition::IsAuthorized"]
+interface SpeechRecognitionResultList {
+ readonly attribute unsigned long length;
+ getter SpeechRecognitionResult item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechSynthesis.webidl b/vendor/web-sys/webidls/enabled/SpeechSynthesis.webidl
new file mode 100644
index 000000000..0a33c6a96
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechSynthesis.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.synth.enabled"]
+interface SpeechSynthesis : EventTarget{
+ readonly attribute boolean pending;
+ readonly attribute boolean speaking;
+ readonly attribute boolean paused;
+
+ undefined speak(SpeechSynthesisUtterance utterance);
+ undefined cancel();
+ undefined pause();
+ undefined resume();
+ sequence<SpeechSynthesisVoice> getVoices();
+
+ attribute EventHandler onvoiceschanged;
+
+ [ChromeOnly]
+ // Force an utterance to end. Circumvents bad speech service implementations.
+ undefined forceEnd();
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechSynthesisErrorEvent.webidl b/vendor/web-sys/webidls/enabled/SpeechSynthesisErrorEvent.webidl
new file mode 100644
index 000000000..1388755d3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechSynthesisErrorEvent.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum SpeechSynthesisErrorCode {
+ "canceled",
+ "interrupted",
+ "audio-busy",
+ "audio-hardware",
+ "network",
+ "synthesis-unavailable",
+ "synthesis-failed",
+ "language-unavailable",
+ "voice-unavailable",
+ "text-too-long",
+ "invalid-argument",
+};
+
+[Constructor(DOMString type, SpeechSynthesisErrorEventInit eventInitDict),
+ Pref="media.webspeech.synth.enabled"]
+interface SpeechSynthesisErrorEvent : SpeechSynthesisEvent {
+ readonly attribute SpeechSynthesisErrorCode error;
+};
+
+dictionary SpeechSynthesisErrorEventInit : SpeechSynthesisEventInit
+{
+ required SpeechSynthesisErrorCode error;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechSynthesisEvent.webidl b/vendor/web-sys/webidls/enabled/SpeechSynthesisEvent.webidl
new file mode 100644
index 000000000..310ad6867
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechSynthesisEvent.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, SpeechSynthesisEventInit eventInitDict),
+ Pref="media.webspeech.synth.enabled"]
+interface SpeechSynthesisEvent : Event
+{
+ readonly attribute SpeechSynthesisUtterance utterance;
+ readonly attribute unsigned long charIndex;
+ readonly attribute unsigned long? charLength;
+ readonly attribute float elapsedTime;
+ readonly attribute DOMString? name;
+};
+
+dictionary SpeechSynthesisEventInit : EventInit
+{
+ required SpeechSynthesisUtterance utterance;
+ unsigned long charIndex = 0;
+ unsigned long? charLength = null;
+ float elapsedTime = 0;
+ DOMString name = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechSynthesisUtterance.webidl b/vendor/web-sys/webidls/enabled/SpeechSynthesisUtterance.webidl
new file mode 100644
index 000000000..14f6e9fde
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechSynthesisUtterance.webidl
@@ -0,0 +1,34 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.synth.enabled",
+ Constructor,
+ Constructor(DOMString text)]
+interface SpeechSynthesisUtterance : EventTarget {
+ attribute DOMString text;
+ attribute DOMString lang;
+ attribute SpeechSynthesisVoice? voice;
+ attribute float volume;
+ attribute float rate;
+ attribute float pitch;
+
+ attribute EventHandler onstart;
+ attribute EventHandler onend;
+ attribute EventHandler onerror;
+ attribute EventHandler onpause;
+ attribute EventHandler onresume;
+ attribute EventHandler onmark;
+ attribute EventHandler onboundary;
+
+ [ChromeOnly]
+ readonly attribute DOMString chosenVoiceURI;
+};
diff --git a/vendor/web-sys/webidls/enabled/SpeechSynthesisVoice.webidl b/vendor/web-sys/webidls/enabled/SpeechSynthesisVoice.webidl
new file mode 100644
index 000000000..39ea6964d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SpeechSynthesisVoice.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Pref="media.webspeech.synth.enabled"]
+interface SpeechSynthesisVoice {
+ readonly attribute DOMString voiceURI;
+ readonly attribute DOMString name;
+ readonly attribute DOMString lang;
+ readonly attribute boolean localService;
+ readonly attribute boolean default;
+};
diff --git a/vendor/web-sys/webidls/enabled/StereoPannerNode.webidl b/vendor/web-sys/webidls/enabled/StereoPannerNode.webidl
new file mode 100644
index 000000000..98947b74f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StereoPannerNode.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary StereoPannerOptions : AudioNodeOptions {
+ float pan = 0;
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional StereoPannerOptions options)]
+interface StereoPannerNode : AudioNode {
+ readonly attribute AudioParam pan;
+};
diff --git a/vendor/web-sys/webidls/enabled/Storage.webidl b/vendor/web-sys/webidls/enabled/Storage.webidl
new file mode 100644
index 000000000..1c0046caf
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Storage.webidl
@@ -0,0 +1,35 @@
+/* -*- 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/.
+*
+* The origin of this IDL file is
+* http://www.whatwg.org/html/#the-storage-interface
+*
+* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+* Opera Software ASA. You are granted a license to use, reproduce
+* and create derivative works of this document.
+*/
+
+interface Storage {
+ [Throws, NeedsSubjectPrincipal]
+ readonly attribute unsigned long length;
+
+ [Throws, NeedsSubjectPrincipal]
+ DOMString? key(unsigned long index);
+
+ [Throws, NeedsSubjectPrincipal]
+ getter DOMString? getItem(DOMString key);
+
+ [Throws, NeedsSubjectPrincipal]
+ setter undefined setItem(DOMString key, DOMString value);
+
+ [Throws, NeedsSubjectPrincipal]
+ deleter undefined removeItem(DOMString key);
+
+ [Throws, NeedsSubjectPrincipal]
+ undefined clear();
+
+ [ChromeOnly]
+ readonly attribute boolean isSessionOnly;
+};
diff --git a/vendor/web-sys/webidls/enabled/StorageEvent.webidl b/vendor/web-sys/webidls/enabled/StorageEvent.webidl
new file mode 100644
index 000000000..a6ef8c38e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StorageEvent.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * Interface for a client side storage. See
+ * http://dev.w3.org/html5/webstorage/#the-storage-event
+ * for more information.
+ *
+ * Event sent to a window when a storage area changes.
+ */
+
+[Constructor(DOMString type, optional StorageEventInit eventInitDict)]
+interface StorageEvent : Event
+{
+ readonly attribute DOMString? key;
+ readonly attribute DOMString? oldValue;
+ readonly attribute DOMString? newValue;
+ readonly attribute DOMString? url;
+ readonly attribute Storage? storageArea;
+
+ // Bug 1016053 - This is not spec compliant.
+ undefined initStorageEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional DOMString? key = null,
+ optional DOMString? oldValue = null,
+ optional DOMString? newValue = null,
+ optional DOMString? url = null,
+ optional Storage? storageArea = null);
+};
+
+dictionary StorageEventInit : EventInit
+{
+ DOMString? key = null;
+ DOMString? oldValue = null;
+ DOMString? newValue = null;
+ DOMString url = "";
+ Storage? storageArea = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/StorageManager.webidl b/vendor/web-sys/webidls/enabled/StorageManager.webidl
new file mode 100644
index 000000000..5b4715857
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StorageManager.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://storage.spec.whatwg.org/#storagemanager
+ *
+ */
+
+[SecureContext,
+ Exposed=(Window,Worker),
+ Func="mozilla::dom::DOMPrefs::StorageManagerEnabled"]
+interface StorageManager {
+ [Throws]
+ Promise<boolean> persisted();
+
+ [Exposed=Window, Throws]
+ Promise<boolean> persist();
+
+ [Throws]
+ Promise<StorageEstimate> estimate();
+};
+
+dictionary StorageEstimate {
+ unsigned long long usage;
+ unsigned long long quota;
+};
diff --git a/vendor/web-sys/webidls/enabled/StorageType.webidl b/vendor/web-sys/webidls/enabled/StorageType.webidl
new file mode 100644
index 000000000..cb0702d2a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StorageType.webidl
@@ -0,0 +1,7 @@
+/* -*- 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/.
+ */
+
+enum StorageType { "persistent", "temporary", "default" };
diff --git a/vendor/web-sys/webidls/enabled/Streams.webidl b/vendor/web-sys/webidls/enabled/Streams.webidl
new file mode 100644
index 000000000..bf57ef4ff
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Streams.webidl
@@ -0,0 +1,232 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+
+/* Copyright © WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative
+ * Commons Attribution 4.0 International License. To the extent portions of it are incorporated into
+ * source code, such portions in the source code are licensed under the BSD 3-Clause License
+ * instead.
+ *
+ * The origin of this IDL file is
+ * https://streams.spec.whatwg.org/#idl-index
+ * `[Throws]` attribute for each method was determined by manually checking if the method can throw
+ * an exception according to the spec.
+ * To avoid API breakage, `[Throws]` attributes are omitted from `ReadableStream` methods.
+ */
+
+[Exposed=*, Transferable]
+interface ReadableStream {
+ constructor(optional object underlyingSource, optional QueuingStrategy strategy = {});
+
+ readonly attribute boolean locked;
+
+ Promise<undefined> cancel(optional any reason);
+ ReadableStreamReader getReader(optional ReadableStreamGetReaderOptions options = {});
+ ReadableStream pipeThrough(ReadableWritablePair transform, optional StreamPipeOptions options = {});
+ Promise<undefined> pipeTo(WritableStream destination, optional StreamPipeOptions options = {});
+ sequence<ReadableStream> tee();
+
+ async iterable<any>(optional ReadableStreamIteratorOptions options = {});
+};
+
+typedef (ReadableStreamDefaultReader or ReadableStreamBYOBReader) ReadableStreamReader;
+
+enum ReadableStreamReaderMode { "byob" };
+
+dictionary ReadableStreamGetReaderOptions {
+ ReadableStreamReaderMode mode;
+};
+
+dictionary ReadableStreamIteratorOptions {
+ boolean preventCancel = false;
+};
+
+dictionary ReadableWritablePair {
+ required ReadableStream readable;
+ required WritableStream writable;
+};
+
+dictionary StreamPipeOptions {
+ boolean preventClose = false;
+ boolean preventAbort = false;
+ boolean preventCancel = false;
+ AbortSignal signal;
+};
+
+dictionary UnderlyingSource {
+ UnderlyingSourceStartCallback start;
+ UnderlyingSourcePullCallback pull;
+ UnderlyingSourceCancelCallback cancel;
+ ReadableStreamType type;
+ [EnforceRange] unsigned long long autoAllocateChunkSize;
+};
+
+typedef (ReadableStreamDefaultController or ReadableByteStreamController) ReadableStreamController;
+
+callback UnderlyingSourceStartCallback = any (ReadableStreamController controller);
+callback UnderlyingSourcePullCallback = Promise<undefined> (ReadableStreamController controller);
+callback UnderlyingSourceCancelCallback = Promise<undefined> (optional any reason);
+
+enum ReadableStreamType { "bytes" };
+
+interface mixin ReadableStreamGenericReader {
+ readonly attribute Promise<undefined> closed;
+
+ Promise<undefined> cancel(optional any reason);
+};
+
+[Exposed=*]
+interface ReadableStreamDefaultReader {
+ [Throws] constructor(ReadableStream stream);
+
+ Promise<ReadableStreamReadResult> read();
+ undefined releaseLock();
+};
+ReadableStreamDefaultReader includes ReadableStreamGenericReader;
+
+dictionary ReadableStreamReadResult {
+ any value;
+ boolean done;
+};
+
+[Exposed=*]
+interface ReadableStreamBYOBReader {
+ [Throws] constructor(ReadableStream stream);
+
+ Promise<ReadableStreamReadResult> read(ArrayBufferView view);
+ undefined releaseLock();
+};
+ReadableStreamBYOBReader includes ReadableStreamGenericReader;
+
+[Exposed=*]
+interface ReadableStreamDefaultController {
+ readonly attribute unrestricted double? desiredSize;
+
+ [Throws] undefined close();
+ [Throws] undefined enqueue(optional any chunk);
+ undefined error(optional any e);
+};
+
+[Exposed=*]
+interface ReadableByteStreamController {
+ readonly attribute ReadableStreamBYOBRequest? byobRequest;
+ readonly attribute unrestricted double? desiredSize;
+
+ [Throws] undefined close();
+ [Throws] undefined enqueue(ArrayBufferView chunk);
+ undefined error(optional any e);
+};
+
+[Exposed=*]
+interface ReadableStreamBYOBRequest {
+ readonly attribute ArrayBufferView? view;
+
+ [Throws] undefined respond([EnforceRange] unsigned long long bytesWritten);
+ [Throws] undefined respondWithNewView(ArrayBufferView view);
+};
+
+[Exposed=*, Transferable]
+interface WritableStream {
+ [Throws] constructor(optional object underlyingSink, optional QueuingStrategy strategy = {});
+
+ readonly attribute boolean locked;
+
+ Promise<undefined> abort(optional any reason);
+ Promise<undefined> close();
+ [Throws] WritableStreamDefaultWriter getWriter();
+};
+
+dictionary UnderlyingSink {
+ UnderlyingSinkStartCallback start;
+ UnderlyingSinkWriteCallback write;
+ UnderlyingSinkCloseCallback close;
+ UnderlyingSinkAbortCallback abort;
+ any type;
+};
+
+callback UnderlyingSinkStartCallback = any (WritableStreamDefaultController controller);
+callback UnderlyingSinkWriteCallback = Promise<undefined> (any chunk, WritableStreamDefaultController controller);
+callback UnderlyingSinkCloseCallback = Promise<undefined> ();
+callback UnderlyingSinkAbortCallback = Promise<undefined> (optional any reason);
+
+[Exposed=*]
+interface WritableStreamDefaultWriter {
+ [Throws] constructor(WritableStream stream);
+
+ readonly attribute Promise<undefined> closed;
+ [Throws] readonly attribute unrestricted double? desiredSize;
+ readonly attribute Promise<undefined> ready;
+
+ Promise<undefined> abort(optional any reason);
+ Promise<undefined> close();
+ undefined releaseLock();
+ Promise<undefined> write(optional any chunk);
+};
+
+[Exposed=*]
+interface WritableStreamDefaultController {
+ readonly attribute AbortSignal signal;
+ undefined error(optional any e);
+};
+
+[Exposed=*, Transferable]
+interface TransformStream {
+ [Throws]
+ constructor(optional object transformer,
+ optional QueuingStrategy writableStrategy = {},
+ optional QueuingStrategy readableStrategy = {});
+
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
+};
+
+dictionary Transformer {
+ TransformerStartCallback start;
+ TransformerTransformCallback transform;
+ TransformerFlushCallback flush;
+ any readableType;
+ any writableType;
+};
+
+callback TransformerStartCallback = any (TransformStreamDefaultController controller);
+callback TransformerFlushCallback = Promise<undefined> (TransformStreamDefaultController controller);
+callback TransformerTransformCallback = Promise<undefined> (any chunk, TransformStreamDefaultController controller);
+
+[Exposed=*]
+interface TransformStreamDefaultController {
+ readonly attribute unrestricted double? desiredSize;
+
+ [Throws] undefined enqueue(optional any chunk);
+ undefined error(optional any reason);
+ undefined terminate();
+};
+
+dictionary QueuingStrategy {
+ unrestricted double highWaterMark;
+ QueuingStrategySize size;
+};
+
+callback QueuingStrategySize = unrestricted double (any chunk);
+
+dictionary QueuingStrategyInit {
+ required unrestricted double highWaterMark;
+};
+
+[Exposed=*]
+interface ByteLengthQueuingStrategy {
+ constructor(QueuingStrategyInit init);
+
+ readonly attribute unrestricted double highWaterMark;
+ readonly attribute Function size;
+};
+
+[Exposed=*]
+interface CountQueuingStrategy {
+ constructor(QueuingStrategyInit init);
+
+ readonly attribute unrestricted double highWaterMark;
+ readonly attribute Function size;
+};
+
+interface mixin GenericTransformStream {
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
+};
diff --git a/vendor/web-sys/webidls/enabled/StyleRuleChangeEvent.webidl b/vendor/web-sys/webidls/enabled/StyleRuleChangeEvent.webidl
new file mode 100644
index 000000000..ef35bae64
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StyleRuleChangeEvent.webidl
@@ -0,0 +1,17 @@
+/* -*- 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/.
+ */
+[ChromeOnly, Constructor(DOMString type, optional StyleRuleChangeEventInit eventInitDict)]
+interface StyleRuleChangeEvent : Event
+{
+ readonly attribute CSSStyleSheet? stylesheet;
+ readonly attribute CSSRule? rule;
+};
+
+dictionary StyleRuleChangeEventInit : EventInit
+{
+ CSSStyleSheet? stylesheet = null;
+ CSSRule? rule = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/StyleSheet.webidl b/vendor/web-sys/webidls/enabled/StyleSheet.webidl
new file mode 100644
index 000000000..049f3d9d0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StyleSheet.webidl
@@ -0,0 +1,48 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/csswg/cssom/
+ */
+
+interface StyleSheet {
+ [Constant]
+ readonly attribute DOMString type;
+ [Constant, Throws]
+ readonly attribute DOMString? href;
+ // Spec says "Node", but it can go null when the node gets a new
+ // sheet. That's also why it's not [Constant]
+ [Pure]
+ readonly attribute Node? ownerNode;
+ [Pure]
+ readonly attribute StyleSheet? parentStyleSheet;
+ [Pure]
+ readonly attribute DOMString? title;
+ [Constant, PutForwards=mediaText]
+ readonly attribute MediaList media;
+ [Pure]
+ attribute boolean disabled;
+ // The source map URL for this style sheet. The source map URL can
+ // be found in one of two ways.
+ //
+ // If a SourceMap or X-SourceMap response header is seen, this is
+ // the value. If both are seen, SourceMap is preferred. Because
+ // this relies on the HTTP response, it can change if checked before
+ // the response is available -- which is why it is not [Constant].
+ //
+ // If the style sheet has the special "# sourceMappingURL=" comment,
+ // then this is the URL specified there.
+ //
+ // If the source map URL is not found by either of these methods,
+ // then this is an empty string.
+ [ChromeOnly, Pure]
+ readonly attribute DOMString sourceMapURL;
+ // The source URL for this style sheet. If the style sheet has the
+ // special "# sourceURL=" comment, then this is the URL specified
+ // there. If no such comment is found, then this is the empty
+ // string.
+ [ChromeOnly, Pure]
+ readonly attribute DOMString sourceURL;
+};
diff --git a/vendor/web-sys/webidls/enabled/StyleSheetApplicableStateChangeEvent.webidl b/vendor/web-sys/webidls/enabled/StyleSheetApplicableStateChangeEvent.webidl
new file mode 100644
index 000000000..cb196569f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StyleSheetApplicableStateChangeEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ */
+
+[ChromeOnly, Constructor(DOMString type, optional StyleSheetApplicableStateChangeEventInit eventInitDict)]
+interface StyleSheetApplicableStateChangeEvent : Event
+{
+ readonly attribute CSSStyleSheet? stylesheet;
+ readonly attribute boolean applicable;
+};
+
+dictionary StyleSheetApplicableStateChangeEventInit : EventInit
+{
+ CSSStyleSheet? stylesheet = null;
+ boolean applicable = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/StyleSheetChangeEvent.webidl b/vendor/web-sys/webidls/enabled/StyleSheetChangeEvent.webidl
new file mode 100644
index 000000000..9d04f67cc
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StyleSheetChangeEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ */
+
+[ChromeOnly, Constructor(DOMString type, optional StyleSheetChangeEventInit eventInitDict)]
+interface StyleSheetChangeEvent : Event
+{
+ readonly attribute CSSStyleSheet? stylesheet;
+ readonly attribute boolean documentSheet;
+};
+
+dictionary StyleSheetChangeEventInit : EventInit
+{
+ CSSStyleSheet? stylesheet = null;
+ boolean documentSheet = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/StyleSheetList.webidl b/vendor/web-sys/webidls/enabled/StyleSheetList.webidl
new file mode 100644
index 000000000..e6091ac29
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/StyleSheetList.webidl
@@ -0,0 +1,8 @@
+/* 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/. */
+
+interface StyleSheetList {
+ readonly attribute unsigned long length;
+ getter StyleSheet? item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/SubmitEvent.webidl b/vendor/web-sys/webidls/enabled/SubmitEvent.webidl
new file mode 100644
index 000000000..cf047e931
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SubmitEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * For more information on this interface, please see
+ * https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#submitevent
+ */
+
+[Constructor(DOMString type, optional SubmitEventInit eventInitDict),
+ Exposed=(Window)]
+interface SubmitEvent : Event {
+ readonly attribute HTMLElement? submitter;
+};
+
+dictionary SubmitEventInit : EventInit {
+ HTMLElement? submitter = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/SubtleCrypto.webidl b/vendor/web-sys/webidls/enabled/SubtleCrypto.webidl
new file mode 100644
index 000000000..328447ee7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/SubtleCrypto.webidl
@@ -0,0 +1,232 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/WebCryptoAPI/
+ */
+
+typedef DOMString KeyType;
+typedef DOMString KeyUsage;
+typedef DOMString NamedCurve;
+typedef Uint8Array BigInteger;
+
+/***** Algorithm dictionaries *****/
+
+dictionary Algorithm {
+ required DOMString name;
+};
+
+dictionary AesCbcParams : Algorithm {
+ required BufferSource iv;
+};
+
+dictionary AesCtrParams : Algorithm {
+ required BufferSource counter;
+ [EnforceRange] required octet length;
+};
+
+dictionary AesGcmParams : Algorithm {
+ required BufferSource iv;
+ BufferSource additionalData;
+ [EnforceRange] octet tagLength;
+};
+
+dictionary HmacImportParams : Algorithm {
+ required AlgorithmIdentifier hash;
+};
+
+dictionary Pbkdf2Params : Algorithm {
+ required BufferSource salt;
+ [EnforceRange] required unsigned long iterations;
+ required AlgorithmIdentifier hash;
+};
+
+dictionary RsaHashedImportParams {
+ required AlgorithmIdentifier hash;
+};
+
+dictionary AesKeyGenParams : Algorithm {
+ [EnforceRange] required unsigned short length;
+};
+
+dictionary HmacKeyGenParams : Algorithm {
+ required AlgorithmIdentifier hash;
+ [EnforceRange] unsigned long length;
+};
+
+dictionary RsaHashedKeyGenParams : Algorithm {
+ [EnforceRange] required unsigned long modulusLength;
+ required BigInteger publicExponent;
+ required AlgorithmIdentifier hash;
+};
+
+dictionary RsaOaepParams : Algorithm {
+ BufferSource label;
+};
+
+dictionary RsaPssParams : Algorithm {
+ [EnforceRange] required unsigned long saltLength;
+};
+
+dictionary DhKeyGenParams : Algorithm {
+ required BigInteger prime;
+ required BigInteger generator;
+};
+
+dictionary EcKeyGenParams : Algorithm {
+ required NamedCurve namedCurve;
+};
+
+dictionary AesDerivedKeyParams : Algorithm {
+ [EnforceRange] required unsigned long length;
+};
+
+dictionary HmacDerivedKeyParams : HmacImportParams {
+ [EnforceRange] unsigned long length;
+};
+
+dictionary EcdhKeyDeriveParams : Algorithm {
+ required CryptoKey public;
+};
+
+dictionary DhKeyDeriveParams : Algorithm {
+ required CryptoKey public;
+};
+
+dictionary DhImportKeyParams : Algorithm {
+ required BigInteger prime;
+ required BigInteger generator;
+};
+
+dictionary EcdsaParams : Algorithm {
+ required AlgorithmIdentifier hash;
+};
+
+dictionary EcKeyImportParams : Algorithm {
+ NamedCurve namedCurve;
+};
+
+dictionary HkdfParams : Algorithm {
+ required AlgorithmIdentifier hash;
+ required BufferSource salt;
+ required BufferSource info;
+};
+
+/***** JWK *****/
+
+dictionary RsaOtherPrimesInfo {
+ // The following fields are defined in Section 6.3.2.7 of JSON Web Algorithms
+ required DOMString r;
+ required DOMString d;
+ required DOMString t;
+};
+
+dictionary JsonWebKey {
+ // The following fields are defined in Section 3.1 of JSON Web Key
+ required DOMString kty;
+ DOMString use;
+ sequence<DOMString> key_ops;
+ DOMString alg;
+
+ // The following fields are defined in JSON Web Key Parameters Registration
+ boolean ext;
+
+ // The following fields are defined in Section 6 of JSON Web Algorithms
+ DOMString crv;
+ DOMString x;
+ DOMString y;
+ DOMString d;
+ DOMString n;
+ DOMString e;
+ DOMString p;
+ DOMString q;
+ DOMString dp;
+ DOMString dq;
+ DOMString qi;
+ sequence<RsaOtherPrimesInfo> oth;
+ DOMString k;
+};
+
+
+/***** The Main API *****/
+
+interface CryptoKey {
+ readonly attribute KeyType type;
+ readonly attribute boolean extractable;
+ [Cached, Constant, Throws] readonly attribute object algorithm;
+ [Cached, Constant, Frozen] readonly attribute sequence<KeyUsage> usages;
+};
+
+dictionary CryptoKeyPair {
+ required CryptoKey publicKey;
+ required CryptoKey privateKey;
+};
+
+typedef DOMString KeyFormat;
+typedef (object or DOMString) AlgorithmIdentifier;
+
+[Exposed=(Window,Worker)]
+interface SubtleCrypto {
+ [Throws]
+ Promise<any> encrypt(AlgorithmIdentifier algorithm,
+ CryptoKey key,
+ BufferSource data);
+ [Throws]
+ Promise<any> decrypt(AlgorithmIdentifier algorithm,
+ CryptoKey key,
+ BufferSource data);
+ [Throws]
+ Promise<any> sign(AlgorithmIdentifier algorithm,
+ CryptoKey key,
+ BufferSource data);
+ [Throws]
+ Promise<any> verify(AlgorithmIdentifier algorithm,
+ CryptoKey key,
+ BufferSource signature,
+ BufferSource data);
+ [Throws]
+ Promise<any> digest(AlgorithmIdentifier algorithm,
+ BufferSource data);
+
+ [Throws]
+ Promise<any> generateKey(AlgorithmIdentifier algorithm,
+ boolean extractable,
+ sequence<KeyUsage> keyUsages );
+ [Throws]
+ Promise<any> deriveKey(AlgorithmIdentifier algorithm,
+ CryptoKey baseKey,
+ AlgorithmIdentifier derivedKeyType,
+ boolean extractable,
+ sequence<KeyUsage> keyUsages );
+ [Throws]
+ Promise<any> deriveBits(AlgorithmIdentifier algorithm,
+ CryptoKey baseKey,
+ unsigned long length);
+
+ [Throws]
+ Promise<any> importKey(KeyFormat format,
+ object keyData,
+ AlgorithmIdentifier algorithm,
+ boolean extractable,
+ sequence<KeyUsage> keyUsages );
+ [Throws]
+ Promise<any> exportKey(KeyFormat format, CryptoKey key);
+
+ [Throws]
+ Promise<any> wrapKey(KeyFormat format,
+ CryptoKey key,
+ CryptoKey wrappingKey,
+ AlgorithmIdentifier wrapAlgorithm);
+
+ [Throws]
+ Promise<any> unwrapKey(KeyFormat format,
+ BufferSource wrappedKey,
+ CryptoKey unwrappingKey,
+ AlgorithmIdentifier unwrapAlgorithm,
+ AlgorithmIdentifier unwrappedKeyAlgorithm,
+ boolean extractable,
+ sequence<KeyUsage> keyUsages );
+};
+
diff --git a/vendor/web-sys/webidls/enabled/TCPServerSocket.webidl b/vendor/web-sys/webidls/enabled/TCPServerSocket.webidl
new file mode 100644
index 000000000..cba3fa0e1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TCPServerSocket.webidl
@@ -0,0 +1,42 @@
+/* -*- 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/. */
+
+/**
+ * TCPServerSocket
+ *
+ * An interface to a server socket that can accept incoming connections for gaia apps.
+ */
+
+dictionary ServerSocketOptions {
+ TCPSocketBinaryType binaryType = "string";
+};
+
+[Constructor(unsigned short port, optional ServerSocketOptions options, optional unsigned short backlog = 0),
+ Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist",
+ Exposed=(Window,System)]
+interface TCPServerSocket : EventTarget {
+ /**
+ * The port of this server socket object.
+ */
+ readonly attribute unsigned short localPort;
+
+ /**
+ * The "connect" event is dispatched when a client connection is accepted.
+ * The event object will be a TCPServerSocketEvent containing a TCPSocket
+ * instance, which is used for communication between client and server.
+ */
+ attribute EventHandler onconnect;
+
+ /**
+ * The "error" event will be dispatched when a listening server socket is
+ * unexpectedly disconnected.
+ */
+ attribute EventHandler onerror;
+
+ /**
+ * Close the server socket.
+ */
+ undefined close();
+};
diff --git a/vendor/web-sys/webidls/enabled/TCPServerSocketEvent.webidl b/vendor/web-sys/webidls/enabled/TCPServerSocketEvent.webidl
new file mode 100644
index 000000000..f133ae781
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TCPServerSocketEvent.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/. */
+
+[Constructor(DOMString type, optional TCPServerSocketEventInit eventInitDict),
+ Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist",
+ Exposed=(Window,System)]
+interface TCPServerSocketEvent : Event {
+ readonly attribute TCPSocket socket;
+};
+
+dictionary TCPServerSocketEventInit : EventInit {
+ TCPSocket? socket = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/TCPSocket.webidl b/vendor/web-sys/webidls/enabled/TCPSocket.webidl
new file mode 100644
index 000000000..9ba10ccaa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TCPSocket.webidl
@@ -0,0 +1,198 @@
+/* -*- 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/. */
+
+/**
+ * TCPSocket exposes a TCP client socket (no server sockets yet)
+ * to highly privileged apps. It provides a buffered, non-blocking
+ * interface for sending. For receiving, it uses an asynchronous,
+ * event handler based interface.
+ */
+
+enum TCPSocketBinaryType {
+ "arraybuffer",
+ "string"
+};
+
+dictionary SocketOptions {
+ boolean useSecureTransport = false;
+ TCPSocketBinaryType binaryType = "string";
+};
+
+enum TCPReadyState {
+ "connecting",
+ "open",
+ "closing",
+ "closed",
+};
+
+[Constructor(DOMString host, unsigned short port, optional SocketOptions options),
+ Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist",
+ Exposed=(Window,System)]
+interface TCPSocket : EventTarget {
+ /**
+ * Upgrade an insecure connection to use TLS. Throws if the ready state is not OPEN.
+ */
+ [Throws] undefined upgradeToSecure();
+
+ /**
+ * The UTF16 host of this socket object.
+ */
+ readonly attribute USVString host;
+
+ /**
+ * The port of this socket object.
+ */
+ readonly attribute unsigned short port;
+
+ /**
+ * True if this socket object is an SSL socket.
+ */
+ readonly attribute boolean ssl;
+
+ /**
+ * The number of bytes which have previously been buffered by calls to
+ * send on this socket.
+ */
+ readonly attribute unsigned long long bufferedAmount;
+
+ /**
+ * Pause reading incoming data and invocations of the ondata handler until
+ * resume is called. Can be called multiple times without resuming.
+ */
+ undefined suspend();
+
+ /**
+ * Resume reading incoming data and invoking ondata as usual. There must be
+ * an equal number of resume as suspends that took place. Throws if the
+ * socket is not suspended.
+ */
+ [Throws]
+ undefined resume();
+
+ /**
+ * Close the socket.
+ */
+ undefined close();
+
+ /**
+ * Close the socket immediately without waiting for unsent data.
+ */
+ [ChromeOnly] undefined closeImmediately();
+
+ /**
+ * Write data to the socket.
+ *
+ * @param data The data to write to the socket.
+ *
+ * @return Send returns true or false as a hint to the caller that
+ * they may either continue sending more data immediately, or
+ * may want to wait until the other side has read some of the
+ * data which has already been written to the socket before
+ * buffering more. If send returns true, then less than 64k
+ * has been buffered and it's safe to immediately write more.
+ * If send returns false, then more than 64k has been buffered,
+ * and the caller may wish to wait until the ondrain event
+ * handler has been called before buffering more data by more
+ * calls to send.
+ *
+ * @throws Throws if the ready state is not OPEN.
+ */
+ [Throws]
+ boolean send(ByteString data);
+
+ /**
+ * Write data to the socket.
+ *
+ * @param data The data to write to the socket.
+ * @param byteOffset The offset within the data from which to begin writing.
+ * @param byteLength The number of bytes to write.
+ * Defaults to the byte length of the ArrayBuffer if not present,
+ * and clamped to (length - byteOffset).
+ *
+ * @return Send returns true or false as a hint to the caller that
+ * they may either continue sending more data immediately, or
+ * may want to wait until the other side has read some of the
+ * data which has already been written to the socket before
+ * buffering more. If send returns true, then less than 64k
+ * has been buffered and it's safe to immediately write more.
+ * If send returns false, then more than 64k has been buffered,
+ * and the caller may wish to wait until the ondrain event
+ * handler has been called before buffering more data by more
+ * calls to send.
+ *
+ * @throws Throws if the ready state is not OPEN.
+ */
+ [Throws]
+ boolean send(ArrayBuffer data, optional unsigned long byteOffset = 0, optional unsigned long byteLength);
+
+ /**
+ * The readyState attribute indicates which state the socket is currently
+ * in.
+ */
+ readonly attribute TCPReadyState readyState;
+
+ /**
+ * The binaryType attribute indicates which mode this socket uses for
+ * sending and receiving data. If the binaryType: "arraybuffer" option
+ * was passed to the open method that created this socket, binaryType
+ * will be "arraybuffer". Otherwise, it will be "string".
+ */
+ readonly attribute TCPSocketBinaryType binaryType;
+
+ /**
+ * The "open" event is dispatched when the connection to the server
+ * has been established. If the connection is refused, the "error" event
+ * will be dispatched, instead.
+ */
+ attribute EventHandler onopen;
+
+ /**
+ * After send has buffered more than 64k of data, it returns false to
+ * indicate that the client should pause before sending more data, to
+ * avoid accumulating large buffers. This is only advisory, and the client
+ * is free to ignore it and buffer as much data as desired, but if reducing
+ * the size of buffers is important (especially for a streaming application)
+ * the "drain" event will be dispatched once the previously-buffered data has
+ * been written to the network, at which point the client can resume calling
+ * send again.
+ */
+ attribute EventHandler ondrain;
+
+ /**
+ * The "data" event will be dispatched repeatedly and asynchronously after
+ * "open" is dispatched, every time some data was available from the server
+ * and was read. The event object will be a TCPSocketEvent; if the "arraybuffer"
+ * binaryType was passed to the constructor, the data attribute of the event
+ * object will be an ArrayBuffer. If not, it will be a normal JavaScript string,
+ * truncated at the first null byte found in the payload and the remainder
+ * interpreted as ASCII bytes.
+ *
+ * At any time, the client may choose to pause reading and receiving "data"
+ * events by calling the socket's suspend() method. Further "data" events
+ * will be paused until resume() is called.
+ */
+ attribute EventHandler ondata;
+
+ /**
+ * The "error" event will be dispatched when there is an error. The event
+ * object will be a TCPSocketErrorEvent.
+ *
+ * If an "error" event is dispatched before an "open" one, the connection
+ * was refused, and the "close" event will not be dispatched. If an "error"
+ * event is dispatched after an "open" event, the connection was lost,
+ * and a "close" event will be dispatched subsequently.
+ */
+ attribute EventHandler onerror;
+
+ /**
+ * The "close" event is dispatched once the underlying network socket
+ * has been closed, either by the server, or by the client calling
+ * close.
+ *
+ * If the "error" event was not dispatched before "close", then one of
+ * the sides cleanly closed the connection.
+ */
+ attribute EventHandler onclose;
+};
diff --git a/vendor/web-sys/webidls/enabled/TCPSocketErrorEvent.webidl b/vendor/web-sys/webidls/enabled/TCPSocketErrorEvent.webidl
new file mode 100644
index 000000000..22db1b768
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TCPSocketErrorEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/. */
+
+/* Dispatched as part of the "error" event in the following situations:
+* - if there's an error detected when the TCPSocket closes
+* - if there's an internal error while sending data
+* - if there's an error connecting to the host
+*/
+
+[Constructor(DOMString type, optional TCPSocketErrorEventInit eventInitDict),
+ Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist",
+ Exposed=(Window,System)]
+interface TCPSocketErrorEvent : Event {
+ readonly attribute DOMString name;
+ readonly attribute DOMString message;
+};
+
+dictionary TCPSocketErrorEventInit : EventInit
+{
+ DOMString name = "";
+ DOMString message = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/TCPSocketEvent.webidl b/vendor/web-sys/webidls/enabled/TCPSocketEvent.webidl
new file mode 100644
index 000000000..6a3d6851d
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TCPSocketEvent.webidl
@@ -0,0 +1,30 @@
+/* -*- 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/. */
+
+/**
+ * TCPSocketEvent is the event dispatched for all of the events described by TCPSocket,
+ * except the "error" event. It contains the socket that was associated with the event,
+ * the type of event, and the data associated with the event if the event is a "data" event.
+ */
+
+[Constructor(DOMString type, optional TCPSocketEventInit eventInitDict),
+ Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist",
+ Exposed=(Window,System)]
+interface TCPSocketEvent : Event {
+ /**
+ * If the event is a "data" event, data will be the bytes read from the network;
+ * if the binaryType of the socket was "arraybuffer", this value will be of type
+ * ArrayBuffer, otherwise, it will be a ByteString.
+ *
+ * For other events, data will be an empty string.
+ */
+ //TODO: make this (ArrayBuffer or ByteString) after sorting out the rooting required. (bug 1121634)
+ readonly attribute any data;
+};
+
+dictionary TCPSocketEventInit : EventInit {
+ //TODO: make this (ArrayBuffer or ByteString) after sorting out the rooting required. (bug 1121634)
+ any data = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/Text.webidl b/vendor/web-sys/webidls/enabled/Text.webidl
new file mode 100644
index 000000000..f3a751bad
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Text.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(optional DOMString data = "")]
+interface Text : CharacterData {
+ [Throws]
+ Text splitText(unsigned long offset);
+ [Throws]
+ readonly attribute DOMString wholeText;
+};
+
+partial interface Text {
+ [BinaryName="assignedSlotByMode", Func="nsTextNode::IsShadowDOMEnabled"]
+ readonly attribute HTMLSlotElement? assignedSlot;
+};
+
+Text includes GeometryUtils;
diff --git a/vendor/web-sys/webidls/enabled/TextClause.webidl b/vendor/web-sys/webidls/enabled/TextClause.webidl
new file mode 100644
index 000000000..2baeeb2d7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextClause.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ */
+
+[ChromeOnly]
+interface TextClause
+{
+ // The start offset of TextClause
+ readonly attribute long startOffset;
+
+ // The end offset of TextClause
+ readonly attribute long endOffset;
+
+ // If the TextClause is Caret or not
+ readonly attribute boolean isCaret;
+
+ // If the TextClause is TargetClause or not
+ readonly attribute boolean isTargetClause;
+};
diff --git a/vendor/web-sys/webidls/enabled/TextDecoder.webidl b/vendor/web-sys/webidls/enabled/TextDecoder.webidl
new file mode 100644
index 000000000..3fff4a255
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextDecoder.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://encoding.spec.whatwg.org/#interface-textdecoder
+ *
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+[Constructor(optional DOMString label = "utf-8", optional TextDecoderOptions options),
+ Exposed=(Window,Worker,System)]
+interface TextDecoder {
+ [Constant]
+ readonly attribute DOMString encoding;
+ [Constant]
+ readonly attribute boolean fatal;
+ [Throws]
+ USVString decode(optional BufferSource input, optional TextDecodeOptions options);
+};
+
+dictionary TextDecoderOptions {
+ boolean fatal = false;
+};
+
+dictionary TextDecodeOptions {
+ boolean stream = false;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/TextEncoder.webidl b/vendor/web-sys/webidls/enabled/TextEncoder.webidl
new file mode 100644
index 000000000..27f6e03d2
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextEncoder.webidl
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://encoding.spec.whatwg.org/#interface-textencoder
+ *
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+[Constructor,
+ Exposed=(Window,Worker,System)]
+interface TextEncoder {
+ [Constant]
+ readonly attribute DOMString encoding;
+ /*
+ * This is spec-wise USVString but marking it as
+ * DOMString to avoid duplicate work. Since the
+ * UTF-16 to UTF-8 converter performs processing
+ * that's equivalent to first converting a
+ * DOMString to a USVString, let's avoid having
+ * the binding code doing it, too.
+ */
+ [NewObject]
+ Uint8Array encode(optional DOMString input = "");
+};
diff --git a/vendor/web-sys/webidls/enabled/TextTrack.webidl b/vendor/web-sys/webidls/enabled/TextTrack.webidl
new file mode 100644
index 000000000..a2fee2653
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextTrack.webidl
@@ -0,0 +1,46 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#texttrack
+ */
+
+enum TextTrackKind {
+ "subtitles",
+ "captions",
+ "descriptions",
+ "chapters",
+ "metadata"
+};
+
+enum TextTrackMode {
+ "disabled",
+ "hidden",
+ "showing"
+};
+
+interface TextTrack : EventTarget {
+ readonly attribute TextTrackKind kind;
+ readonly attribute DOMString label;
+ readonly attribute DOMString language;
+
+ readonly attribute DOMString id;
+ readonly attribute DOMString inBandMetadataTrackDispatchType;
+
+ attribute TextTrackMode mode;
+
+ readonly attribute TextTrackCueList? cues;
+ readonly attribute TextTrackCueList? activeCues;
+
+ undefined addCue(VTTCue cue);
+ [Throws]
+ undefined removeCue(VTTCue cue);
+
+ attribute EventHandler oncuechange;
+};
+
+partial interface TextTrack {
+ readonly attribute SourceBuffer? sourceBuffer;
+};
diff --git a/vendor/web-sys/webidls/enabled/TextTrackCue.webidl b/vendor/web-sys/webidls/enabled/TextTrackCue.webidl
new file mode 100644
index 000000000..2dc242dd1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextTrackCue.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/#texttrackcue
+ */
+
+interface TextTrackCue : EventTarget {
+ readonly attribute TextTrack? track;
+
+ attribute DOMString id;
+ attribute double startTime;
+ attribute double endTime;
+ attribute boolean pauseOnExit;
+
+ attribute EventHandler onenter;
+ attribute EventHandler onexit;
+};
diff --git a/vendor/web-sys/webidls/enabled/TextTrackCueList.webidl b/vendor/web-sys/webidls/enabled/TextTrackCueList.webidl
new file mode 100644
index 000000000..0854004bd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextTrackCueList.webidl
@@ -0,0 +1,14 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#texttrackcuelist
+ */
+
+interface TextTrackCueList {
+ readonly attribute unsigned long length;
+ getter VTTCue (unsigned long index);
+ VTTCue? getCueById(DOMString id);
+};
diff --git a/vendor/web-sys/webidls/enabled/TextTrackList.webidl b/vendor/web-sys/webidls/enabled/TextTrackList.webidl
new file mode 100644
index 000000000..4f3b0d6df
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TextTrackList.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#texttracklist
+ */
+
+interface TextTrackList : EventTarget {
+ readonly attribute unsigned long length;
+ getter TextTrack (unsigned long index);
+ TextTrack? getTrackById(DOMString id);
+
+ attribute EventHandler onchange;
+ attribute EventHandler onaddtrack;
+ attribute EventHandler onremovetrack;
+};
diff --git a/vendor/web-sys/webidls/enabled/TimeEvent.webidl b/vendor/web-sys/webidls/enabled/TimeEvent.webidl
new file mode 100644
index 000000000..dca90597e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TimeEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface TimeEvent : Event
+{
+ readonly attribute long detail;
+ readonly attribute WindowProxy? view;
+ undefined initTimeEvent(DOMString aType,
+ optional Window? aView = null,
+ optional long aDetail = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/TimeRanges.webidl b/vendor/web-sys/webidls/enabled/TimeRanges.webidl
new file mode 100644
index 000000000..9f9b5270b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TimeRanges.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#timeranges
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface TimeRanges {
+ readonly attribute unsigned long length;
+
+ [Throws]
+ double start(unsigned long index);
+
+ [Throws]
+ double end(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/Touch.webidl b/vendor/web-sys/webidls/enabled/Touch.webidl
new file mode 100644
index 000000000..d00e46654
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Touch.webidl
@@ -0,0 +1,49 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/webevents/raw-file/default/touchevents.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+dictionary TouchInit {
+ required long identifier;
+ required EventTarget target;
+ long clientX = 0;
+ long clientY = 0;
+ long screenX = 0;
+ long screenY = 0;
+ long pageX = 0;
+ long pageY = 0;
+ float radiusX = 0;
+ float radiusY = 0;
+ float rotationAngle = 0;
+ float force = 0;
+};
+
+[Constructor(TouchInit touchInitDict),
+ Func="mozilla::dom::Touch::PrefEnabled"]
+interface Touch {
+ readonly attribute long identifier;
+ readonly attribute EventTarget? target;
+ [NeedsCallerType]
+ readonly attribute long screenX;
+ [NeedsCallerType]
+ readonly attribute long screenY;
+ readonly attribute long clientX;
+ readonly attribute long clientY;
+ readonly attribute long pageX;
+ readonly attribute long pageY;
+ [NeedsCallerType]
+ readonly attribute long radiusX;
+ [NeedsCallerType]
+ readonly attribute long radiusY;
+ [NeedsCallerType]
+ readonly attribute float rotationAngle;
+ [NeedsCallerType]
+ readonly attribute float force;
+};
diff --git a/vendor/web-sys/webidls/enabled/TouchEvent.webidl b/vendor/web-sys/webidls/enabled/TouchEvent.webidl
new file mode 100644
index 000000000..fa36574bd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TouchEvent.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ */
+
+dictionary TouchEventInit : EventModifierInit {
+ sequence<Touch> touches = [];
+ sequence<Touch> targetTouches = [];
+ sequence<Touch> changedTouches = [];
+};
+
+[Constructor(DOMString type, optional TouchEventInit eventInitDict),
+ Func="mozilla::dom::TouchEvent::PrefEnabled"]
+interface TouchEvent : UIEvent {
+ readonly attribute TouchList touches;
+ readonly attribute TouchList targetTouches;
+ readonly attribute TouchList changedTouches;
+
+ readonly attribute boolean altKey;
+ readonly attribute boolean metaKey;
+ readonly attribute boolean ctrlKey;
+ readonly attribute boolean shiftKey;
+
+ undefined initTouchEvent(DOMString type,
+ optional boolean canBubble = false,
+ optional boolean cancelable = false,
+ optional Window? view = null,
+ optional long detail = 0,
+ optional boolean ctrlKey = false,
+ optional boolean altKey = false,
+ optional boolean shiftKey = false,
+ optional boolean metaKey = false,
+ optional TouchList? touches = null,
+ optional TouchList? targetTouches = null,
+ optional TouchList? changedTouches = null);
+};
diff --git a/vendor/web-sys/webidls/enabled/TouchList.webidl b/vendor/web-sys/webidls/enabled/TouchList.webidl
new file mode 100644
index 000000000..562a7fb4f
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TouchList.webidl
@@ -0,0 +1,18 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/webevents/raw-file/v1/touchevents.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="mozilla::dom::TouchList::PrefEnabled"]
+interface TouchList {
+ [Pure]
+ readonly attribute unsigned long length;
+ getter Touch? item(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/TrackEvent.webidl b/vendor/web-sys/webidls/enabled/TrackEvent.webidl
new file mode 100644
index 000000000..2daa2f457
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TrackEvent.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#trackevent
+ */
+
+[Constructor(DOMString type, optional TrackEventInit eventInitDict)]
+interface TrackEvent : Event
+{
+ readonly attribute (VideoTrack or AudioTrack or TextTrack)? track;
+};
+
+dictionary TrackEventInit : EventInit
+{
+ (VideoTrack or AudioTrack or TextTrack)? track = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/TransceiverImpl.webidl b/vendor/web-sys/webidls/enabled/TransceiverImpl.webidl
new file mode 100644
index 000000000..395c1bbdd
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TransceiverImpl.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/.
+ *
+ * PeerConnection.js' interface to the C++ TransceiverImpl.
+ *
+ * Do not confuse with RTCRtpTransceiver. This interface is purely for
+ * communication between the PeerConnection JS DOM binding and the C++
+ * implementation.
+ *
+ * See media/webrtc/signaling/src/peerconnection/TransceiverImpl.h
+ *
+ */
+
+// Constructed by PeerConnectionImpl::CreateTransceiverImpl.
+[ChromeOnly]
+interface TransceiverImpl {
+ MediaStreamTrack getReceiveTrack();
+ [Throws]
+ undefined syncWithJS(RTCRtpTransceiver transceiver);
+};
+
diff --git a/vendor/web-sys/webidls/enabled/TransitionEvent.webidl b/vendor/web-sys/webidls/enabled/TransitionEvent.webidl
new file mode 100644
index 000000000..d4476dffa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TransitionEvent.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ *
+ * Transition events are defined in:
+ * http://www.w3.org/TR/css3-transitions/#transition-events-
+ * http://dev.w3.org/csswg/css3-transitions/#transition-events-
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional TransitionEventInit eventInitDict)]
+interface TransitionEvent : Event {
+ readonly attribute DOMString propertyName;
+ readonly attribute float elapsedTime;
+ readonly attribute DOMString pseudoElement;
+};
+
+dictionary TransitionEventInit : EventInit {
+ DOMString propertyName = "";
+ float elapsedTime = 0;
+ DOMString pseudoElement = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/TreeBoxObject.webidl b/vendor/web-sys/webidls/enabled/TreeBoxObject.webidl
new file mode 100644
index 000000000..0dc858bad
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TreeBoxObject.webidl
@@ -0,0 +1,188 @@
+
+/* -*- 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 nsIScriptableRegion;
+
+dictionary TreeCellInfo {
+ long row = 0;
+ TreeColumn? col = null;
+ DOMString childElt = "";
+};
+
+[NoInterfaceObject]
+interface TreeBoxObject : BoxObject {
+
+ /**
+ * Obtain the columns.
+ */
+ readonly attribute TreeColumns? columns;
+
+ /**
+ * Whether or not we are currently focused.
+ */
+ attribute boolean focused;
+
+ /**
+ * Obtain the treebody content node
+ */
+ readonly attribute Element? treeBody;
+
+ /**
+ * Obtain the height of a row.
+ */
+ readonly attribute long rowHeight;
+
+ /**
+ * Obtain the width of a row.
+ */
+ readonly attribute long rowWidth;
+
+ /**
+ * Get the pixel position of the horizontal scrollbar.
+ */
+ readonly attribute long horizontalPosition;
+
+ /**
+ * Return the region for the visible parts of the selection, in device pixels
+ */
+ readonly attribute nsIScriptableRegion selectionRegion;
+
+ /**
+ * Get the index of the first visible row.
+ */
+ long getFirstVisibleRow();
+
+ /**
+ * Get the index of the last visible row.
+ */
+ long getLastVisibleRow();
+
+ /**
+ * Gets the number of possible visible rows.
+ */
+ long getPageLength();
+
+ /**
+ * Ensures that a row at a given index is visible.
+ */
+ undefined ensureRowIsVisible(long index);
+
+ /**
+ * Ensures that a given cell in the tree is visible.
+ */
+ [Throws]
+ undefined ensureCellIsVisible(long row, TreeColumn? col);
+
+ /**
+ * Scrolls such that the row at index is at the top of the visible view.
+ */
+ undefined scrollToRow(long index);
+
+ /**
+ * Scroll the tree up or down by numLines lines. Positive
+ * values move down in the tree. Prevents scrolling off the
+ * end of the tree.
+ */
+ undefined scrollByLines(long numLines);
+
+ /**
+ * Scroll the tree up or down by numPages pages. A page
+ * is considered to be the amount displayed by the tree.
+ * Positive values move down in the tree. Prevents scrolling
+ * off the end of the tree.
+ */
+ undefined scrollByPages(long numPages);
+
+ /**
+ * Invalidation methods for fine-grained painting control.
+ */
+ undefined invalidate();
+ undefined invalidateColumn(TreeColumn? col);
+ undefined invalidateRow(long index);
+ undefined invalidateCell(long row, TreeColumn? col);
+ undefined invalidateRange(long startIndex, long endIndex);
+
+ /**
+ * A hit test that can tell you what row the mouse is over.
+ * returns -1 for invalid mouse coordinates.
+ *
+ * The coordinate system is the client coordinate system for the
+ * document this boxObject lives in, and the units are CSS pixels.
+ */
+ long getRowAt(long x, long y);
+
+ /**
+ * A hit test that can tell you what cell the mouse is over.
+ * TreeCellInfo.row is the row index hit, returns -1 for invalid mouse
+ * coordinates. TreeCellInfo.col is the column hit.
+ * TreeCellInfo.childElt is the pseudoelement hit: this can have values of
+ * "cell", "twisty", "image", and "text".
+ *
+ * The coordinate system is the client coordinate system for the
+ * document this boxObject lives in, and the units are CSS pixels.
+ */
+ [Throws]
+ TreeCellInfo getCellAt(long x, long y);
+
+ /**
+ * DEPRECATED: please use above version
+ */
+ [Throws]
+ undefined getCellAt(long x, long y, object row, object column, object childElt);
+
+ /**
+ * Find the coordinates of an element within a specific cell.
+ */
+ [Throws]
+ DOMRect? getCoordsForCellItem(long row, TreeColumn col, DOMString element);
+
+ /**
+ * DEPRECATED: Please use above version
+ */
+ [Throws]
+ undefined getCoordsForCellItem(long row, TreeColumn col, DOMString element,
+ object x, object y, object width, object height);
+
+ /**
+ * Determine if the text of a cell is being cropped or not.
+ */
+ [Throws]
+ boolean isCellCropped(long row, TreeColumn? col);
+
+ /**
+ * The view is responsible for calling these notification methods when
+ * rows are added or removed. Index is the position at which the new
+ * rows were added or at which rows were removed. For
+ * non-contiguous additions/removals, this method should be called multiple times.
+ */
+ undefined rowCountChanged(long index, long count);
+
+ /**
+ * Notify the tree that the view is about to perform a batch
+ * update, that is, add, remove or invalidate several rows at once.
+ * This must be followed by calling endUpdateBatch(), otherwise the tree
+ * will get out of sync.
+ */
+ undefined beginUpdateBatch();
+
+ /**
+ * Notify the tree that the view has completed a batch update.
+ */
+ undefined endUpdateBatch();
+
+ /**
+ * Called on a theme switch to flush out the tree's style and image caches.
+ */
+ undefined clearStyleAndImageCaches();
+
+ /**
+ * Remove an image source from the image cache to allow its invalidation.
+ */
+ [Throws]
+ undefined removeImageCacheEntry(long row, TreeColumn col);
+};
diff --git a/vendor/web-sys/webidls/enabled/TreeView.webidl b/vendor/web-sys/webidls/enabled/TreeView.webidl
new file mode 100644
index 000000000..9aee1ce40
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TreeView.webidl
@@ -0,0 +1,213 @@
+/* -*- Mode: C++; 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 nsITreeSelection;
+
+[NoInterfaceObject]
+interface TreeView
+{
+ /**
+ * The total number of rows in the tree (including the offscreen rows).
+ */
+ readonly attribute long rowCount;
+
+ /**
+ * The selection for this view.
+ */
+ [SetterThrows]
+ attribute nsITreeSelection? selection;
+
+ /**
+ * A whitespace delimited list of properties. For each property X the view
+ * gives back will cause the pseudoclasses ::-moz-tree-cell(x),
+ * ::-moz-tree-row(x), ::-moz-tree-twisty(x), ::-moz-tree-image(x),
+ * ::-moz-tree-cell-text(x). to be matched on the pseudoelement
+ * ::moz-tree-row.
+ */
+ [Throws]
+ DOMString getRowProperties(long row);
+
+ /**
+ * A whitespace delimited list of properties for a given cell. Each
+ * property, x, that the view gives back will cause the pseudoclasses
+ * ::-moz-tree-cell(x), ::-moz-tree-row(x), ::-moz-tree-twisty(x),
+ * ::-moz-tree-image(x), ::-moz-tree-cell-text(x). to be matched on the
+ * cell.
+ */
+ [Throws]
+ DOMString getCellProperties(long row, TreeColumn column);
+
+ /**
+ * Called to get properties to paint a column background. For shading the sort
+ * column, etc.
+ */
+ DOMString getColumnProperties(TreeColumn column);
+
+ /**
+ * Methods that can be used to test whether or not a twisty should be drawn,
+ * and if so, whether an open or closed twisty should be used.
+ */
+ [Throws]
+ boolean isContainer(long row);
+ [Throws]
+ boolean isContainerOpen(long row);
+ [Throws]
+ boolean isContainerEmpty(long row);
+
+ /**
+ * isSeparator is used to determine if the row is a separator.
+ * A value of true will result in the tree drawing a horizontal separator.
+ * The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
+ */
+ [Throws]
+ boolean isSeparator(long row);
+
+ /**
+ * Specifies if there is currently a sort on any column. Used mostly by dragdrop
+ * to affect drop feedback.
+ */
+ boolean isSorted();
+
+ const short DROP_BEFORE = -1;
+ const short DROP_ON = 0;
+ const short DROP_AFTER = 1;
+ /**
+ * Methods used by the drag feedback code to determine if a drag is allowable at
+ * the current location. To get the behavior where drops are only allowed on
+ * items, such as the mailNews folder pane, always return false when
+ * the orientation is not DROP_ON.
+ */
+ [Throws]
+ boolean canDrop(long row, long orientation, DataTransfer? dataTransfer);
+
+ /**
+ * Called when the user drops something on this view. The |orientation| param
+ * specifies before/on/after the given |row|.
+ */
+ [Throws]
+ undefined drop(long row, long orientation, DataTransfer? dataTransfer);
+
+ /**
+ * Methods used by the tree to draw thread lines in the tree.
+ * getParentIndex is used to obtain the index of a parent row.
+ * If there is no parent row, getParentIndex returns -1.
+ */
+ [Throws]
+ long getParentIndex(long row);
+
+ /**
+ * hasNextSibling is used to determine if the row at rowIndex has a nextSibling
+ * that occurs *after* the index specified by afterIndex. Code that is forced
+ * to march down the view looking at levels can optimize the march by starting
+ * at afterIndex+1.
+ */
+ [Throws]
+ boolean hasNextSibling(long row, long afterIndex);
+
+ /**
+ * The level is an integer value that represents
+ * the level of indentation. It is multiplied by the width specified in the
+ * :moz-tree-indentation pseudoelement to compute the exact indendation.
+ */
+ [Throws]
+ long getLevel(long row);
+
+ /**
+ * The image path for a given cell. For defining an icon for a cell.
+ * If the empty string is returned, the :moz-tree-image pseudoelement
+ * will be used.
+ */
+ [Throws]
+ DOMString getImageSrc(long row, TreeColumn column);
+
+ /**
+ * The value for a given cell. This method is only called for columns
+ * of type other than |text|.
+ */
+ [Throws]
+ DOMString getCellValue(long row, TreeColumn column);
+
+ /**
+ * The text for a given cell. If a column consists only of an image, then
+ * the empty string is returned.
+ */
+ [Throws]
+ DOMString getCellText(long row, TreeColumn column);
+
+ /**
+ * Called during initialization to link the view to the front end box object.
+ */
+ [Throws]
+ undefined setTree(TreeBoxObject? tree);
+
+ /**
+ * Called on the view when an item is opened or closed.
+ */
+ [Throws]
+ undefined toggleOpenState(long row);
+
+ /**
+ * Called on the view when a header is clicked.
+ */
+ [Throws]
+ undefined cycleHeader(TreeColumn column);
+
+ /**
+ * Should be called from a XUL onselect handler whenever the selection changes.
+ */
+ undefined selectionChanged();
+
+ /**
+ * Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
+ */
+ undefined cycleCell(long row, TreeColumn column);
+
+ /**
+ * isEditable is called to ask the view if the cell contents are editable.
+ * A value of true will result in the tree popping up a text field when
+ * the user tries to inline edit the cell.
+ */
+ [Throws]
+ boolean isEditable(long row, TreeColumn column);
+
+ /**
+ * isSelectable is called to ask the view if the cell is selectable.
+ * This method is only called if the selection style is |cell| or |text|.
+ * XXXvarga shouldn't this be called isCellSelectable?
+ */
+ [Throws]
+ boolean isSelectable(long row, TreeColumn column);
+
+ /**
+ * setCellValue is called when the value of the cell has been set by the user.
+ * This method is only called for columns of type other than |text|.
+ */
+ [Throws]
+ undefined setCellValue(long row, TreeColumn column, DOMString value);
+
+ /**
+ * setCellText is called when the contents of the cell have been edited by the user.
+ */
+ [Throws]
+ undefined setCellText(long row, TreeColumn column, DOMString value);
+
+ /**
+ * A command API that can be used to invoke commands on the selection. The tree
+ * will automatically invoke this method when certain keys are pressed. For example,
+ * when the DEL key is pressed, performAction will be called with the "delete" string.
+ */
+ undefined performAction(DOMString action);
+
+ /**
+ * A command API that can be used to invoke commands on a specific row.
+ */
+ undefined performActionOnRow(DOMString action, long row);
+
+ /**
+ * A command API that can be used to invoke commands on a specific cell.
+ */
+ undefined performActionOnCell(DOMString action, long row, TreeColumn column);
+};
diff --git a/vendor/web-sys/webidls/enabled/TreeWalker.webidl b/vendor/web-sys/webidls/enabled/TreeWalker.webidl
new file mode 100644
index 000000000..2cd302f00
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/TreeWalker.webidl
@@ -0,0 +1,37 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/2012/WD-dom-20120105/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+interface TreeWalker {
+ [Constant]
+ readonly attribute Node root;
+ [Constant]
+ readonly attribute unsigned long whatToShow;
+ [Constant]
+ readonly attribute NodeFilter? filter;
+ [Pure, SetterThrows]
+ attribute Node currentNode;
+
+ [Throws]
+ Node? parentNode();
+ [Throws]
+ Node? firstChild();
+ [Throws]
+ Node? lastChild();
+ [Throws]
+ Node? previousSibling();
+ [Throws]
+ Node? nextSibling();
+ [Throws]
+ Node? previousNode();
+ [Throws]
+ Node? nextNode();
+};
diff --git a/vendor/web-sys/webidls/enabled/U2F.webidl b/vendor/web-sys/webidls/enabled/U2F.webidl
new file mode 100644
index 000000000..b9bf382fe
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/U2F.webidl
@@ -0,0 +1,94 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is a combination of the FIDO U2F Raw Message Formats:
+ * https://www.fidoalliance.org/specs/fido-u2f-v1.1-id-20160915/fido-u2f-raw-message-formats-v1.1-id-20160915.html
+ * and the U2F JavaScript API v1.1:
+ * https://www.fidoalliance.org/specs/fido-u2f-v1.1-id-20160915/fido-u2f-javascript-api-v1.1-id-20160915.html
+ */
+
+interface mixin GlobalU2F {
+ [SecureContext, Throws, Pref="security.webauth.u2f"]
+ readonly attribute U2F u2f;
+};
+
+typedef unsigned short ErrorCode;
+typedef sequence<Transport> Transports;
+
+enum Transport {
+ "bt",
+ "ble",
+ "nfc",
+ "usb"
+};
+
+dictionary U2FClientData {
+ DOMString typ; // Spelling is from the specification
+ DOMString challenge;
+ DOMString origin;
+ // cid_pubkey for Token Binding is not implemented
+};
+
+dictionary RegisterRequest {
+ DOMString version;
+ DOMString challenge;
+};
+
+dictionary RegisterResponse {
+ DOMString version;
+ DOMString registrationData;
+ DOMString clientData;
+
+ // From Error
+ ErrorCode? errorCode;
+ DOMString? errorMessage;
+};
+
+dictionary RegisteredKey {
+ DOMString version;
+ DOMString keyHandle;
+ Transports? transports;
+ DOMString? appId;
+};
+
+dictionary SignResponse {
+ DOMString keyHandle;
+ DOMString signatureData;
+ DOMString clientData;
+
+ // From Error
+ ErrorCode? errorCode;
+ DOMString? errorMessage;
+};
+
+callback U2FRegisterCallback = undefined(RegisterResponse response);
+callback U2FSignCallback = undefined(SignResponse response);
+
+[SecureContext, Pref="security.webauth.u2f"]
+interface U2F {
+ // These enumerations are defined in the FIDO U2F Javascript API under the
+ // interface "ErrorCode" as constant integers, and also in the U2F.cpp file.
+ // Any changes to these must occur in both locations.
+ const unsigned short OK = 0;
+ const unsigned short OTHER_ERROR = 1;
+ const unsigned short BAD_REQUEST = 2;
+ const unsigned short CONFIGURATION_UNSUPPORTED = 3;
+ const unsigned short DEVICE_INELIGIBLE = 4;
+ const unsigned short TIMEOUT = 5;
+
+ [Throws]
+ undefined register (DOMString appId,
+ sequence<RegisterRequest> registerRequests,
+ sequence<RegisteredKey> registeredKeys,
+ U2FRegisterCallback callback,
+ optional long? opt_timeoutSeconds);
+
+ [Throws]
+ undefined sign (DOMString appId,
+ DOMString challenge,
+ sequence<RegisteredKey> registeredKeys,
+ U2FSignCallback callback,
+ optional long? opt_timeoutSeconds);
+};
diff --git a/vendor/web-sys/webidls/enabled/UDPMessageEvent.webidl b/vendor/web-sys/webidls/enabled/UDPMessageEvent.webidl
new file mode 100644
index 000000000..862f719d0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/UDPMessageEvent.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/TR/raw-sockets/#interface-udpmessageevent
+ */
+
+//Bug 1056444: This interface should be removed after UDPSocket.input/UDPSocket.output are ready.
+[Constructor(DOMString type, optional UDPMessageEventInit eventInitDict),
+ Pref="dom.udpsocket.enabled",
+ ChromeOnly]
+interface UDPMessageEvent : Event {
+ readonly attribute DOMString remoteAddress;
+ readonly attribute unsigned short remotePort;
+ readonly attribute any data;
+};
+
+dictionary UDPMessageEventInit : EventInit {
+ DOMString remoteAddress = "";
+ unsigned short remotePort = 0;
+ any data = null;
+};
diff --git a/vendor/web-sys/webidls/enabled/UDPSocket.webidl b/vendor/web-sys/webidls/enabled/UDPSocket.webidl
new file mode 100644
index 000000000..2be55099a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/UDPSocket.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.w3.org/2012/sysapps/tcp-udp-sockets/#interface-udpsocket
+ * http://www.w3.org/2012/sysapps/tcp-udp-sockets/#dictionary-udpoptions
+ */
+
+dictionary UDPOptions {
+ DOMString localAddress;
+ unsigned short localPort;
+ DOMString remoteAddress;
+ unsigned short remotePort;
+ boolean addressReuse = true;
+ boolean loopback = false;
+};
+
+[Constructor (optional UDPOptions options),
+ Pref="dom.udpsocket.enabled",
+ ChromeOnly]
+interface UDPSocket : EventTarget {
+ readonly attribute DOMString? localAddress;
+ readonly attribute unsigned short? localPort;
+ readonly attribute DOMString? remoteAddress;
+ readonly attribute unsigned short? remotePort;
+ readonly attribute boolean addressReuse;
+ readonly attribute boolean loopback;
+ readonly attribute SocketReadyState readyState;
+ readonly attribute Promise<undefined> opened;
+ readonly attribute Promise<undefined> closed;
+// readonly attribute ReadableStream input; //Bug 1056444: Stream API is not ready
+// readonly attribute WriteableStream output; //Bug 1056444: Stream API is not ready
+ attribute EventHandler onmessage; //Bug 1056444: use event interface before Stream API is ready
+ Promise<undefined> close ();
+ [Throws] undefined joinMulticastGroup (DOMString multicastGroupAddress);
+ [Throws] undefined leaveMulticastGroup (DOMString multicastGroupAddress);
+ [Throws] boolean send ((DOMString or Blob or ArrayBuffer or ArrayBufferView) data, optional DOMString? remoteAddress, optional unsigned short? remotePort); //Bug 1056444: use send method before Stream API is ready
+};
diff --git a/vendor/web-sys/webidls/enabled/UIEvent.webidl b/vendor/web-sys/webidls/enabled/UIEvent.webidl
new file mode 100644
index 000000000..3160a727e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/UIEvent.webidl
@@ -0,0 +1,64 @@
+/* -*- 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/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional UIEventInit eventInitDict)]
+interface UIEvent : Event
+{
+ readonly attribute WindowProxy? view;
+ readonly attribute long detail;
+ undefined initUIEvent(DOMString aType,
+ optional boolean aCanBubble = false,
+ optional boolean aCancelable = false,
+ optional Window? aView = null,
+ optional long aDetail = 0);
+};
+
+// Additional DOM0 properties.
+partial interface UIEvent {
+ const long SCROLL_PAGE_UP = -32768;
+ const long SCROLL_PAGE_DOWN = 32768;
+
+ readonly attribute long layerX;
+ readonly attribute long layerY;
+ readonly attribute long pageX;
+ readonly attribute long pageY;
+ [NeedsCallerType]
+ readonly attribute unsigned long which;
+ readonly attribute Node? rangeParent;
+ readonly attribute long rangeOffset;
+};
+
+dictionary UIEventInit : EventInit
+{
+ Window? view = null;
+ long detail = 0;
+};
+
+// NOTE: Gecko doesn't support commented out modifiers yet.
+dictionary EventModifierInit : UIEventInit
+{
+ boolean ctrlKey = false;
+ boolean shiftKey = false;
+ boolean altKey = false;
+ boolean metaKey = false;
+ boolean modifierAltGraph = false;
+ boolean modifierCapsLock = false;
+ boolean modifierFn = false;
+ boolean modifierFnLock = false;
+ // boolean modifierHyper = false;
+ boolean modifierNumLock = false;
+ boolean modifierOS = false;
+ boolean modifierScrollLock = false;
+ // boolean modifierSuper = false;
+ boolean modifierSymbol = false;
+ boolean modifierSymbolLock = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/URL.webidl b/vendor/web-sys/webidls/enabled/URL.webidl
new file mode 100644
index 000000000..ecc2f4caa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/URL.webidl
@@ -0,0 +1,56 @@
+/* -*- 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/.
+ *
+ * The origins of this IDL file are
+ * http://url.spec.whatwg.org/#api
+ * http://dev.w3.org/2006/webapi/FileAPI/#creating-revoking
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(USVString url, optional USVString base),
+ Exposed=(Window,Worker,WorkerDebugger)]
+interface URL {
+ // Bug 824857: no support for stringifier attributes yet.
+ // stringifier attribute USVString href;
+
+ // Bug 824857 should remove this.
+ stringifier;
+
+ [SetterThrows]
+ attribute USVString href;
+ [GetterThrows]
+ readonly attribute USVString origin;
+ [SetterThrows]
+ attribute USVString protocol;
+ attribute USVString username;
+ attribute USVString password;
+ attribute USVString host;
+ attribute USVString hostname;
+ attribute USVString port;
+ attribute USVString pathname;
+ attribute USVString search;
+ [SameObject]
+ readonly attribute URLSearchParams searchParams;
+ attribute USVString hash;
+
+ USVString toJSON();
+};
+
+partial interface URL {
+ [Throws]
+ static DOMString createObjectURL(Blob blob);
+ [Throws]
+ static undefined revokeObjectURL(DOMString url);
+ [ChromeOnly, Throws]
+ static boolean isValidURL(DOMString url);
+};
+
+// https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
+partial interface URL {
+ [Throws]
+ static DOMString createObjectURL(MediaSource source);
+};
diff --git a/vendor/web-sys/webidls/enabled/URLSearchParams.webidl b/vendor/web-sys/webidls/enabled/URLSearchParams.webidl
new file mode 100644
index 000000000..d459998ee
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/URLSearchParams.webidl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://url.spec.whatwg.org/#urlsearchparams
+ *
+ * To the extent possible under law, the editors have waived all copyright
+ * and related or neighboring rights to this work. In addition, as of 17
+ * February 2013, the editors have made this specification available under
+ * the Open Web Foundation Agreement Version 1.0, which is available at
+ * http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0.
+ */
+
+[Constructor(optional (sequence<sequence<USVString>> or record<USVString, USVString> or USVString) init = ""),
+ Exposed=(Window,Worker,WorkerDebugger,System)]
+interface URLSearchParams {
+ undefined append(USVString name, USVString value);
+ undefined delete(USVString name);
+ USVString? get(USVString name);
+ sequence<USVString> getAll(USVString name);
+ boolean has(USVString name);
+ undefined set(USVString name, USVString value);
+
+ [Throws]
+ undefined sort();
+
+ iterable<USVString, USVString>;
+ stringifier;
+};
diff --git a/vendor/web-sys/webidls/enabled/UserProximityEvent.webidl b/vendor/web-sys/webidls/enabled/UserProximityEvent.webidl
new file mode 100644
index 000000000..671fc4625
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/UserProximityEvent.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ */
+
+[Pref="device.sensors.proximity.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional UserProximityEventInit eventInitDict)]
+interface UserProximityEvent : Event
+{
+ readonly attribute boolean near;
+};
+
+dictionary UserProximityEventInit : EventInit
+{
+ boolean near = false;
+};
diff --git a/vendor/web-sys/webidls/enabled/VRDisplay.webidl b/vendor/web-sys/webidls/enabled/VRDisplay.webidl
new file mode 100644
index 000000000..b5337e197
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VRDisplay.webidl
@@ -0,0 +1,317 @@
+/* -*- 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/. */
+
+enum VREye {
+ "left",
+ "right"
+};
+
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRFieldOfView {
+ readonly attribute double upDegrees;
+ readonly attribute double rightDegrees;
+ readonly attribute double downDegrees;
+ readonly attribute double leftDegrees;
+};
+
+typedef (HTMLCanvasElement or OffscreenCanvas) VRSource;
+
+dictionary VRLayer {
+ /**
+ * XXX - When WebVR in WebWorkers is implemented, HTMLCanvasElement below
+ * should be replaced with VRSource.
+ */
+ HTMLCanvasElement? source = null;
+
+ /**
+ * The left and right viewports contain 4 values defining the viewport
+ * rectangles within the canvas to present to the eye in UV space.
+ * [0] left offset of the viewport (0.0 - 1.0)
+ * [1] top offset of the viewport (0.0 - 1.0)
+ * [2] width of the viewport (0.0 - 1.0)
+ * [3] height of the viewport (0.0 - 1.0)
+ *
+ * When no values are passed, they will be processed as though the left
+ * and right sides of the viewport were passed:
+ *
+ * leftBounds: [0.0, 0.0, 0.5, 1.0]
+ * rightBounds: [0.5, 0.0, 0.5, 1.0]
+ */
+ sequence<float> leftBounds = [];
+ sequence<float> rightBounds = [];
+};
+
+/**
+ * Values describing the capabilities of a VRDisplay.
+ * These are expected to be static per-device/per-user.
+ */
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRDisplayCapabilities {
+ /**
+ * hasPosition is true if the VRDisplay is capable of tracking its position.
+ */
+ readonly attribute boolean hasPosition;
+
+ /**
+ * hasOrientation is true if the VRDisplay is capable of tracking its orientation.
+ */
+ readonly attribute boolean hasOrientation;
+
+ /**
+ * Whether the VRDisplay is separate from the device’s
+ * primary display. If presenting VR content will obscure
+ * other content on the device, this should be false. When
+ * false, the application should not attempt to mirror VR content
+ * or update non-VR UI because that content will not be visible.
+ */
+ readonly attribute boolean hasExternalDisplay;
+
+ /**
+ * Whether the VRDisplay is capable of presenting content to an HMD or similar device.
+ * Can be used to indicate “magic window” devices that are capable of 6DoF tracking but for
+ * which requestPresent is not meaningful. If false then calls to requestPresent should
+ * always fail, and getEyeParameters should return null.
+ */
+ readonly attribute boolean canPresent;
+
+ /**
+ * Indicates the maximum length of the array that requestPresent() will accept. MUST be 1 if
+ canPresent is true, 0 otherwise.
+ */
+ readonly attribute unsigned long maxLayers;
+};
+
+/**
+ * Values describing the the stage / play area for devices
+ * that support room-scale experiences.
+ */
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRStageParameters {
+ /**
+ * A 16-element array containing the components of a column-major 4x4
+ * affine transform matrix. This matrix transforms the sitting-space position
+ * returned by get{Immediate}Pose() to a standing-space position.
+ */
+ [Throws] readonly attribute Float32Array sittingToStandingTransform;
+
+ /**
+ * Dimensions of the play-area bounds. The bounds are defined
+ * as an axis-aligned rectangle on the floor.
+ * The center of the rectangle is at (0,0,0) in standing-space
+ * coordinates.
+ * These bounds are defined for safety purposes.
+ * Content should not require the user to move beyond these
+ * bounds; however, it is possible for the user to ignore
+ * the bounds resulting in position values outside of
+ * this rectangle.
+ */
+ readonly attribute float sizeX;
+ readonly attribute float sizeZ;
+};
+
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRPose
+{
+ /**
+ * position, linearVelocity, and linearAcceleration are 3-component vectors.
+ * position is relative to a sitting space. Transforming this point with
+ * VRStageParameters.sittingToStandingTransform converts this to standing space.
+ */
+ [Constant, Throws] readonly attribute Float32Array? position;
+ [Constant, Throws] readonly attribute Float32Array? linearVelocity;
+ [Constant, Throws] readonly attribute Float32Array? linearAcceleration;
+
+ /* orientation is a 4-entry array representing the components of a quaternion. */
+ [Constant, Throws] readonly attribute Float32Array? orientation;
+ /* angularVelocity and angularAcceleration are the components of 3-dimensional vectors. */
+ [Constant, Throws] readonly attribute Float32Array? angularVelocity;
+ [Constant, Throws] readonly attribute Float32Array? angularAcceleration;
+};
+
+[Constructor,
+ Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRFrameData {
+ readonly attribute DOMHighResTimeStamp timestamp;
+
+ [Throws, Pure] readonly attribute Float32Array leftProjectionMatrix;
+ [Throws, Pure] readonly attribute Float32Array leftViewMatrix;
+
+ [Throws, Pure] readonly attribute Float32Array rightProjectionMatrix;
+ [Throws, Pure] readonly attribute Float32Array rightViewMatrix;
+
+ [Pure] readonly attribute VRPose pose;
+};
+
+[Constructor,
+ Pref="dom.vr.test.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRSubmitFrameResult {
+ readonly attribute unsigned long frameNum;
+ readonly attribute DOMString? base64Image;
+};
+
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VREyeParameters {
+ /**
+ * offset is a 3-component vector representing an offset to
+ * translate the eye. This value may vary from frame
+ * to frame if the user adjusts their headset ipd.
+ */
+ [Constant, Throws] readonly attribute Float32Array offset;
+
+ /* These values may vary as the user adjusts their headset ipd. */
+ [Constant] readonly attribute VRFieldOfView fieldOfView;
+
+ /**
+ * renderWidth and renderHeight specify the recommended render target
+ * size of each eye viewport, in pixels. If multiple eyes are rendered
+ * in a single render target, then the render target should be made large
+ * enough to fit both viewports.
+ */
+ [Constant] readonly attribute unsigned long renderWidth;
+ [Constant] readonly attribute unsigned long renderHeight;
+};
+
+[Pref="dom.vr.enabled",
+ HeaderFile="mozilla/dom/VRDisplay.h"]
+interface VRDisplay : EventTarget {
+ /**
+ * presentingGroups is a bitmask indicating which VR session groups
+ * have an active VR presentation.
+ */
+ [ChromeOnly] readonly attribute unsigned long presentingGroups;
+ /**
+ * Setting groupMask causes submitted frames by VR sessions that
+ * aren't included in the bitmasked groups to be ignored.
+ * Non-chrome content is not aware of the value of groupMask.
+ * VRDisplay.RequestAnimationFrame will still fire for VR sessions
+ * that are hidden by groupMask, enabling their performance to be
+ * measured by chrome UI that is presented in other groups.
+ * This is expected to be used in cases where chrome UI is presenting
+ * information during link traversal or presenting options when content
+ * performance is too low for comfort.
+ * The VR refresh / VSync cycle is driven by the visible content
+ * and the non-visible content may have a throttled refresh rate.
+ */
+ [ChromeOnly] attribute unsigned long groupMask;
+
+ readonly attribute boolean isConnected;
+ readonly attribute boolean isPresenting;
+
+ /**
+ * Dictionary of capabilities describing the VRDisplay.
+ */
+ [Constant] readonly attribute VRDisplayCapabilities capabilities;
+
+ /**
+ * If this VRDisplay supports room-scale experiences, the optional
+ * stage attribute contains details on the room-scale parameters.
+ */
+ readonly attribute VRStageParameters? stageParameters;
+
+ /* Return the current VREyeParameters for the given eye. */
+ VREyeParameters getEyeParameters(VREye whichEye);
+
+ /**
+ * An identifier for this distinct VRDisplay. Used as an
+ * association point in the Gamepad API.
+ */
+ [Constant] readonly attribute unsigned long displayId;
+
+ /**
+ * A display name, a user-readable name identifying it.
+ */
+ [Constant] readonly attribute DOMString displayName;
+
+ /**
+ * Populates the passed VRFrameData with the information required to render
+ * the current frame.
+ */
+ boolean getFrameData(VRFrameData frameData);
+
+ /**
+ * Return a VRPose containing the future predicted pose of the VRDisplay
+ * when the current frame will be presented. Subsequent calls to getPose()
+ * MUST return a VRPose with the same values until the next call to
+ * submitFrame().
+ *
+ * The VRPose will contain the position, orientation, velocity,
+ * and acceleration of each of these properties.
+ */
+ [NewObject] VRPose getPose();
+
+ [Pref="dom.vr.test.enabled"]
+ boolean getSubmitFrameResult(VRSubmitFrameResult result);
+
+ /**
+ * Reset the pose for this display, treating its current position and
+ * orientation as the "origin/zero" values. VRPose.position,
+ * VRPose.orientation, and VRStageParameters.sittingToStandingTransform may be
+ * updated when calling resetPose(). This should be called in only
+ * sitting-space experiences.
+ */
+ undefined resetPose();
+
+ /**
+ * z-depth defining the near plane of the eye view frustum
+ * enables mapping of values in the render target depth
+ * attachment to scene coordinates. Initially set to 0.01.
+ */
+ attribute double depthNear;
+
+ /**
+ * z-depth defining the far plane of the eye view frustum
+ * enables mapping of values in the render target depth
+ * attachment to scene coordinates. Initially set to 10000.0.
+ */
+ attribute double depthFar;
+
+ /**
+ * The callback passed to `requestAnimationFrame` will be called
+ * any time a new frame should be rendered. When the VRDisplay is
+ * presenting the callback will be called at the native refresh
+ * rate of the HMD. When not presenting this function acts
+ * identically to how window.requestAnimationFrame acts. Content should
+ * make no assumptions of frame rate or vsync behavior as the HMD runs
+ * asynchronously from other displays and at differing refresh rates.
+ */
+ [Throws] long requestAnimationFrame(FrameRequestCallback callback);
+
+ /**
+ * Passing the value returned by `requestAnimationFrame` to
+ * `cancelAnimationFrame` will unregister the callback.
+ */
+ [Throws] undefined cancelAnimationFrame(long handle);
+
+ /**
+ * Begin presenting to the VRDisplay. Must be called in response to a user gesture.
+ * Repeat calls while already presenting will update the VRLayers being displayed.
+ */
+ [Throws, NeedsCallerType] Promise<undefined> requestPresent(sequence<VRLayer> layers);
+
+ /**
+ * Stops presenting to the VRDisplay.
+ */
+ [Throws] Promise<undefined> exitPresent();
+
+ /**
+ * Get the layers currently being presented.
+ */
+ sequence<VRLayer> getLayers();
+
+ /**
+ * The VRLayer provided to the VRDisplay will be captured and presented
+ * in the HMD. Calling this function has the same effect on the source
+ * canvas as any other operation that uses its source image, and canvases
+ * created without preserveDrawingBuffer set to true will be cleared.
+ */
+ undefined submitFrame();
+};
diff --git a/vendor/web-sys/webidls/enabled/VRServiceTest.webidl b/vendor/web-sys/webidls/enabled/VRServiceTest.webidl
new file mode 100644
index 000000000..979fd8d11
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VRServiceTest.webidl
@@ -0,0 +1,39 @@
+/* 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/.
+ *
+ * This WebIDL is just for WebVR testing.
+ */
+
+[Pref="dom.vr.test.enabled",
+ HeaderFile="mozilla/dom/VRServiceTest.h"]
+interface VRMockDisplay {
+ undefined setEyeResolution(unsigned long aRenderWidth, unsigned long aRenderHeight);
+ undefined setEyeParameter(VREye eye, double offsetX, double offsetY, double offsetZ,
+ double upDegree, double rightDegree,
+ double downDegree, double leftDegree);
+ undefined setPose(Float32Array? position, Float32Array? linearVelocity,
+ Float32Array? linearAcceleration, Float32Array? orientation,
+ Float32Array? angularVelocity, Float32Array? angularAcceleration);
+ undefined setMountState(boolean isMounted);
+ undefined update();
+};
+
+[Pref="dom.vr.test.enabled",
+ HeaderFile="mozilla/dom/VRServiceTest.h"]
+interface VRMockController {
+ undefined newButtonEvent(unsigned long button, boolean pressed);
+ undefined newAxisMoveEvent(unsigned long axis, double value);
+ undefined newPoseMove(Float32Array? position, Float32Array? linearVelocity,
+ Float32Array? linearAcceleration, Float32Array? orientation,
+ Float32Array? angularVelocity, Float32Array? angularAcceleration);
+};
+
+[Pref="dom.vr.test.enabled",
+ HeaderFile="mozilla/dom/VRServiceTest.h"]
+interface VRServiceTest {
+ [Throws, NewObject]
+ Promise<VRMockDisplay> attachVRDisplay(DOMString id);
+ [Throws, NewObject]
+ Promise<VRMockController> attachVRController(DOMString id);
+};
diff --git a/vendor/web-sys/webidls/enabled/VTTCue.webidl b/vendor/web-sys/webidls/enabled/VTTCue.webidl
new file mode 100644
index 000000000..db4540e4a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VTTCue.webidl
@@ -0,0 +1,57 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/html5/webvtt/#the-vttcue-interface
+ */
+
+enum AutoKeyword { "auto" };
+
+enum LineAlignSetting {
+ "start",
+ "center",
+ "end"
+};
+
+enum PositionAlignSetting {
+ "line-left",
+ "center",
+ "line-right",
+ "auto"
+};
+
+enum AlignSetting {
+ "start",
+ "center",
+ "end",
+ "left",
+ "right"
+};
+
+enum DirectionSetting {
+ "",
+ "rl",
+ "lr"
+};
+
+[Constructor(double startTime, double endTime, DOMString text)]
+interface VTTCue : TextTrackCue {
+ [Pref="media.webvtt.regions.enabled"]
+ attribute VTTRegion? region;
+ attribute DirectionSetting vertical;
+ attribute boolean snapToLines;
+ attribute (double or AutoKeyword) line;
+ [SetterThrows]
+ attribute LineAlignSetting lineAlign;
+ [SetterThrows]
+ attribute (double or AutoKeyword) position;
+ [SetterThrows]
+ attribute PositionAlignSetting positionAlign;
+ [SetterThrows]
+ attribute double size;
+ attribute AlignSetting align;
+ attribute DOMString text;
+ DocumentFragment getCueAsHTML();
+};
diff --git a/vendor/web-sys/webidls/enabled/VTTRegion.webidl b/vendor/web-sys/webidls/enabled/VTTRegion.webidl
new file mode 100644
index 000000000..d665cfea4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VTTRegion.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/webvtt/#the-vttregion-interface
+ */
+
+enum ScrollSetting {
+ "",
+ "up"
+};
+
+[Constructor, Pref="media.webvtt.regions.enabled"]
+interface VTTRegion {
+ attribute DOMString id;
+ [SetterThrows]
+ attribute double width;
+ [SetterThrows]
+ attribute long lines;
+ [SetterThrows]
+ attribute double regionAnchorX;
+ [SetterThrows]
+ attribute double regionAnchorY;
+ [SetterThrows]
+ attribute double viewportAnchorX;
+ [SetterThrows]
+ attribute double viewportAnchorY;
+
+ attribute ScrollSetting scroll;
+};
diff --git a/vendor/web-sys/webidls/enabled/ValidityState.webidl b/vendor/web-sys/webidls/enabled/ValidityState.webidl
new file mode 100644
index 000000000..7e99870e9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/ValidityState.webidl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#validitystate
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface ValidityState {
+ readonly attribute boolean valueMissing;
+ readonly attribute boolean typeMismatch;
+ readonly attribute boolean patternMismatch;
+ readonly attribute boolean tooLong;
+ readonly attribute boolean tooShort;
+ readonly attribute boolean rangeUnderflow;
+ readonly attribute boolean rangeOverflow;
+ readonly attribute boolean stepMismatch;
+ readonly attribute boolean badInput;
+ readonly attribute boolean customError;
+ readonly attribute boolean valid;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/VideoPlaybackQuality.webidl b/vendor/web-sys/webidls/enabled/VideoPlaybackQuality.webidl
new file mode 100644
index 000000000..abbe8d19a
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VideoPlaybackQuality.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Func="mozilla::dom::MediaSource::Enabled"]
+interface VideoPlaybackQuality {
+ readonly attribute DOMHighResTimeStamp creationTime;
+ readonly attribute unsigned long totalVideoFrames;
+ readonly attribute unsigned long droppedVideoFrames;
+ readonly attribute unsigned long corruptedVideoFrames;
+// At Risk: readonly attribute double totalFrameDelay;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/VideoStreamTrack.webidl b/vendor/web-sys/webidls/enabled/VideoStreamTrack.webidl
new file mode 100644
index 000000000..2ad6014b4
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VideoStreamTrack.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// [Constructor(optional MediaTrackConstraints videoConstraints)]
+interface VideoStreamTrack : MediaStreamTrack {
+// static sequence<DOMString> getSourceIds ();
+// undefined takePhoto ();
+// attribute EventHandler onphoto;
+// attribute EventHandler onphotoerror;
+};
diff --git a/vendor/web-sys/webidls/enabled/VideoTrack.webidl b/vendor/web-sys/webidls/enabled/VideoTrack.webidl
new file mode 100644
index 000000000..6834d1084
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VideoTrack.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#videotrack
+ */
+
+[Pref="media.track.enabled"]
+interface VideoTrack {
+ readonly attribute DOMString id;
+ readonly attribute DOMString kind;
+ readonly attribute DOMString label;
+ readonly attribute DOMString language;
+ attribute boolean selected;
+};
+
+partial interface VideoTrack {
+ readonly attribute SourceBuffer? sourceBuffer;
+};
diff --git a/vendor/web-sys/webidls/enabled/VideoTrackList.webidl b/vendor/web-sys/webidls/enabled/VideoTrackList.webidl
new file mode 100644
index 000000000..144120226
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/VideoTrackList.webidl
@@ -0,0 +1,21 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#videotracklist
+ */
+
+[Pref="media.track.enabled"]
+interface VideoTrackList : EventTarget {
+ readonly attribute unsigned long length;
+ getter VideoTrack (unsigned long index);
+ VideoTrack? getTrackById(DOMString id);
+ readonly attribute long selectedIndex;
+
+ attribute EventHandler onchange;
+ attribute EventHandler onaddtrack;
+ attribute EventHandler onremovetrack;
+};
+
diff --git a/vendor/web-sys/webidls/enabled/WaveShaperNode.webidl b/vendor/web-sys/webidls/enabled/WaveShaperNode.webidl
new file mode 100644
index 000000000..669fe9776
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WaveShaperNode.webidl
@@ -0,0 +1,32 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://webaudio.github.io/web-audio-api/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+enum OverSampleType {
+ "none",
+ "2x",
+ "4x"
+};
+
+dictionary WaveShaperOptions : AudioNodeOptions {
+ sequence<float> curve;
+ OverSampleType oversample = "none";
+};
+
+[Pref="dom.webaudio.enabled",
+ Constructor(BaseAudioContext context, optional WaveShaperOptions options)]
+interface WaveShaperNode : AudioNode {
+
+ [Cached, Pure, SetterThrows]
+ attribute Float32Array? curve;
+ attribute OverSampleType oversample;
+
+};
diff --git a/vendor/web-sys/webidls/enabled/WebAuthentication.webidl b/vendor/web-sys/webidls/enabled/WebAuthentication.webidl
new file mode 100644
index 000000000..f9a6df415
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebAuthentication.webidl
@@ -0,0 +1,166 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/webauthn/
+ */
+
+/***** Interfaces to Data *****/
+
+[SecureContext, Pref="security.webauth.webauthn"]
+interface PublicKeyCredential : Credential {
+ [SameObject] readonly attribute ArrayBuffer rawId;
+ [SameObject] readonly attribute AuthenticatorResponse response;
+ AuthenticationExtensionsClientOutputs getClientExtensionResults();
+};
+
+[SecureContext]
+partial interface PublicKeyCredential {
+ static Promise<boolean> isUserVerifyingPlatformAuthenticatorAvailable();
+};
+
+[SecureContext, Pref="security.webauth.webauthn"]
+interface AuthenticatorResponse {
+ [SameObject] readonly attribute ArrayBuffer clientDataJSON;
+};
+
+[SecureContext, Pref="security.webauth.webauthn"]
+interface AuthenticatorAttestationResponse : AuthenticatorResponse {
+ [SameObject] readonly attribute ArrayBuffer attestationObject;
+};
+
+[SecureContext, Pref="security.webauth.webauthn"]
+interface AuthenticatorAssertionResponse : AuthenticatorResponse {
+ [SameObject] readonly attribute ArrayBuffer authenticatorData;
+ [SameObject] readonly attribute ArrayBuffer signature;
+ [SameObject] readonly attribute ArrayBuffer? userHandle;
+};
+
+dictionary PublicKeyCredentialParameters {
+ required PublicKeyCredentialType type;
+ required COSEAlgorithmIdentifier alg;
+};
+
+dictionary PublicKeyCredentialCreationOptions {
+ required PublicKeyCredentialRpEntity rp;
+ required PublicKeyCredentialUserEntity user;
+
+ required BufferSource challenge;
+ required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
+
+ unsigned long timeout;
+ sequence<PublicKeyCredentialDescriptor> excludeCredentials = [];
+ AuthenticatorSelectionCriteria authenticatorSelection;
+ AttestationConveyancePreference attestation = "none";
+ AuthenticationExtensionsClientInputs extensions;
+};
+
+dictionary PublicKeyCredentialEntity {
+ required DOMString name;
+ USVString icon;
+};
+
+dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity {
+ DOMString id;
+};
+
+dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity {
+ required BufferSource id;
+ required DOMString displayName;
+};
+
+dictionary AuthenticatorSelectionCriteria {
+ AuthenticatorAttachment authenticatorAttachment;
+ boolean requireResidentKey = false;
+ UserVerificationRequirement userVerification = "preferred";
+};
+
+enum AuthenticatorAttachment {
+ "platform", // Platform attachment
+ "cross-platform" // Cross-platform attachment
+};
+
+enum AttestationConveyancePreference {
+ "none",
+ "indirect",
+ "direct"
+};
+
+enum UserVerificationRequirement {
+ "required",
+ "preferred",
+ "discouraged"
+};
+
+dictionary PublicKeyCredentialRequestOptions {
+ required BufferSource challenge;
+ unsigned long timeout;
+ USVString rpId;
+ sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
+ UserVerificationRequirement userVerification = "preferred";
+ AuthenticationExtensionsClientInputs extensions;
+};
+
+// TODO - Use partial dictionaries when bug 1436329 is fixed.
+dictionary AuthenticationExtensionsClientInputs {
+ // FIDO AppID Extension (appid)
+ // <https://w3c.github.io/webauthn/#sctn-appid-extension>
+ USVString appid;
+};
+
+// TODO - Use partial dictionaries when bug 1436329 is fixed.
+dictionary AuthenticationExtensionsClientOutputs {
+ // FIDO AppID Extension (appid)
+ // <https://w3c.github.io/webauthn/#sctn-appid-extension>
+ boolean appid;
+};
+
+typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs;
+
+dictionary CollectedClientData {
+ required DOMString type;
+ required DOMString challenge;
+ required DOMString origin;
+ required DOMString hashAlgorithm;
+ DOMString tokenBindingId;
+ AuthenticationExtensionsClientInputs clientExtensions;
+ AuthenticationExtensionsAuthenticatorInputs authenticatorExtensions;
+};
+
+enum PublicKeyCredentialType {
+ "public-key"
+};
+
+dictionary PublicKeyCredentialDescriptor {
+ required PublicKeyCredentialType type;
+ required BufferSource id;
+ sequence<AuthenticatorTransport> transports;
+};
+
+enum AuthenticatorTransport {
+ "usb",
+ "nfc",
+ "ble"
+};
+
+typedef long COSEAlgorithmIdentifier;
+
+typedef sequence<AAGUID> AuthenticatorSelectionList;
+
+typedef BufferSource AAGUID;
+
+/*
+// FIDO AppID Extension (appid)
+// <https://w3c.github.io/webauthn/#sctn-appid-extension>
+partial dictionary AuthenticationExtensionsClientInputs {
+ USVString appid;
+};
+
+// FIDO AppID Extension (appid)
+// <https://w3c.github.io/webauthn/#sctn-appid-extension>
+partial dictionary AuthenticationExtensionsClientOutputs {
+ boolean appid;
+};
+*/
diff --git a/vendor/web-sys/webidls/enabled/WebComponents.webidl b/vendor/web-sys/webidls/enabled/WebComponents.webidl
new file mode 100644
index 000000000..46396e3b1
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebComponents.webidl
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+callback LifecycleConnectedCallback = undefined();
+callback LifecycleDisconnectedCallback = undefined();
+callback LifecycleAdoptedCallback = undefined(Document? oldDocument,
+ Document? newDocment);
+callback LifecycleAttributeChangedCallback = undefined(DOMString attrName,
+ DOMString? oldValue,
+ DOMString? newValue,
+ DOMString? namespaceURI);
+
+dictionary LifecycleCallbacks {
+ LifecycleConnectedCallback connectedCallback;
+ LifecycleDisconnectedCallback disconnectedCallback;
+ LifecycleAdoptedCallback adoptedCallback;
+ LifecycleAttributeChangedCallback attributeChangedCallback;
+};
diff --git a/vendor/web-sys/webidls/enabled/WebGL2RenderingContext.webidl b/vendor/web-sys/webidls/enabled/WebGL2RenderingContext.webidl
new file mode 100644
index 000000000..2b6efb550
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebGL2RenderingContext.webidl
@@ -0,0 +1,737 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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/.
+ *
+ * The source for this IDL is found at https://www.khronos.org/registry/webgl/specs/latest/2.0
+ * This IDL depends on WebGLRenderingContext.webidl
+ */
+
+typedef long long GLint64;
+typedef unsigned long long GLuint64;
+
+[Pref="webgl.enable-webgl2"]
+interface WebGLSampler {
+};
+
+[Pref="webgl.enable-webgl2"]
+interface WebGLSync {
+};
+
+[Pref="webgl.enable-webgl2"]
+interface WebGLTransformFeedback {
+};
+
+typedef (Uint32Array or sequence<GLuint>) Uint32List;
+
+// WebGL2 spec has this as an empty interface that pulls in everything
+// via WebGL2RenderingContextBase.
+[Exposed=(Window,Worker),
+ Pref="webgl.enable-webgl2"]
+interface WebGL2RenderingContext
+{
+};
+
+interface mixin WebGL2RenderingContextBase
+{
+ const GLenum READ_BUFFER = 0x0C02;
+ const GLenum UNPACK_ROW_LENGTH = 0x0CF2;
+ const GLenum UNPACK_SKIP_ROWS = 0x0CF3;
+ const GLenum UNPACK_SKIP_PIXELS = 0x0CF4;
+ const GLenum PACK_ROW_LENGTH = 0x0D02;
+ const GLenum PACK_SKIP_ROWS = 0x0D03;
+ const GLenum PACK_SKIP_PIXELS = 0x0D04;
+ const GLenum COLOR = 0x1800;
+ const GLenum DEPTH = 0x1801;
+ const GLenum STENCIL = 0x1802;
+ const GLenum RED = 0x1903;
+ const GLenum RGB8 = 0x8051;
+ const GLenum RGBA8 = 0x8058;
+ const GLenum RGB10_A2 = 0x8059;
+ const GLenum TEXTURE_BINDING_3D = 0x806A;
+ const GLenum UNPACK_SKIP_IMAGES = 0x806D;
+ const GLenum UNPACK_IMAGE_HEIGHT = 0x806E;
+ const GLenum TEXTURE_3D = 0x806F;
+ const GLenum TEXTURE_WRAP_R = 0x8072;
+ const GLenum MAX_3D_TEXTURE_SIZE = 0x8073;
+ const GLenum UNSIGNED_INT_2_10_10_10_REV = 0x8368;
+ const GLenum MAX_ELEMENTS_VERTICES = 0x80E8;
+ const GLenum MAX_ELEMENTS_INDICES = 0x80E9;
+ const GLenum TEXTURE_MIN_LOD = 0x813A;
+ const GLenum TEXTURE_MAX_LOD = 0x813B;
+ const GLenum TEXTURE_BASE_LEVEL = 0x813C;
+ const GLenum TEXTURE_MAX_LEVEL = 0x813D;
+ const GLenum MIN = 0x8007;
+ const GLenum MAX = 0x8008;
+ const GLenum DEPTH_COMPONENT24 = 0x81A6;
+ const GLenum MAX_TEXTURE_LOD_BIAS = 0x84FD;
+ const GLenum TEXTURE_COMPARE_MODE = 0x884C;
+ const GLenum TEXTURE_COMPARE_FUNC = 0x884D;
+ const GLenum CURRENT_QUERY = 0x8865;
+ const GLenum QUERY_RESULT = 0x8866;
+ const GLenum QUERY_RESULT_AVAILABLE = 0x8867;
+ const GLenum STREAM_READ = 0x88E1;
+ const GLenum STREAM_COPY = 0x88E2;
+ const GLenum STATIC_READ = 0x88E5;
+ const GLenum STATIC_COPY = 0x88E6;
+ const GLenum DYNAMIC_READ = 0x88E9;
+ const GLenum DYNAMIC_COPY = 0x88EA;
+ const GLenum MAX_DRAW_BUFFERS = 0x8824;
+ const GLenum DRAW_BUFFER0 = 0x8825;
+ const GLenum DRAW_BUFFER1 = 0x8826;
+ const GLenum DRAW_BUFFER2 = 0x8827;
+ const GLenum DRAW_BUFFER3 = 0x8828;
+ const GLenum DRAW_BUFFER4 = 0x8829;
+ const GLenum DRAW_BUFFER5 = 0x882A;
+ const GLenum DRAW_BUFFER6 = 0x882B;
+ const GLenum DRAW_BUFFER7 = 0x882C;
+ const GLenum DRAW_BUFFER8 = 0x882D;
+ const GLenum DRAW_BUFFER9 = 0x882E;
+ const GLenum DRAW_BUFFER10 = 0x882F;
+ const GLenum DRAW_BUFFER11 = 0x8830;
+ const GLenum DRAW_BUFFER12 = 0x8831;
+ const GLenum DRAW_BUFFER13 = 0x8832;
+ const GLenum DRAW_BUFFER14 = 0x8833;
+ const GLenum DRAW_BUFFER15 = 0x8834;
+ const GLenum MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
+ const GLenum MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
+ const GLenum SAMPLER_3D = 0x8B5F;
+ const GLenum SAMPLER_2D_SHADOW = 0x8B62;
+ const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
+ const GLenum PIXEL_PACK_BUFFER = 0x88EB;
+ const GLenum PIXEL_UNPACK_BUFFER = 0x88EC;
+ const GLenum PIXEL_PACK_BUFFER_BINDING = 0x88ED;
+ const GLenum PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
+ const GLenum FLOAT_MAT2x3 = 0x8B65;
+ const GLenum FLOAT_MAT2x4 = 0x8B66;
+ const GLenum FLOAT_MAT3x2 = 0x8B67;
+ const GLenum FLOAT_MAT3x4 = 0x8B68;
+ const GLenum FLOAT_MAT4x2 = 0x8B69;
+ const GLenum FLOAT_MAT4x3 = 0x8B6A;
+ const GLenum SRGB = 0x8C40;
+ const GLenum SRGB8 = 0x8C41;
+ const GLenum SRGB8_ALPHA8 = 0x8C43;
+ const GLenum COMPARE_REF_TO_TEXTURE = 0x884E;
+ const GLenum RGBA32F = 0x8814;
+ const GLenum RGB32F = 0x8815;
+ const GLenum RGBA16F = 0x881A;
+ const GLenum RGB16F = 0x881B;
+ const GLenum VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
+ const GLenum MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
+ const GLenum MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
+ const GLenum MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
+ const GLenum MAX_VARYING_COMPONENTS = 0x8B4B;
+ const GLenum TEXTURE_2D_ARRAY = 0x8C1A;
+ const GLenum TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
+ const GLenum R11F_G11F_B10F = 0x8C3A;
+ const GLenum UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
+ const GLenum RGB9_E5 = 0x8C3D;
+ const GLenum UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
+ const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
+ const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
+ const GLenum TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
+ const GLenum TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
+ const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
+ const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
+ const GLenum RASTERIZER_DISCARD = 0x8C89;
+ const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
+ const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
+ const GLenum INTERLEAVED_ATTRIBS = 0x8C8C;
+ const GLenum SEPARATE_ATTRIBS = 0x8C8D;
+ const GLenum TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
+ const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
+ const GLenum RGBA32UI = 0x8D70;
+ const GLenum RGB32UI = 0x8D71;
+ const GLenum RGBA16UI = 0x8D76;
+ const GLenum RGB16UI = 0x8D77;
+ const GLenum RGBA8UI = 0x8D7C;
+ const GLenum RGB8UI = 0x8D7D;
+ const GLenum RGBA32I = 0x8D82;
+ const GLenum RGB32I = 0x8D83;
+ const GLenum RGBA16I = 0x8D88;
+ const GLenum RGB16I = 0x8D89;
+ const GLenum RGBA8I = 0x8D8E;
+ const GLenum RGB8I = 0x8D8F;
+ const GLenum RED_INTEGER = 0x8D94;
+ const GLenum RGB_INTEGER = 0x8D98;
+ const GLenum RGBA_INTEGER = 0x8D99;
+ const GLenum SAMPLER_2D_ARRAY = 0x8DC1;
+ const GLenum SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
+ const GLenum SAMPLER_CUBE_SHADOW = 0x8DC5;
+ const GLenum UNSIGNED_INT_VEC2 = 0x8DC6;
+ const GLenum UNSIGNED_INT_VEC3 = 0x8DC7;
+ const GLenum UNSIGNED_INT_VEC4 = 0x8DC8;
+ const GLenum INT_SAMPLER_2D = 0x8DCA;
+ const GLenum INT_SAMPLER_3D = 0x8DCB;
+ const GLenum INT_SAMPLER_CUBE = 0x8DCC;
+ const GLenum INT_SAMPLER_2D_ARRAY = 0x8DCF;
+ const GLenum UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
+ const GLenum UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
+ const GLenum UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
+ const GLenum UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
+ const GLenum DEPTH_COMPONENT32F = 0x8CAC;
+ const GLenum DEPTH32F_STENCIL8 = 0x8CAD;
+ const GLenum FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
+ const GLenum FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
+ const GLenum FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
+ const GLenum FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
+ const GLenum FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
+ const GLenum FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
+ const GLenum FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
+ const GLenum FRAMEBUFFER_DEFAULT = 0x8218;
+ const GLenum UNSIGNED_INT_24_8 = 0x84FA;
+ const GLenum DEPTH24_STENCIL8 = 0x88F0;
+ const GLenum UNSIGNED_NORMALIZED = 0x8C17;
+ const GLenum DRAW_FRAMEBUFFER_BINDING = 0x8CA6; /* Same as FRAMEBUFFER_BINDING */
+ const GLenum READ_FRAMEBUFFER = 0x8CA8;
+ const GLenum DRAW_FRAMEBUFFER = 0x8CA9;
+ const GLenum READ_FRAMEBUFFER_BINDING = 0x8CAA;
+ const GLenum RENDERBUFFER_SAMPLES = 0x8CAB;
+ const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
+ const GLenum MAX_COLOR_ATTACHMENTS = 0x8CDF;
+ const GLenum COLOR_ATTACHMENT1 = 0x8CE1;
+ const GLenum COLOR_ATTACHMENT2 = 0x8CE2;
+ const GLenum COLOR_ATTACHMENT3 = 0x8CE3;
+ const GLenum COLOR_ATTACHMENT4 = 0x8CE4;
+ const GLenum COLOR_ATTACHMENT5 = 0x8CE5;
+ const GLenum COLOR_ATTACHMENT6 = 0x8CE6;
+ const GLenum COLOR_ATTACHMENT7 = 0x8CE7;
+ const GLenum COLOR_ATTACHMENT8 = 0x8CE8;
+ const GLenum COLOR_ATTACHMENT9 = 0x8CE9;
+ const GLenum COLOR_ATTACHMENT10 = 0x8CEA;
+ const GLenum COLOR_ATTACHMENT11 = 0x8CEB;
+ const GLenum COLOR_ATTACHMENT12 = 0x8CEC;
+ const GLenum COLOR_ATTACHMENT13 = 0x8CED;
+ const GLenum COLOR_ATTACHMENT14 = 0x8CEE;
+ const GLenum COLOR_ATTACHMENT15 = 0x8CEF;
+ const GLenum FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
+ const GLenum MAX_SAMPLES = 0x8D57;
+ const GLenum HALF_FLOAT = 0x140B;
+ const GLenum RG = 0x8227;
+ const GLenum RG_INTEGER = 0x8228;
+ const GLenum R8 = 0x8229;
+ const GLenum RG8 = 0x822B;
+ const GLenum R16F = 0x822D;
+ const GLenum R32F = 0x822E;
+ const GLenum RG16F = 0x822F;
+ const GLenum RG32F = 0x8230;
+ const GLenum R8I = 0x8231;
+ const GLenum R8UI = 0x8232;
+ const GLenum R16I = 0x8233;
+ const GLenum R16UI = 0x8234;
+ const GLenum R32I = 0x8235;
+ const GLenum R32UI = 0x8236;
+ const GLenum RG8I = 0x8237;
+ const GLenum RG8UI = 0x8238;
+ const GLenum RG16I = 0x8239;
+ const GLenum RG16UI = 0x823A;
+ const GLenum RG32I = 0x823B;
+ const GLenum RG32UI = 0x823C;
+ const GLenum VERTEX_ARRAY_BINDING = 0x85B5;
+ const GLenum R8_SNORM = 0x8F94;
+ const GLenum RG8_SNORM = 0x8F95;
+ const GLenum RGB8_SNORM = 0x8F96;
+ const GLenum RGBA8_SNORM = 0x8F97;
+ const GLenum SIGNED_NORMALIZED = 0x8F9C;
+ const GLenum COPY_READ_BUFFER = 0x8F36;
+ const GLenum COPY_WRITE_BUFFER = 0x8F37;
+ const GLenum COPY_READ_BUFFER_BINDING = 0x8F36; /* Same as COPY_READ_BUFFER */
+ const GLenum COPY_WRITE_BUFFER_BINDING = 0x8F37; /* Same as COPY_WRITE_BUFFER */
+ const GLenum UNIFORM_BUFFER = 0x8A11;
+ const GLenum UNIFORM_BUFFER_BINDING = 0x8A28;
+ const GLenum UNIFORM_BUFFER_START = 0x8A29;
+ const GLenum UNIFORM_BUFFER_SIZE = 0x8A2A;
+ const GLenum MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
+ const GLenum MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
+ const GLenum MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
+ const GLenum MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
+ const GLenum MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
+ const GLenum MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
+ const GLenum MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
+ const GLenum UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
+ const GLenum ACTIVE_UNIFORM_BLOCKS = 0x8A36;
+ const GLenum UNIFORM_TYPE = 0x8A37;
+ const GLenum UNIFORM_SIZE = 0x8A38;
+ const GLenum UNIFORM_BLOCK_INDEX = 0x8A3A;
+ const GLenum UNIFORM_OFFSET = 0x8A3B;
+ const GLenum UNIFORM_ARRAY_STRIDE = 0x8A3C;
+ const GLenum UNIFORM_MATRIX_STRIDE = 0x8A3D;
+ const GLenum UNIFORM_IS_ROW_MAJOR = 0x8A3E;
+ const GLenum UNIFORM_BLOCK_BINDING = 0x8A3F;
+ const GLenum UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
+ const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
+ const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
+ const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
+ const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
+ const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
+ const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
+ const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
+ const GLenum OBJECT_TYPE = 0x9112;
+ const GLenum SYNC_CONDITION = 0x9113;
+ const GLenum SYNC_STATUS = 0x9114;
+ const GLenum SYNC_FLAGS = 0x9115;
+ const GLenum SYNC_FENCE = 0x9116;
+ const GLenum SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
+ const GLenum UNSIGNALED = 0x9118;
+ const GLenum SIGNALED = 0x9119;
+ const GLenum ALREADY_SIGNALED = 0x911A;
+ const GLenum TIMEOUT_EXPIRED = 0x911B;
+ const GLenum CONDITION_SATISFIED = 0x911C;
+ [NeedsWindowsUndef]
+ const GLenum WAIT_FAILED = 0x911D;
+ const GLenum SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
+ const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
+ const GLenum ANY_SAMPLES_PASSED = 0x8C2F;
+ const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
+ const GLenum SAMPLER_BINDING = 0x8919;
+ const GLenum RGB10_A2UI = 0x906F;
+ const GLenum INT_2_10_10_10_REV = 0x8D9F;
+ const GLenum TRANSFORM_FEEDBACK = 0x8E22;
+ const GLenum TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
+ const GLenum TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
+ const GLenum TRANSFORM_FEEDBACK_BINDING = 0x8E25;
+ const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F;
+ const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
+ const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
+
+ const GLint64 TIMEOUT_IGNORED = -1;
+
+ /* WebGL-specific enums */
+ const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;
+
+ /* Buffer objects */
+ // WebGL1:
+ undefined bufferData(GLenum target, GLsizeiptr size, GLenum usage);
+ undefined bufferData(GLenum target, ArrayBuffer? srcData, GLenum usage);
+ undefined bufferData(GLenum target, ArrayBufferView srcData, GLenum usage);
+ undefined bufferSubData(GLenum target, GLintptr offset, ArrayBuffer srcData);
+ undefined bufferSubData(GLenum target, GLintptr offset, ArrayBufferView srcData);
+ // WebGL2:
+ undefined bufferData(GLenum target, ArrayBufferView srcData, GLenum usage,
+ GLuint srcOffset, optional GLuint length = 0);
+ undefined bufferSubData(GLenum target, GLintptr dstByteOffset, ArrayBufferView srcData,
+ GLuint srcOffset, optional GLuint length = 0);
+
+ undefined copyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset,
+ GLintptr writeOffset, GLsizeiptr size);
+ // MapBufferRange, in particular its read-only and write-only modes,
+ // can not be exposed safely to JavaScript. GetBufferSubData
+ // replaces it for the purpose of fetching data back from the GPU.
+ undefined getBufferSubData(GLenum target, GLintptr srcByteOffset, ArrayBufferView dstData,
+ optional GLuint dstOffset = 0, optional GLuint length = 0);
+
+ /* Framebuffer objects */
+ undefined blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0,
+ GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+ undefined framebufferTextureLayer(GLenum target, GLenum attachment, WebGLTexture? texture, GLint level,
+ GLint layer);
+
+ [Throws]
+ undefined invalidateFramebuffer(GLenum target, sequence<GLenum> attachments);
+
+ [Throws]
+ undefined invalidateSubFramebuffer(GLenum target, sequence<GLenum> attachments,
+ GLint x, GLint y, GLsizei width, GLsizei height);
+
+ undefined readBuffer(GLenum src);
+
+ /* Renderbuffer objects */
+ [Throws]
+ any getInternalformatParameter(GLenum target, GLenum internalformat, GLenum pname);
+ undefined renderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat,
+ GLsizei width, GLsizei height);
+
+ /* Texture objects */
+ undefined texStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width,
+ GLsizei height);
+ undefined texStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width,
+ GLsizei height, GLsizei depth);
+
+ // WebGL1 legacy entrypoints:
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLsizei width, GLsizei height, GLint border, GLenum format,
+ GLenum type, ArrayBufferView? pixels);
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, ImageData source);
+
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type, ArrayBufferView? pixels);
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, ImageData source);
+
+ // WebGL2 entrypoints:
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type, GLintptr pboOffset);
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ ImageData source);
+ [Throws] // Another overhead throws.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type, ArrayBufferView srcData,
+ GLuint srcOffset);
+
+ [Throws] // Another overhead throws.
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type, GLintptr pboOffset);
+ [Throws]
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type,
+ ImageData source);
+ [Throws] // Another overhead throws.
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type, ArrayBufferView? srcData);
+ [Throws] // Another overhead throws.
+ undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLsizei depth, GLint border, GLenum format, GLenum type, ArrayBufferView srcData,
+ GLuint srcOffset);
+
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type, GLintptr pboOffset);
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ ImageData source);
+ [Throws] // Another overhead throws.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
+ GLsizei height, GLenum format, GLenum type, ArrayBufferView srcData,
+ GLuint srcOffset);
+
+ [Throws] // Another overhead throws.
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ GLintptr pboOffset);
+ [Throws]
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ HTMLCanvasElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ HTMLImageElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ HTMLVideoElement source); // May throw DOMException
+ [Throws]
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ VideoFrame source); // May throw DOMException
+ [Throws] // Another overhead throws.
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ ImageBitmap source);
+ [Throws] // Another overhead throws.
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ ImageData source);
+ [Throws] // Another overhead throws.
+ undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
+ ArrayBufferView? srcData, optional GLuint srcOffset = 0);
+
+ undefined copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
+ GLint x, GLint y, GLsizei width, GLsizei height);
+
+ undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
+ GLsizei height, GLint border, GLsizei imageSize, GLintptr offset);
+ undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
+ GLsizei height, GLint border, ArrayBufferView srcData,
+ optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0);
+
+ undefined compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
+ GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLintptr offset);
+ undefined compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
+ GLsizei height, GLsizei depth, GLint border, ArrayBufferView srcData,
+ optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0);
+
+ undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLintptr offset);
+ undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height, GLenum format,
+ ArrayBufferView srcData,
+ optional GLuint srcOffset = 0,
+ optional GLuint srcLengthOverride = 0);
+
+ undefined compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
+ GLenum format, GLsizei imageSize, GLintptr offset);
+ undefined compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
+ GLenum format, ArrayBufferView srcData,
+ optional GLuint srcOffset = 0,
+ optional GLuint srcLengthOverride = 0);
+
+ /* Programs and shaders */
+ [WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram program, DOMString name);
+
+ /* Uniforms */
+ undefined uniform1ui(WebGLUniformLocation? location, GLuint v0);
+ undefined uniform2ui(WebGLUniformLocation? location, GLuint v0, GLuint v1);
+ undefined uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2);
+ undefined uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+
+ undefined uniform1fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform2fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform3fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform4fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+
+ undefined uniform1iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform2iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform3iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform4iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+
+ undefined uniform1uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform2uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform3uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+ undefined uniform4uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
+ optional GLuint srcLength = 0);
+
+ undefined uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix3x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix4x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+
+ undefined uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+
+ undefined uniformMatrix2x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix3x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+ undefined uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
+ optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
+
+ /* Vertex attribs */
+ undefined vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
+ undefined vertexAttribI4iv(GLuint index, Int32List values);
+ undefined vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+ undefined vertexAttribI4uiv(GLuint index, Uint32List values);
+ undefined vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+
+ /* Writing to the drawing buffer */
+ undefined vertexAttribDivisor(GLuint index, GLuint divisor);
+ undefined drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
+ undefined drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei instanceCount);
+ undefined drawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLintptr offset);
+
+ /* Reading back pixels */
+ // WebGL1:
+ [Throws, NeedsCallerType] // Throws on readback in a write-only context.
+ undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
+ ArrayBufferView? dstData);
+ // WebGL2:
+ [Throws, NeedsCallerType] // Throws on readback in a write-only context.
+ undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
+ GLintptr offset);
+ [Throws, NeedsCallerType] // Throws on readback in a write-only context.
+ undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
+ ArrayBufferView dstData, GLuint dstOffset);
+
+ /* Multiple Render Targets */
+ undefined drawBuffers(sequence<GLenum> buffers);
+
+ undefined clearBufferfv(GLenum buffer, GLint drawbuffer, Float32List values,
+ optional GLuint srcOffset = 0);
+ undefined clearBufferiv(GLenum buffer, GLint drawbuffer, Int32List values,
+ optional GLuint srcOffset = 0);
+ undefined clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32List values,
+ optional GLuint srcOffset = 0);
+
+ undefined clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+
+ /* Query Objects */
+ WebGLQuery? createQuery();
+ undefined deleteQuery(WebGLQuery? query);
+ [WebGLHandlesContextLoss] GLboolean isQuery(WebGLQuery? query);
+ undefined beginQuery(GLenum target, WebGLQuery query);
+ undefined endQuery(GLenum target);
+ any getQuery(GLenum target, GLenum pname);
+ any getQueryParameter(WebGLQuery query, GLenum pname);
+
+ /* Sampler Objects */
+ WebGLSampler? createSampler();
+ undefined deleteSampler(WebGLSampler? sampler);
+ [WebGLHandlesContextLoss] GLboolean isSampler(WebGLSampler? sampler);
+ undefined bindSampler(GLuint unit, WebGLSampler? sampler);
+ undefined samplerParameteri(WebGLSampler sampler, GLenum pname, GLint param);
+ undefined samplerParameterf(WebGLSampler sampler, GLenum pname, GLfloat param);
+ any getSamplerParameter(WebGLSampler sampler, GLenum pname);
+
+ /* Sync objects */
+ WebGLSync? fenceSync(GLenum condition, GLbitfield flags);
+ [WebGLHandlesContextLoss] GLboolean isSync(WebGLSync? sync);
+ undefined deleteSync(WebGLSync? sync);
+ GLenum clientWaitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout);
+ undefined waitSync(WebGLSync sync, GLbitfield flags, GLint64 timeout);
+ any getSyncParameter(WebGLSync sync, GLenum pname);
+
+ /* Transform Feedback */
+ WebGLTransformFeedback? createTransformFeedback();
+ undefined deleteTransformFeedback(WebGLTransformFeedback? tf);
+ [WebGLHandlesContextLoss] GLboolean isTransformFeedback(WebGLTransformFeedback? tf);
+ undefined bindTransformFeedback(GLenum target, WebGLTransformFeedback? tf);
+ undefined beginTransformFeedback(GLenum primitiveMode);
+ undefined endTransformFeedback();
+ undefined transformFeedbackVaryings(WebGLProgram program, sequence<DOMString> varyings, GLenum bufferMode);
+ [NewObject]
+ WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram program, GLuint index);
+ undefined pauseTransformFeedback();
+ undefined resumeTransformFeedback();
+
+ /* Uniform Buffer Objects and Transform Feedback Buffers */
+ undefined bindBufferBase(GLenum target, GLuint index, WebGLBuffer? buffer);
+ undefined bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
+ [Throws] // GetOrCreateDOMReflector can fail.
+ any getIndexedParameter(GLenum target, GLuint index);
+ sequence<GLuint>? getUniformIndices(WebGLProgram program, sequence<DOMString> uniformNames);
+ any getActiveUniforms(WebGLProgram program, sequence<GLuint> uniformIndices, GLenum pname);
+ GLuint getUniformBlockIndex(WebGLProgram program, DOMString uniformBlockName);
+ [Throws] // Creating a Uint32Array can fail.
+ any getActiveUniformBlockParameter(WebGLProgram program, GLuint uniformBlockIndex, GLenum pname);
+ DOMString? getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex);
+ undefined uniformBlockBinding(WebGLProgram program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+
+ /* Vertex Array Objects */
+ WebGLVertexArrayObject? createVertexArray();
+ undefined deleteVertexArray(WebGLVertexArrayObject? vertexArray);
+ [WebGLHandlesContextLoss] GLboolean isVertexArray(WebGLVertexArrayObject? vertexArray);
+ undefined bindVertexArray(WebGLVertexArrayObject? array);
+};
+
+WebGL2RenderingContextBase includes WebGLRenderingContextBase;
+WebGL2RenderingContext includes WebGL2RenderingContextBase;
+
+[NoInterfaceObject]
+interface EXT_color_buffer_float {
+};
+
+[NoInterfaceObject]
+interface EXT_texture_norm16
+{
+ const GLenum R16_EXT = 0x822A;
+ const GLenum RG16_EXT = 0x822C;
+ const GLenum RGB16_EXT = 0x8054;
+ const GLenum RGBA16_EXT = 0x805B;
+ const GLenum R16_SNORM_EXT = 0x8F98;
+ const GLenum RG16_SNORM_EXT = 0x8F99;
+ const GLenum RGB16_SNORM_EXT = 0x8F9A;
+ const GLenum RGBA16_SNORM_EXT = 0x8F9B;
+};
diff --git a/vendor/web-sys/webidls/enabled/WebGLContextEvent.webidl b/vendor/web-sys/webidls/enabled/WebGLContextEvent.webidl
new file mode 100644
index 000000000..8b227da72
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebGLContextEvent.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+
+ * The origin of this IDL file is
+ * https://www.khronos.org/registry/webgl/specs/latest/1.0/#fire-a-webgl-context-event
+ */
+
+[Constructor(DOMString type, optional WebGLContextEventInit eventInit),
+ Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLContextEvent : Event {
+ readonly attribute DOMString statusMessage;
+};
+
+// EventInit is defined in the DOM4 specification.
+dictionary WebGLContextEventInit : EventInit {
+ DOMString statusMessage = "";
+};
diff --git a/vendor/web-sys/webidls/enabled/WebGLMultiDraw.webidl b/vendor/web-sys/webidls/enabled/WebGLMultiDraw.webidl
new file mode 100644
index 000000000..95feba931
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebGLMultiDraw.webidl
@@ -0,0 +1,31 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * The source for this IDL is found at https://www.khronos.org/registry/webgl/extensions/WEBGL_multi_draw/
+ */
+ [Exposed=(Window,Worker), LegacyNoInterfaceObject]
+interface WEBGL_multi_draw {
+ undefined multiDrawArraysWEBGL(
+ GLenum mode,
+ ([AllowShared] Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset,
+ ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset,
+ GLsizei drawcount);
+ undefined multiDrawElementsWEBGL(
+ GLenum mode,
+ ([AllowShared] Int32Array or sequence<GLint>) countsList, GLuint countsOffset,
+ GLenum type,
+ ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset,
+ GLsizei drawcount);
+ undefined multiDrawArraysInstancedWEBGL(
+ GLenum mode,
+ ([AllowShared] Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset,
+ ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset,
+ ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset,
+ GLsizei drawcount);
+ undefined multiDrawElementsInstancedWEBGL(
+ GLenum mode,
+ ([AllowShared] Int32Array or sequence<GLint>) countsList, GLuint countsOffset,
+ GLenum type,
+ ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset,
+ ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset,
+ GLsizei drawcount);
+};
diff --git a/vendor/web-sys/webidls/enabled/WebGLRenderingContext.webidl b/vendor/web-sys/webidls/enabled/WebGLRenderingContext.webidl
new file mode 100644
index 000000000..2960696ef
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebGLRenderingContext.webidl
@@ -0,0 +1,1114 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * https://www.khronos.org/registry/webgl/specs/latest/webgl.idl
+ *
+ * Copyright © 2012 Khronos Group
+ */
+
+// WebGL IDL definitions scraped from the Khronos specification:
+// https://www.khronos.org/registry/webgl/specs/latest/
+//
+// This IDL depends on the typed array specification defined at:
+// https://www.khronos.org/registry/typedarray/specs/latest/typedarrays.idl
+
+typedef unsigned long GLenum;
+typedef boolean GLboolean;
+typedef unsigned long GLbitfield;
+typedef byte GLbyte; /* 'byte' should be a signed 8 bit type. */
+typedef short GLshort;
+typedef long GLint;
+typedef long GLsizei;
+typedef long long GLintptr;
+typedef long long GLsizeiptr;
+// Ideally the typedef below would use 'unsigned byte', but that doesn't currently exist in Web IDL.
+typedef octet GLubyte; /* 'octet' should be an unsigned 8 bit type. */
+typedef unsigned short GLushort;
+typedef unsigned long GLuint;
+typedef unrestricted float GLfloat;
+typedef unrestricted float GLclampf;
+typedef unsigned long long GLuint64EXT;
+
+// The power preference settings are documented in the WebGLContextAttributes
+// section of the specification.
+enum WebGLPowerPreference { "default", "low-power", "high-performance" };
+
+dictionary WebGLContextAttributes {
+ // boolean alpha = true;
+ // We deviate from the spec here.
+ // If alpha isn't specified, we rely on a pref ("webgl.default-no-alpha")
+ GLboolean alpha;
+ GLboolean depth = true;
+ GLboolean stencil = false;
+ GLboolean antialias = true;
+ GLboolean premultipliedAlpha = true;
+ GLboolean preserveDrawingBuffer = false;
+ GLboolean failIfMajorPerformanceCaveat = false;
+ WebGLPowerPreference powerPreference = "default";
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLBuffer {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLFramebuffer {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLProgram {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLRenderbuffer {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLShader {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLTexture {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLUniformLocation {
+};
+
+interface WebGLVertexArrayObject {
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLActiveInfo {
+ readonly attribute GLint size;
+ readonly attribute GLenum type;
+ readonly attribute DOMString name;
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLShaderPrecisionFormat {
+ readonly attribute GLint rangeMin;
+ readonly attribute GLint rangeMax;
+ readonly attribute GLint precision;
+};
+
+typedef (Float32Array or sequence<GLfloat>) Float32List;
+typedef (Int32Array or sequence<GLint>) Int32List;
+
+// Shared interface for the things that WebGLRenderingContext and
+// WebGL2RenderingContext have in common. This doesn't have all the things they
+// have in common, because we don't support splitting multiple overloads of the
+// same method across separate interfaces and pulling them in with "implements".
+interface mixin WebGLRenderingContextBase {
+ /* ClearBufferMask */
+ const GLenum DEPTH_BUFFER_BIT = 0x00000100;
+ const GLenum STENCIL_BUFFER_BIT = 0x00000400;
+ const GLenum COLOR_BUFFER_BIT = 0x00004000;
+
+ /* BeginMode */
+ const GLenum POINTS = 0x0000;
+ const GLenum LINES = 0x0001;
+ const GLenum LINE_LOOP = 0x0002;
+ const GLenum LINE_STRIP = 0x0003;
+ const GLenum TRIANGLES = 0x0004;
+ const GLenum TRIANGLE_STRIP = 0x0005;
+ const GLenum TRIANGLE_FAN = 0x0006;
+
+ /* AlphaFunction (not supported in ES20) */
+ /* NEVER */
+ /* LESS */
+ /* EQUAL */
+ /* LEQUAL */
+ /* GREATER */
+ /* NOTEQUAL */
+ /* GEQUAL */
+ /* ALWAYS */
+
+ /* BlendingFactorDest */
+ const GLenum ZERO = 0;
+ const GLenum ONE = 1;
+ const GLenum SRC_COLOR = 0x0300;
+ const GLenum ONE_MINUS_SRC_COLOR = 0x0301;
+ const GLenum SRC_ALPHA = 0x0302;
+ const GLenum ONE_MINUS_SRC_ALPHA = 0x0303;
+ const GLenum DST_ALPHA = 0x0304;
+ const GLenum ONE_MINUS_DST_ALPHA = 0x0305;
+
+ /* BlendingFactorSrc */
+ /* ZERO */
+ /* ONE */
+ const GLenum DST_COLOR = 0x0306;
+ const GLenum ONE_MINUS_DST_COLOR = 0x0307;
+ const GLenum SRC_ALPHA_SATURATE = 0x0308;
+ /* SRC_ALPHA */
+ /* ONE_MINUS_SRC_ALPHA */
+ /* DST_ALPHA */
+ /* ONE_MINUS_DST_ALPHA */
+
+ /* BlendEquationSeparate */
+ const GLenum FUNC_ADD = 0x8006;
+ const GLenum BLEND_EQUATION = 0x8009;
+ const GLenum BLEND_EQUATION_RGB = 0x8009; /* same as BLEND_EQUATION */
+ const GLenum BLEND_EQUATION_ALPHA = 0x883D;
+
+ /* BlendSubtract */
+ const GLenum FUNC_SUBTRACT = 0x800A;
+ const GLenum FUNC_REVERSE_SUBTRACT = 0x800B;
+
+ /* Separate Blend Functions */
+ const GLenum BLEND_DST_RGB = 0x80C8;
+ const GLenum BLEND_SRC_RGB = 0x80C9;
+ const GLenum BLEND_DST_ALPHA = 0x80CA;
+ const GLenum BLEND_SRC_ALPHA = 0x80CB;
+ const GLenum CONSTANT_COLOR = 0x8001;
+ const GLenum ONE_MINUS_CONSTANT_COLOR = 0x8002;
+ const GLenum CONSTANT_ALPHA = 0x8003;
+ const GLenum ONE_MINUS_CONSTANT_ALPHA = 0x8004;
+ const GLenum BLEND_COLOR = 0x8005;
+
+ /* Buffer Objects */
+ const GLenum ARRAY_BUFFER = 0x8892;
+ const GLenum ELEMENT_ARRAY_BUFFER = 0x8893;
+ const GLenum ARRAY_BUFFER_BINDING = 0x8894;
+ const GLenum ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
+
+ const GLenum STREAM_DRAW = 0x88E0;
+ const GLenum STATIC_DRAW = 0x88E4;
+ const GLenum DYNAMIC_DRAW = 0x88E8;
+
+ const GLenum BUFFER_SIZE = 0x8764;
+ const GLenum BUFFER_USAGE = 0x8765;
+
+ const GLenum CURRENT_VERTEX_ATTRIB = 0x8626;
+
+ /* CullFaceMode */
+ const GLenum FRONT = 0x0404;
+ const GLenum BACK = 0x0405;
+ const GLenum FRONT_AND_BACK = 0x0408;
+
+ /* DepthFunction */
+ /* NEVER */
+ /* LESS */
+ /* EQUAL */
+ /* LEQUAL */
+ /* GREATER */
+ /* NOTEQUAL */
+ /* GEQUAL */
+ /* ALWAYS */
+
+ /* EnableCap */
+ /* TEXTURE_2D */
+ const GLenum CULL_FACE = 0x0B44;
+ const GLenum BLEND = 0x0BE2;
+ const GLenum DITHER = 0x0BD0;
+ const GLenum STENCIL_TEST = 0x0B90;
+ const GLenum DEPTH_TEST = 0x0B71;
+ const GLenum SCISSOR_TEST = 0x0C11;
+ const GLenum POLYGON_OFFSET_FILL = 0x8037;
+ const GLenum SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
+ const GLenum SAMPLE_COVERAGE = 0x80A0;
+
+ /* ErrorCode */
+ [NeedsWindowsUndef]
+ const GLenum NO_ERROR = 0;
+ const GLenum INVALID_ENUM = 0x0500;
+ const GLenum INVALID_VALUE = 0x0501;
+ const GLenum INVALID_OPERATION = 0x0502;
+ const GLenum OUT_OF_MEMORY = 0x0505;
+
+ /* FrontFaceDirection */
+ const GLenum CW = 0x0900;
+ const GLenum CCW = 0x0901;
+
+ /* GetPName */
+ const GLenum LINE_WIDTH = 0x0B21;
+ const GLenum ALIASED_POINT_SIZE_RANGE = 0x846D;
+ const GLenum ALIASED_LINE_WIDTH_RANGE = 0x846E;
+ const GLenum CULL_FACE_MODE = 0x0B45;
+ const GLenum FRONT_FACE = 0x0B46;
+ const GLenum DEPTH_RANGE = 0x0B70;
+ const GLenum DEPTH_WRITEMASK = 0x0B72;
+ const GLenum DEPTH_CLEAR_VALUE = 0x0B73;
+ const GLenum DEPTH_FUNC = 0x0B74;
+ const GLenum STENCIL_CLEAR_VALUE = 0x0B91;
+ const GLenum STENCIL_FUNC = 0x0B92;
+ const GLenum STENCIL_FAIL = 0x0B94;
+ const GLenum STENCIL_PASS_DEPTH_FAIL = 0x0B95;
+ const GLenum STENCIL_PASS_DEPTH_PASS = 0x0B96;
+ const GLenum STENCIL_REF = 0x0B97;
+ const GLenum STENCIL_VALUE_MASK = 0x0B93;
+ const GLenum STENCIL_WRITEMASK = 0x0B98;
+ const GLenum STENCIL_BACK_FUNC = 0x8800;
+ const GLenum STENCIL_BACK_FAIL = 0x8801;
+ const GLenum STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
+ const GLenum STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
+ const GLenum STENCIL_BACK_REF = 0x8CA3;
+ const GLenum STENCIL_BACK_VALUE_MASK = 0x8CA4;
+ const GLenum STENCIL_BACK_WRITEMASK = 0x8CA5;
+ const GLenum VIEWPORT = 0x0BA2;
+ const GLenum SCISSOR_BOX = 0x0C10;
+ /* SCISSOR_TEST */
+ const GLenum COLOR_CLEAR_VALUE = 0x0C22;
+ const GLenum COLOR_WRITEMASK = 0x0C23;
+ const GLenum UNPACK_ALIGNMENT = 0x0CF5;
+ const GLenum PACK_ALIGNMENT = 0x0D05;
+ const GLenum MAX_TEXTURE_SIZE = 0x0D33;
+ const GLenum MAX_VIEWPORT_DIMS = 0x0D3A;
+ const GLenum SUBPIXEL_BITS = 0x0D50;
+ const GLenum RED_BITS = 0x0D52;
+ const GLenum GREEN_BITS = 0x0D53;
+ const GLenum BLUE_BITS = 0x0D54;
+ const GLenum ALPHA_BITS = 0x0D55;
+ const GLenum DEPTH_BITS = 0x0D56;
+ const GLenum STENCIL_BITS = 0x0D57;
+ const GLenum POLYGON_OFFSET_UNITS = 0x2A00;
+ /* POLYGON_OFFSET_FILL */
+ const GLenum POLYGON_OFFSET_FACTOR = 0x8038;
+ const GLenum TEXTURE_BINDING_2D = 0x8069;
+ const GLenum SAMPLE_BUFFERS = 0x80A8;
+ const GLenum SAMPLES = 0x80A9;
+ const GLenum SAMPLE_COVERAGE_VALUE = 0x80AA;
+ const GLenum SAMPLE_COVERAGE_INVERT = 0x80AB;
+
+ /* GetTextureParameter */
+ /* TEXTURE_MAG_FILTER */
+ /* TEXTURE_MIN_FILTER */
+ /* TEXTURE_WRAP_S */
+ /* TEXTURE_WRAP_T */
+
+ const GLenum COMPRESSED_TEXTURE_FORMATS = 0x86A3;
+
+ /* HintMode */
+ const GLenum DONT_CARE = 0x1100;
+ const GLenum FASTEST = 0x1101;
+ const GLenum NICEST = 0x1102;
+
+ /* HintTarget */
+ const GLenum GENERATE_MIPMAP_HINT = 0x8192;
+
+ /* DataType */
+ const GLenum BYTE = 0x1400;
+ const GLenum UNSIGNED_BYTE = 0x1401;
+ const GLenum SHORT = 0x1402;
+ const GLenum UNSIGNED_SHORT = 0x1403;
+ const GLenum INT = 0x1404;
+ const GLenum UNSIGNED_INT = 0x1405;
+ const GLenum FLOAT = 0x1406;
+
+ /* PixelFormat */
+ const GLenum DEPTH_COMPONENT = 0x1902;
+ const GLenum ALPHA = 0x1906;
+ const GLenum RGB = 0x1907;
+ const GLenum RGBA = 0x1908;
+ const GLenum LUMINANCE = 0x1909;
+ const GLenum LUMINANCE_ALPHA = 0x190A;
+
+ /* PixelType */
+ /* UNSIGNED_BYTE */
+ const GLenum UNSIGNED_SHORT_4_4_4_4 = 0x8033;
+ const GLenum UNSIGNED_SHORT_5_5_5_1 = 0x8034;
+ const GLenum UNSIGNED_SHORT_5_6_5 = 0x8363;
+
+ /* Shaders */
+ const GLenum FRAGMENT_SHADER = 0x8B30;
+ const GLenum VERTEX_SHADER = 0x8B31;
+ const GLenum MAX_VERTEX_ATTRIBS = 0x8869;
+ const GLenum MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
+ const GLenum MAX_VARYING_VECTORS = 0x8DFC;
+ const GLenum MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
+ const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
+ const GLenum MAX_TEXTURE_IMAGE_UNITS = 0x8872;
+ const GLenum MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
+ const GLenum SHADER_TYPE = 0x8B4F;
+ const GLenum DELETE_STATUS = 0x8B80;
+ const GLenum LINK_STATUS = 0x8B82;
+ const GLenum VALIDATE_STATUS = 0x8B83;
+ const GLenum ATTACHED_SHADERS = 0x8B85;
+ const GLenum ACTIVE_UNIFORMS = 0x8B86;
+ const GLenum ACTIVE_ATTRIBUTES = 0x8B89;
+ const GLenum SHADING_LANGUAGE_VERSION = 0x8B8C;
+ const GLenum CURRENT_PROGRAM = 0x8B8D;
+
+ /* StencilFunction */
+ const GLenum NEVER = 0x0200;
+ const GLenum LESS = 0x0201;
+ const GLenum EQUAL = 0x0202;
+ const GLenum LEQUAL = 0x0203;
+ const GLenum GREATER = 0x0204;
+ const GLenum NOTEQUAL = 0x0205;
+ const GLenum GEQUAL = 0x0206;
+ const GLenum ALWAYS = 0x0207;
+
+ /* StencilOp */
+ /* ZERO */
+ const GLenum KEEP = 0x1E00;
+ const GLenum REPLACE = 0x1E01;
+ const GLenum INCR = 0x1E02;
+ const GLenum DECR = 0x1E03;
+ const GLenum INVERT = 0x150A;
+ const GLenum INCR_WRAP = 0x8507;
+ const GLenum DECR_WRAP = 0x8508;
+
+ /* StringName */
+ const GLenum VENDOR = 0x1F00;
+ const GLenum RENDERER = 0x1F01;
+ const GLenum VERSION = 0x1F02;
+
+ /* TextureMagFilter */
+ const GLenum NEAREST = 0x2600;
+ const GLenum LINEAR = 0x2601;
+
+ /* TextureMinFilter */
+ /* NEAREST */
+ /* LINEAR */
+ const GLenum NEAREST_MIPMAP_NEAREST = 0x2700;
+ const GLenum LINEAR_MIPMAP_NEAREST = 0x2701;
+ const GLenum NEAREST_MIPMAP_LINEAR = 0x2702;
+ const GLenum LINEAR_MIPMAP_LINEAR = 0x2703;
+
+ /* TextureParameterName */
+ const GLenum TEXTURE_MAG_FILTER = 0x2800;
+ const GLenum TEXTURE_MIN_FILTER = 0x2801;
+ const GLenum TEXTURE_WRAP_S = 0x2802;
+ const GLenum TEXTURE_WRAP_T = 0x2803;
+
+ /* TextureTarget */
+ const GLenum TEXTURE_2D = 0x0DE1;
+ const GLenum TEXTURE = 0x1702;
+
+ const GLenum TEXTURE_CUBE_MAP = 0x8513;
+ const GLenum TEXTURE_BINDING_CUBE_MAP = 0x8514;
+ const GLenum TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
+ const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
+ const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
+ const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
+ const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
+ const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
+ const GLenum MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
+
+ /* TextureUnit */
+ const GLenum TEXTURE0 = 0x84C0;
+ const GLenum TEXTURE1 = 0x84C1;
+ const GLenum TEXTURE2 = 0x84C2;
+ const GLenum TEXTURE3 = 0x84C3;
+ const GLenum TEXTURE4 = 0x84C4;
+ const GLenum TEXTURE5 = 0x84C5;
+ const GLenum TEXTURE6 = 0x84C6;
+ const GLenum TEXTURE7 = 0x84C7;
+ const GLenum TEXTURE8 = 0x84C8;
+ const GLenum TEXTURE9 = 0x84C9;
+ const GLenum TEXTURE10 = 0x84CA;
+ const GLenum TEXTURE11 = 0x84CB;
+ const GLenum TEXTURE12 = 0x84CC;
+ const GLenum TEXTURE13 = 0x84CD;
+ const GLenum TEXTURE14 = 0x84CE;
+ const GLenum TEXTURE15 = 0x84CF;
+ const GLenum TEXTURE16 = 0x84D0;
+ const GLenum TEXTURE17 = 0x84D1;
+ const GLenum TEXTURE18 = 0x84D2;
+ const GLenum TEXTURE19 = 0x84D3;
+ const GLenum TEXTURE20 = 0x84D4;
+ const GLenum TEXTURE21 = 0x84D5;
+ const GLenum TEXTURE22 = 0x84D6;
+ const GLenum TEXTURE23 = 0x84D7;
+ const GLenum TEXTURE24 = 0x84D8;
+ const GLenum TEXTURE25 = 0x84D9;
+ const GLenum TEXTURE26 = 0x84DA;
+ const GLenum TEXTURE27 = 0x84DB;
+ const GLenum TEXTURE28 = 0x84DC;
+ const GLenum TEXTURE29 = 0x84DD;
+ const GLenum TEXTURE30 = 0x84DE;
+ const GLenum TEXTURE31 = 0x84DF;
+ const GLenum ACTIVE_TEXTURE = 0x84E0;
+
+ /* TextureWrapMode */
+ const GLenum REPEAT = 0x2901;
+ const GLenum CLAMP_TO_EDGE = 0x812F;
+ const GLenum MIRRORED_REPEAT = 0x8370;
+
+ /* Uniform Types */
+ const GLenum FLOAT_VEC2 = 0x8B50;
+ const GLenum FLOAT_VEC3 = 0x8B51;
+ const GLenum FLOAT_VEC4 = 0x8B52;
+ const GLenum INT_VEC2 = 0x8B53;
+ const GLenum INT_VEC3 = 0x8B54;
+ const GLenum INT_VEC4 = 0x8B55;
+ const GLenum BOOL = 0x8B56;
+ const GLenum BOOL_VEC2 = 0x8B57;
+ const GLenum BOOL_VEC3 = 0x8B58;
+ const GLenum BOOL_VEC4 = 0x8B59;
+ const GLenum FLOAT_MAT2 = 0x8B5A;
+ const GLenum FLOAT_MAT3 = 0x8B5B;
+ const GLenum FLOAT_MAT4 = 0x8B5C;
+ const GLenum SAMPLER_2D = 0x8B5E;
+ const GLenum SAMPLER_CUBE = 0x8B60;
+
+ /* Vertex Arrays */
+ const GLenum VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
+ const GLenum VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
+ const GLenum VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
+ const GLenum VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
+ const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
+ const GLenum VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
+ const GLenum VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
+
+ /* Read Format */
+ const GLenum IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
+ const GLenum IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
+
+ /* Shader Source */
+ const GLenum COMPILE_STATUS = 0x8B81;
+
+ /* Shader Precision-Specified Types */
+ const GLenum LOW_FLOAT = 0x8DF0;
+ const GLenum MEDIUM_FLOAT = 0x8DF1;
+ const GLenum HIGH_FLOAT = 0x8DF2;
+ const GLenum LOW_INT = 0x8DF3;
+ const GLenum MEDIUM_INT = 0x8DF4;
+ const GLenum HIGH_INT = 0x8DF5;
+
+ /* Framebuffer Object. */
+ const GLenum FRAMEBUFFER = 0x8D40;
+ const GLenum RENDERBUFFER = 0x8D41;
+
+ const GLenum RGBA4 = 0x8056;
+ const GLenum RGB5_A1 = 0x8057;
+ const GLenum RGB565 = 0x8D62;
+ const GLenum DEPTH_COMPONENT16 = 0x81A5;
+ const GLenum STENCIL_INDEX8 = 0x8D48;
+ const GLenum DEPTH_STENCIL = 0x84F9;
+
+ const GLenum RENDERBUFFER_WIDTH = 0x8D42;
+ const GLenum RENDERBUFFER_HEIGHT = 0x8D43;
+ const GLenum RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
+ const GLenum RENDERBUFFER_RED_SIZE = 0x8D50;
+ const GLenum RENDERBUFFER_GREEN_SIZE = 0x8D51;
+ const GLenum RENDERBUFFER_BLUE_SIZE = 0x8D52;
+ const GLenum RENDERBUFFER_ALPHA_SIZE = 0x8D53;
+ const GLenum RENDERBUFFER_DEPTH_SIZE = 0x8D54;
+ const GLenum RENDERBUFFER_STENCIL_SIZE = 0x8D55;
+
+ const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
+ const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
+ const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
+ const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
+
+ const GLenum COLOR_ATTACHMENT0 = 0x8CE0;
+ const GLenum DEPTH_ATTACHMENT = 0x8D00;
+ const GLenum STENCIL_ATTACHMENT = 0x8D20;
+ const GLenum DEPTH_STENCIL_ATTACHMENT = 0x821A;
+
+ const GLenum NONE = 0;
+
+ const GLenum FRAMEBUFFER_COMPLETE = 0x8CD5;
+ const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
+ const GLenum FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
+ const GLenum FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9;
+ const GLenum FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
+
+ const GLenum FRAMEBUFFER_BINDING = 0x8CA6;
+ const GLenum RENDERBUFFER_BINDING = 0x8CA7;
+ const GLenum MAX_RENDERBUFFER_SIZE = 0x84E8;
+
+ const GLenum INVALID_FRAMEBUFFER_OPERATION = 0x0506;
+
+ /* WebGL-specific enums */
+ const GLenum UNPACK_FLIP_Y_WEBGL = 0x9240;
+ const GLenum UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241;
+ const GLenum CONTEXT_LOST_WEBGL = 0x9242;
+ const GLenum UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;
+ const GLenum BROWSER_DEFAULT_WEBGL = 0x9244;
+
+ // The canvas might actually be null in some cases, apparently.
+ readonly attribute (HTMLCanvasElement or OffscreenCanvas)? canvas;
+ readonly attribute GLsizei drawingBufferWidth;
+ readonly attribute GLsizei drawingBufferHeight;
+
+ [WebGLHandlesContextLoss] WebGLContextAttributes? getContextAttributes();
+ [WebGLHandlesContextLoss] boolean isContextLost();
+
+ [NeedsCallerType]
+ sequence<DOMString>? getSupportedExtensions();
+
+ [Throws, NeedsCallerType]
+ object? getExtension(DOMString name);
+
+ undefined activeTexture(GLenum texture);
+ undefined attachShader(WebGLProgram program, WebGLShader shader);
+ undefined bindAttribLocation(WebGLProgram program, GLuint index, DOMString name);
+ undefined bindBuffer(GLenum target, WebGLBuffer? buffer);
+ undefined bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
+ undefined bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
+ undefined bindTexture(GLenum target, WebGLTexture? texture);
+ undefined blendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+ undefined blendEquation(GLenum mode);
+ undefined blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
+ undefined blendFunc(GLenum sfactor, GLenum dfactor);
+ undefined blendFuncSeparate(GLenum srcRGB, GLenum dstRGB,
+ GLenum srcAlpha, GLenum dstAlpha);
+
+ [WebGLHandlesContextLoss] GLenum checkFramebufferStatus(GLenum target);
+ undefined clear(GLbitfield mask);
+ undefined clearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+ undefined clearDepth(GLclampf depth);
+ undefined clearStencil(GLint s);
+ undefined colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+ undefined compileShader(WebGLShader shader);
+
+ undefined copyTexImage2D(GLenum target, GLint level, GLenum internalformat,
+ GLint x, GLint y, GLsizei width, GLsizei height,
+ GLint border);
+ undefined copyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLint x, GLint y, GLsizei width, GLsizei height);
+
+ WebGLBuffer? createBuffer();
+ WebGLFramebuffer? createFramebuffer();
+ WebGLProgram? createProgram();
+ WebGLRenderbuffer? createRenderbuffer();
+ WebGLShader? createShader(GLenum type);
+ WebGLTexture? createTexture();
+
+ undefined cullFace(GLenum mode);
+
+ undefined deleteBuffer(WebGLBuffer? buffer);
+ undefined deleteFramebuffer(WebGLFramebuffer? framebuffer);
+ undefined deleteProgram(WebGLProgram? program);
+ undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
+ undefined deleteShader(WebGLShader? shader);
+ undefined deleteTexture(WebGLTexture? texture);
+
+ undefined depthFunc(GLenum func);
+ undefined depthMask(GLboolean flag);
+ undefined depthRange(GLclampf zNear, GLclampf zFar);
+ undefined detachShader(WebGLProgram program, WebGLShader shader);
+ undefined disable(GLenum cap);
+ undefined disableVertexAttribArray(GLuint index);
+ undefined drawArrays(GLenum mode, GLint first, GLsizei count);
+ undefined drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
+
+ undefined enable(GLenum cap);
+ undefined enableVertexAttribArray(GLuint index);
+ undefined finish();
+ undefined flush();
+ undefined framebufferRenderbuffer(GLenum target, GLenum attachment,
+ GLenum renderbuffertarget,
+ WebGLRenderbuffer? renderbuffer);
+ undefined framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget,
+ WebGLTexture? texture, GLint level);
+ undefined frontFace(GLenum mode);
+
+ undefined generateMipmap(GLenum target);
+
+ [NewObject]
+ WebGLActiveInfo? getActiveAttrib(WebGLProgram program, GLuint index);
+ [NewObject]
+ WebGLActiveInfo? getActiveUniform(WebGLProgram program, GLuint index);
+
+ sequence<WebGLShader>? getAttachedShaders(WebGLProgram program);
+
+ [WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram program, DOMString name);
+
+ any getBufferParameter(GLenum target, GLenum pname);
+ [Throws]
+ any getParameter(GLenum pname);
+
+ [WebGLHandlesContextLoss] GLenum getError();
+
+ [Throws]
+ any getFramebufferAttachmentParameter(GLenum target, GLenum attachment,
+ GLenum pname);
+ any getProgramParameter(WebGLProgram program, GLenum pname);
+ DOMString? getProgramInfoLog(WebGLProgram program);
+ any getRenderbufferParameter(GLenum target, GLenum pname);
+ any getShaderParameter(WebGLShader shader, GLenum pname);
+
+ [NewObject]
+ WebGLShaderPrecisionFormat? getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
+
+ DOMString? getShaderInfoLog(WebGLShader shader);
+
+ DOMString? getShaderSource(WebGLShader shader);
+
+ any getTexParameter(GLenum target, GLenum pname);
+
+ any getUniform(WebGLProgram program, WebGLUniformLocation location);
+
+ [NewObject]
+ WebGLUniformLocation? getUniformLocation(WebGLProgram program, DOMString name);
+
+ [Throws]
+ any getVertexAttrib(GLuint index, GLenum pname);
+
+ [WebGLHandlesContextLoss] GLintptr getVertexAttribOffset(GLuint index, GLenum pname);
+
+ undefined hint(GLenum target, GLenum mode);
+ [WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer? buffer);
+ [WebGLHandlesContextLoss] GLboolean isEnabled(GLenum cap);
+ [WebGLHandlesContextLoss] GLboolean isFramebuffer(WebGLFramebuffer? framebuffer);
+ [WebGLHandlesContextLoss] GLboolean isProgram(WebGLProgram? program);
+ [WebGLHandlesContextLoss] GLboolean isRenderbuffer(WebGLRenderbuffer? renderbuffer);
+ [WebGLHandlesContextLoss] GLboolean isShader(WebGLShader? shader);
+ [WebGLHandlesContextLoss] GLboolean isTexture(WebGLTexture? texture);
+ undefined lineWidth(GLfloat width);
+ undefined linkProgram(WebGLProgram program);
+ undefined pixelStorei(GLenum pname, GLint param);
+ undefined polygonOffset(GLfloat factor, GLfloat units);
+
+ undefined renderbufferStorage(GLenum target, GLenum internalformat,
+ GLsizei width, GLsizei height);
+ undefined sampleCoverage(GLclampf value, GLboolean invert);
+ undefined scissor(GLint x, GLint y, GLsizei width, GLsizei height);
+
+ undefined shaderSource(WebGLShader shader, DOMString source);
+
+ undefined stencilFunc(GLenum func, GLint ref, GLuint mask);
+ undefined stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
+ undefined stencilMask(GLuint mask);
+ undefined stencilMaskSeparate(GLenum face, GLuint mask);
+ undefined stencilOp(GLenum fail, GLenum zfail, GLenum zpass);
+ undefined stencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
+
+ undefined texParameterf(GLenum target, GLenum pname, GLfloat param);
+ undefined texParameteri(GLenum target, GLenum pname, GLint param);
+
+ undefined uniform1f(WebGLUniformLocation? location, GLfloat x);
+ undefined uniform2f(WebGLUniformLocation? location, GLfloat x, GLfloat y);
+ undefined uniform3f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z);
+ undefined uniform4f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+
+ undefined uniform1i(WebGLUniformLocation? location, GLint x);
+ undefined uniform2i(WebGLUniformLocation? location, GLint x, GLint y);
+ undefined uniform3i(WebGLUniformLocation? location, GLint x, GLint y, GLint z);
+ undefined uniform4i(WebGLUniformLocation? location, GLint x, GLint y, GLint z, GLint w);
+
+ undefined useProgram(WebGLProgram? program);
+ undefined validateProgram(WebGLProgram program);
+
+ undefined vertexAttrib1f(GLuint indx, GLfloat x);
+ undefined vertexAttrib1fv(GLuint indx, Float32List values);
+ undefined vertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
+ undefined vertexAttrib2fv(GLuint indx, Float32List values);
+ undefined vertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
+ undefined vertexAttrib3fv(GLuint indx, Float32List values);
+ undefined vertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+ undefined vertexAttrib4fv(GLuint indx, Float32List values);
+ undefined vertexAttribPointer(GLuint indx, GLint size, GLenum type,
+ GLboolean normalized, GLsizei stride, GLintptr offset);
+
+ undefined viewport(GLint x, GLint y, GLsizei width, GLsizei height);
+};
+
+[Exposed=(Window,Worker),
+ Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
+interface WebGLRenderingContext {
+ // bufferData has WebGL2 overloads.
+ undefined bufferData(GLenum target, GLsizeiptr size, GLenum usage);
+ undefined bufferData(GLenum target, ArrayBuffer? data, GLenum usage);
+ undefined bufferData(GLenum target, ArrayBufferView data, GLenum usage);
+ // bufferSubData has WebGL2 overloads.
+ undefined bufferSubData(GLenum target, GLintptr offset, ArrayBuffer data);
+ undefined bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data);
+
+ // compressedTexImage2D has WebGL2 overloads.
+ undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
+ GLsizei width, GLsizei height, GLint border,
+ ArrayBufferView data);
+ // compressedTexSubImage2D has WebGL2 overloads.
+ undefined compressedTexSubImage2D(GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height, GLenum format,
+ ArrayBufferView data);
+
+ // readPixels has WebGL2 overloads.
+ [Throws, NeedsCallerType]
+ undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height,
+ GLenum format, GLenum type, ArrayBufferView? pixels);
+
+ // texImage2D has WebGL2 overloads.
+ // Overloads must share [Throws].
+ [Throws] // Can't actually throw.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLsizei width, GLsizei height, GLint border, GLenum format,
+ GLenum type, ArrayBufferView? pixels);
+ [Throws] // Can't actually throw.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, ImageBitmap pixels);
+ [Throws] // Can't actually throw.
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, ImageData pixels);
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException
+ [Throws]
+ undefined texImage2D(GLenum target, GLint level, GLint internalformat,
+ GLenum format, GLenum type, VideoFrame video_frame); // May throw DOMException
+
+ // texSubImage2D has WebGL2 overloads.
+ [Throws] // Can't actually throw.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type, ArrayBufferView? pixels);
+ [Throws] // Can't actually throw.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, ImageBitmap pixels);
+ [Throws] // Can't actually throw.
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, ImageData pixels);
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException
+ [Throws]
+ undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, VideoFrame video_frame); // May throw DOMException
+
+ // uniform*fv have WebGL2 overloads, or rather extensions, that are not
+ // distinguishable from the WebGL1 versions when called with two arguments.
+ undefined uniform1fv(WebGLUniformLocation? location, Float32List data);
+ undefined uniform2fv(WebGLUniformLocation? location, Float32List data);
+ undefined uniform3fv(WebGLUniformLocation? location, Float32List data);
+ undefined uniform4fv(WebGLUniformLocation? location, Float32List data);
+
+ // uniform*iv have WebGL2 overloads, or rather extensions, that are not
+ // distinguishable from the WebGL1 versions when called with two arguments.
+ undefined uniform1iv(WebGLUniformLocation? location, Int32List data);
+ undefined uniform2iv(WebGLUniformLocation? location, Int32List data);
+ undefined uniform3iv(WebGLUniformLocation? location, Int32List data);
+ undefined uniform4iv(WebGLUniformLocation? location, Int32List data);
+
+ // uniformMatrix*fv have WebGL2 overloads, or rather extensions, that are
+ // not distinguishable from the WebGL1 versions when called with two
+ // arguments.
+ undefined uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
+ undefined uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
+ undefined uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
+};
+
+WebGLRenderingContext includes WebGLRenderingContextBase;
+
+// For OffscreenCanvas
+// Reference: https://wiki.whatwg.org/wiki/OffscreenCanvas
+[Exposed=(Window,Worker)]
+partial interface WebGLRenderingContext {
+ [Func="mozilla::dom::DOMPrefs::OffscreenCanvasEnabled"]
+ undefined commit();
+};
+
+////////////////////////////////////////
+// specific extension interfaces
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_s3tc
+{
+ const GLenum COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;
+ const GLenum COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;
+ const GLenum COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2;
+ const GLenum COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3;
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_s3tc_srgb {
+ /* Compressed Texture Formats */
+ const GLenum COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C;
+ const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D;
+ const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E;
+ const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F;
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_astc {
+ /* Compressed Texture Format */
+ const GLenum COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0;
+ const GLenum COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1;
+ const GLenum COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2;
+ const GLenum COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3;
+ const GLenum COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4;
+ const GLenum COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5;
+ const GLenum COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6;
+ const GLenum COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7;
+ const GLenum COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8;
+ const GLenum COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9;
+ const GLenum COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA;
+ const GLenum COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB;
+ const GLenum COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC;
+ const GLenum COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD;
+
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD;
+
+ // Profile query support.
+ sequence<DOMString>? getSupportedProfiles();
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_atc
+{
+ const GLenum COMPRESSED_RGB_ATC_WEBGL = 0x8C92;
+ const GLenum COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 0x8C93;
+ const GLenum COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 0x87EE;
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_etc
+{
+ const GLenum COMPRESSED_R11_EAC = 0x9270;
+ const GLenum COMPRESSED_SIGNED_R11_EAC = 0x9271;
+ const GLenum COMPRESSED_RG11_EAC = 0x9272;
+ const GLenum COMPRESSED_SIGNED_RG11_EAC = 0x9273;
+ const GLenum COMPRESSED_RGB8_ETC2 = 0x9274;
+ const GLenum COMPRESSED_SRGB8_ETC2 = 0x9275;
+ const GLenum COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
+ const GLenum COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
+ const GLenum COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
+ const GLenum COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_etc1
+{
+ const GLenum COMPRESSED_RGB_ETC1_WEBGL = 0x8D64;
+};
+
+[NoInterfaceObject]
+interface WEBGL_compressed_texture_pvrtc
+{
+ const GLenum COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00;
+ const GLenum COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01;
+ const GLenum COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02;
+ const GLenum COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03;
+};
+
+[NoInterfaceObject]
+interface WEBGL_debug_renderer_info
+{
+ const GLenum UNMASKED_VENDOR_WEBGL = 0x9245;
+ const GLenum UNMASKED_RENDERER_WEBGL = 0x9246;
+};
+
+[NoInterfaceObject]
+interface WEBGL_debug_shaders
+{
+ DOMString getTranslatedShaderSource(WebGLShader shader);
+};
+
+[NoInterfaceObject]
+interface WEBGL_depth_texture
+{
+ const GLenum UNSIGNED_INT_24_8_WEBGL = 0x84FA;
+};
+
+[NoInterfaceObject]
+interface OES_element_index_uint
+{
+};
+
+[NoInterfaceObject]
+interface EXT_frag_depth
+{
+};
+
+[NoInterfaceObject]
+interface WEBGL_lose_context {
+ undefined loseContext();
+ undefined restoreContext();
+};
+
+[NoInterfaceObject]
+interface EXT_texture_filter_anisotropic
+{
+ const GLenum TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;
+ const GLenum MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF;
+};
+
+[NoInterfaceObject]
+interface EXT_sRGB
+{
+ const GLenum SRGB_EXT = 0x8C40;
+ const GLenum SRGB_ALPHA_EXT = 0x8C42;
+ const GLenum SRGB8_ALPHA8_EXT = 0x8C43;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210;
+};
+
+[NoInterfaceObject]
+interface OES_standard_derivatives {
+ const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B;
+};
+
+[NoInterfaceObject]
+interface OES_texture_float
+{
+};
+
+[NoInterfaceObject]
+interface WEBGL_draw_buffers {
+ const GLenum COLOR_ATTACHMENT0_WEBGL = 0x8CE0;
+ const GLenum COLOR_ATTACHMENT1_WEBGL = 0x8CE1;
+ const GLenum COLOR_ATTACHMENT2_WEBGL = 0x8CE2;
+ const GLenum COLOR_ATTACHMENT3_WEBGL = 0x8CE3;
+ const GLenum COLOR_ATTACHMENT4_WEBGL = 0x8CE4;
+ const GLenum COLOR_ATTACHMENT5_WEBGL = 0x8CE5;
+ const GLenum COLOR_ATTACHMENT6_WEBGL = 0x8CE6;
+ const GLenum COLOR_ATTACHMENT7_WEBGL = 0x8CE7;
+ const GLenum COLOR_ATTACHMENT8_WEBGL = 0x8CE8;
+ const GLenum COLOR_ATTACHMENT9_WEBGL = 0x8CE9;
+ const GLenum COLOR_ATTACHMENT10_WEBGL = 0x8CEA;
+ const GLenum COLOR_ATTACHMENT11_WEBGL = 0x8CEB;
+ const GLenum COLOR_ATTACHMENT12_WEBGL = 0x8CEC;
+ const GLenum COLOR_ATTACHMENT13_WEBGL = 0x8CED;
+ const GLenum COLOR_ATTACHMENT14_WEBGL = 0x8CEE;
+ const GLenum COLOR_ATTACHMENT15_WEBGL = 0x8CEF;
+
+ const GLenum DRAW_BUFFER0_WEBGL = 0x8825;
+ const GLenum DRAW_BUFFER1_WEBGL = 0x8826;
+ const GLenum DRAW_BUFFER2_WEBGL = 0x8827;
+ const GLenum DRAW_BUFFER3_WEBGL = 0x8828;
+ const GLenum DRAW_BUFFER4_WEBGL = 0x8829;
+ const GLenum DRAW_BUFFER5_WEBGL = 0x882A;
+ const GLenum DRAW_BUFFER6_WEBGL = 0x882B;
+ const GLenum DRAW_BUFFER7_WEBGL = 0x882C;
+ const GLenum DRAW_BUFFER8_WEBGL = 0x882D;
+ const GLenum DRAW_BUFFER9_WEBGL = 0x882E;
+ const GLenum DRAW_BUFFER10_WEBGL = 0x882F;
+ const GLenum DRAW_BUFFER11_WEBGL = 0x8830;
+ const GLenum DRAW_BUFFER12_WEBGL = 0x8831;
+ const GLenum DRAW_BUFFER13_WEBGL = 0x8832;
+ const GLenum DRAW_BUFFER14_WEBGL = 0x8833;
+ const GLenum DRAW_BUFFER15_WEBGL = 0x8834;
+
+ const GLenum MAX_COLOR_ATTACHMENTS_WEBGL = 0x8CDF;
+ const GLenum MAX_DRAW_BUFFERS_WEBGL = 0x8824;
+
+ undefined drawBuffersWEBGL(sequence<GLenum> buffers);
+};
+
+[NoInterfaceObject]
+interface OES_texture_float_linear
+{
+};
+
+[NoInterfaceObject]
+interface EXT_shader_texture_lod
+{
+};
+
+[NoInterfaceObject]
+interface OES_texture_half_float
+{
+ const GLenum HALF_FLOAT_OES = 0x8D61;
+};
+
+[NoInterfaceObject]
+interface OES_texture_half_float_linear
+{
+};
+
+[NoInterfaceObject]
+interface WEBGL_color_buffer_float
+{
+ const GLenum RGBA32F_EXT = 0x8814;
+ const GLenum RGB32F_EXT = 0x8815;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211;
+ const GLenum UNSIGNED_NORMALIZED_EXT = 0x8C17;
+};
+
+[NoInterfaceObject]
+interface EXT_color_buffer_half_float
+{
+ const GLenum RGBA16F_EXT = 0x881A;
+ const GLenum RGB16F_EXT = 0x881B;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211;
+ const GLenum UNSIGNED_NORMALIZED_EXT = 0x8C17;
+};
+
+[NoInterfaceObject]
+interface OES_vertex_array_object {
+ const GLenum VERTEX_ARRAY_BINDING_OES = 0x85B5;
+
+ WebGLVertexArrayObject? createVertexArrayOES();
+ undefined deleteVertexArrayOES(WebGLVertexArrayObject? arrayObject);
+ [WebGLHandlesContextLoss] GLboolean isVertexArrayOES(WebGLVertexArrayObject? arrayObject);
+ undefined bindVertexArrayOES(WebGLVertexArrayObject? arrayObject);
+};
+
+[NoInterfaceObject]
+interface ANGLE_instanced_arrays {
+ const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE;
+
+ undefined drawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+ undefined drawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei primcount);
+ undefined vertexAttribDivisorANGLE(GLuint index, GLuint divisor);
+};
+
+[NoInterfaceObject]
+interface EXT_blend_minmax {
+ const GLenum MIN_EXT = 0x8007;
+ const GLenum MAX_EXT = 0x8008;
+};
+
+interface WebGLQuery {
+};
+
+[NoInterfaceObject]
+interface EXT_disjoint_timer_query {
+ const GLenum QUERY_COUNTER_BITS_EXT = 0x8864;
+ const GLenum CURRENT_QUERY_EXT = 0x8865;
+ const GLenum QUERY_RESULT_EXT = 0x8866;
+ const GLenum QUERY_RESULT_AVAILABLE_EXT = 0x8867;
+ const GLenum TIME_ELAPSED_EXT = 0x88BF;
+ const GLenum TIMESTAMP_EXT = 0x8E28;
+ const GLenum GPU_DISJOINT_EXT = 0x8FBB;
+
+ WebGLQuery? createQueryEXT();
+ undefined deleteQueryEXT(WebGLQuery? query);
+ [WebGLHandlesContextLoss] boolean isQueryEXT(WebGLQuery? query);
+ undefined beginQueryEXT(GLenum target, WebGLQuery query);
+ undefined endQueryEXT(GLenum target);
+ undefined queryCounterEXT(WebGLQuery query, GLenum target);
+ any getQueryEXT(GLenum target, GLenum pname);
+ any getQueryObjectEXT(WebGLQuery query, GLenum pname);
+};
+
+[NoInterfaceObject]
+interface MOZ_debug {
+ const GLenum EXTENSIONS = 0x1F03;
+ const GLenum WSI_INFO = 0x10000;
+ const GLenum UNPACK_REQUIRE_FASTPATH = 0x10001;
+
+ [Throws]
+ any getParameter(GLenum pname);
+};
diff --git a/vendor/web-sys/webidls/enabled/WebKitCSSMatrix.webidl b/vendor/web-sys/webidls/enabled/WebKitCSSMatrix.webidl
new file mode 100644
index 000000000..8115711a3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebKitCSSMatrix.webidl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://compat.spec.whatwg.org/#webkitcssmatrix-interface
+ */
+
+[Constructor,
+ Constructor(DOMString transformList),
+ Constructor(WebKitCSSMatrix other),
+ Exposed=Window,
+ Func="mozilla::dom::WebKitCSSMatrix::FeatureEnabled"]
+interface WebKitCSSMatrix : DOMMatrix {
+ // Mutable transform methods
+ [Throws]
+ WebKitCSSMatrix setMatrixValue(DOMString transformList);
+
+ // Immutable transform methods
+ WebKitCSSMatrix multiply(WebKitCSSMatrix other);
+ [Throws]
+ WebKitCSSMatrix inverse();
+ WebKitCSSMatrix translate(optional unrestricted double tx = 0,
+ optional unrestricted double ty = 0,
+ optional unrestricted double tz = 0);
+ WebKitCSSMatrix scale(optional unrestricted double scaleX = 1,
+ optional unrestricted double scaleY,
+ optional unrestricted double scaleZ = 1);
+ WebKitCSSMatrix rotate(optional unrestricted double rotX = 0,
+ optional unrestricted double rotY,
+ optional unrestricted double rotZ);
+ WebKitCSSMatrix rotateAxisAngle(optional unrestricted double x = 0,
+ optional unrestricted double y = 0,
+ optional unrestricted double z = 0,
+ optional unrestricted double angle = 0);
+ WebKitCSSMatrix skewX(optional unrestricted double sx = 0);
+ WebKitCSSMatrix skewY(optional unrestricted double sy = 0);
+};
diff --git a/vendor/web-sys/webidls/enabled/WebSocket.webidl b/vendor/web-sys/webidls/enabled/WebSocket.webidl
new file mode 100644
index 000000000..1ad1c3732
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebSocket.webidl
@@ -0,0 +1,78 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/html/#network
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of this document.
+ */
+
+enum BinaryType { "blob", "arraybuffer" };
+
+[Exposed=(Window,Worker),
+ Constructor(DOMString url),
+ Constructor(DOMString url, DOMString protocols),
+ Constructor(DOMString url, sequence<DOMString> protocols)]
+interface WebSocket : EventTarget {
+
+ readonly attribute DOMString url;
+
+ // ready state
+ const unsigned short CONNECTING = 0;
+ const unsigned short OPEN = 1;
+ const unsigned short CLOSING = 2;
+ const unsigned short CLOSED = 3;
+
+ readonly attribute unsigned short readyState;
+
+ readonly attribute unsigned long bufferedAmount;
+
+ // networking
+
+ attribute EventHandler onopen;
+
+ attribute EventHandler onerror;
+
+ attribute EventHandler onclose;
+
+ readonly attribute DOMString extensions;
+
+ readonly attribute DOMString protocol;
+
+ [Throws]
+ undefined close([Clamp] optional unsigned short code, optional DOMString reason);
+
+ // messaging
+
+ attribute EventHandler onmessage;
+
+ attribute BinaryType binaryType;
+
+ [Throws]
+ undefined send(DOMString data);
+
+ [Throws]
+ undefined send(Blob data);
+
+ [Throws]
+ undefined send(ArrayBuffer data);
+
+ [Throws]
+ undefined send(ArrayBufferView data);
+};
+
+// Support for creating server-side chrome-only WebSocket. Used in
+// devtools remote debugging server.
+// invalid widl
+// interface nsITransportProvider;
+
+partial interface WebSocket {
+ [ChromeOnly, NewObject, Throws]
+ static WebSocket createServerWebSocket(DOMString url,
+ sequence<DOMString> protocols,
+ nsITransportProvider transportProvider,
+ DOMString negotiatedExtensions);
+};
diff --git a/vendor/web-sys/webidls/enabled/WebrtcDeprecated.webidl b/vendor/web-sys/webidls/enabled/WebrtcDeprecated.webidl
new file mode 100644
index 000000000..e1aa2b21e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebrtcDeprecated.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ *
+ * This file includes all the deprecated mozRTC prefixed interfaces.
+ *
+ * The declaration of each should match the declaration of the real, unprefixed
+ * interface. These aliases will be removed at some point (Bug 1155923).
+ */
diff --git a/vendor/web-sys/webidls/enabled/WebrtcGlobalInformation.webidl b/vendor/web-sys/webidls/enabled/WebrtcGlobalInformation.webidl
new file mode 100644
index 000000000..6c77c09fa
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebrtcGlobalInformation.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ */
+
+dictionary WebrtcGlobalStatisticsReport {
+ sequence<RTCStatsReportInternal> reports;
+};
+
+callback WebrtcGlobalStatisticsCallback = undefined (WebrtcGlobalStatisticsReport reports);
+callback WebrtcGlobalLoggingCallback = undefined (sequence<DOMString> logMessages);
+
+[ChromeOnly]
+interface WebrtcGlobalInformation {
+
+ [Throws]
+ static undefined getAllStats(WebrtcGlobalStatisticsCallback callback,
+ optional DOMString pcIdFilter);
+
+ static undefined clearAllStats();
+
+ [Throws]
+ static undefined getLogging(DOMString pattern,
+ WebrtcGlobalLoggingCallback callback);
+
+ static undefined clearLogging();
+
+ // NSPR WebRTC Trace debug level (0 - 65535)
+ //
+ // Notes:
+ // - Setting a non-zero debug level turns on gathering of log for file output.
+ // - Subsequently setting a zero debug level writes that log to disk.
+
+ static attribute long debugLevel;
+
+ // WebRTC AEC debugging enable
+ static attribute boolean aecDebug;
+
+ static readonly attribute DOMString aecDebugLogDir;
+};
diff --git a/vendor/web-sys/webidls/enabled/WheelEvent.webidl b/vendor/web-sys/webidls/enabled/WheelEvent.webidl
new file mode 100644
index 000000000..0c89bc73e
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WheelEvent.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString type, optional WheelEventInit eventInitDict)]
+interface WheelEvent : MouseEvent
+{
+ const unsigned long DOM_DELTA_PIXEL = 0x00;
+ const unsigned long DOM_DELTA_LINE = 0x01;
+ const unsigned long DOM_DELTA_PAGE = 0x02;
+
+ readonly attribute double deltaX;
+ readonly attribute double deltaY;
+ readonly attribute double deltaZ;
+ readonly attribute unsigned long deltaMode;
+
+};
+
+dictionary WheelEventInit : MouseEventInit
+{
+ double deltaX = 0;
+ double deltaY = 0;
+ double deltaZ = 0;
+ unsigned long deltaMode = 0;
+};
diff --git a/vendor/web-sys/webidls/enabled/WidevineCDMManifest.webidl b/vendor/web-sys/webidls/enabled/WidevineCDMManifest.webidl
new file mode 100644
index 000000000..83e14e0b0
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WidevineCDMManifest.webidl
@@ -0,0 +1,15 @@
+/* -*- 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/.
+ */
+
+dictionary WidevineCDMManifest {
+ required DOMString name;
+ required DOMString description;
+ required DOMString version;
+ required DOMString x-cdm-module-versions;
+ required DOMString x-cdm-interface-versions;
+ required DOMString x-cdm-host-versions;
+ required DOMString x-cdm-codecs;
+};
diff --git a/vendor/web-sys/webidls/enabled/Window.webidl b/vendor/web-sys/webidls/enabled/Window.webidl
new file mode 100644
index 000000000..d2985fca9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Window.webidl
@@ -0,0 +1,274 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ * https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html
+ * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
+ * http://dev.w3.org/csswg/cssom/
+ * http://dev.w3.org/csswg/cssom-view/
+ * https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
+ * https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
+ * https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html
+ * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+ * https://w3c.github.io/webappsec-secure-contexts/#monkey-patching-global-object
+ * https://w3c.github.io/requestidlecallback/
+ * https://drafts.css-houdini.org/css-paint-api-1/#dom-window-paintworklet
+ */
+
+// invalid widl
+// interface ApplicationCache;
+// interface IID;
+// interface nsIBrowserDOMWindow;
+// interface XULControllers;
+
+// http://www.whatwg.org/specs/web-apps/current-work/
+[Global=Window,
+ Exposed=Window,
+ LegacyUnenumerableNamedProperties]
+/*sealed*/ interface Window : EventTarget {
+ // the current browsing context
+ [Unforgeable, Constant, StoreInSlot,
+ CrossOriginReadable] readonly attribute Window window;
+ [Replaceable, Constant, StoreInSlot,
+ CrossOriginReadable] readonly attribute Window self;
+ [Unforgeable, StoreInSlot, Pure] readonly attribute Document? document;
+ [Throws] attribute DOMString name;
+ [PutForwards=href, Unforgeable, BinaryName="getLocation",
+ CrossOriginReadable, CrossOriginWritable] readonly attribute Location location;
+ [Throws] readonly attribute History history;
+ [Func="CustomElementRegistry::IsCustomElementEnabled"]
+ readonly attribute CustomElementRegistry customElements;
+ [Replaceable, Throws] readonly attribute BarProp locationbar;
+ [Replaceable, Throws] readonly attribute BarProp menubar;
+ [Replaceable, Throws] readonly attribute BarProp personalbar;
+ [Replaceable, Throws] readonly attribute BarProp scrollbars;
+ [Replaceable, Throws] readonly attribute BarProp statusbar;
+ [Replaceable, Throws] readonly attribute BarProp toolbar;
+ [Throws] attribute DOMString status;
+ [Throws, CrossOriginCallable] undefined close();
+ [Throws, CrossOriginReadable] readonly attribute boolean closed;
+ [Throws] undefined stop();
+ [Throws, CrossOriginCallable] undefined focus();
+ [Throws, CrossOriginCallable] undefined blur();
+ [Replaceable] readonly attribute any event;
+
+ // other browsing contexts
+ [Replaceable, Throws, CrossOriginReadable] readonly attribute WindowProxy frames;
+ [Replaceable, CrossOriginReadable] readonly attribute unsigned long length;
+ //[Unforgeable, Throws, CrossOriginReadable] readonly attribute WindowProxy top;
+ [Unforgeable, Throws, CrossOriginReadable] readonly attribute WindowProxy? top;
+ [Throws, CrossOriginReadable] attribute any opener;
+ //[Throws] readonly attribute WindowProxy parent;
+ [Replaceable, Throws, CrossOriginReadable] readonly attribute WindowProxy? parent;
+ [Throws, NeedsSubjectPrincipal] readonly attribute Element? frameElement;
+ //[Throws] WindowProxy? open(optional USVString url = "about:blank", optional DOMString target = "_blank", [TreatNullAs=EmptyString] optional DOMString features = "");
+ [Throws] WindowProxy? open(optional DOMString url = "", optional DOMString target = "", [TreatNullAs=EmptyString] optional DOMString features = "");
+ getter object (DOMString name);
+
+ // the user agent
+ readonly attribute Navigator navigator;
+//#ifdef HAVE_SIDEBAR
+ [Replaceable, Throws] readonly attribute External external;
+//#endif
+ [Throws, Pref="browser.cache.offline.enable", Func="nsGlobalWindowInner::OfflineCacheAllowedForContext"] readonly attribute ApplicationCache applicationCache;
+
+ // user prompts
+ [Throws, NeedsSubjectPrincipal] undefined alert();
+ [Throws, NeedsSubjectPrincipal] undefined alert(DOMString message);
+ [Throws, NeedsSubjectPrincipal] boolean confirm(optional DOMString message = "");
+ [Throws, NeedsSubjectPrincipal] DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
+ [Throws, Func="nsGlobalWindowInner::IsWindowPrintEnabled"]
+ undefined print();
+
+ [Throws, CrossOriginCallable, NeedsSubjectPrincipal]
+ undefined postMessage(any message, DOMString targetOrigin, optional sequence<object> transfer = []);
+
+ // also has obsolete members
+};
+Window includes GlobalEventHandlers;
+Window includes WindowEventHandlers;
+
+// https://www.w3.org/TR/appmanifest/#onappinstalled-attribute
+partial interface Window {
+ [Pref="dom.manifest.onappinstalled"]
+ attribute EventHandler onappinstalled;
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/
+interface mixin WindowSessionStorage {
+ //[Throws] readonly attribute Storage sessionStorage;
+ [Throws] readonly attribute Storage? sessionStorage;
+};
+Window includes WindowSessionStorage;
+
+// http://www.whatwg.org/specs/web-apps/current-work/
+interface mixin WindowLocalStorage {
+ [Throws] readonly attribute Storage? localStorage;
+};
+Window includes WindowLocalStorage;
+
+// http://www.whatwg.org/specs/web-apps/current-work/
+partial interface Window {
+ undefined captureEvents();
+ undefined releaseEvents();
+};
+
+// https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html
+partial interface Window {
+ //[Throws] Selection getSelection();
+ [Throws] Selection? getSelection();
+};
+
+// http://dev.w3.org/csswg/cssom/
+partial interface Window {
+ //[NewObject, Throws] CSSStyleDeclaration getComputedStyle(Element elt, optional DOMString pseudoElt = "");
+ [NewObject, Throws] CSSStyleDeclaration? getComputedStyle(Element elt, optional DOMString pseudoElt = "");
+};
+
+// http://dev.w3.org/csswg/cssom-view/
+enum ScrollBehavior { "auto", "instant", "smooth" };
+
+dictionary ScrollOptions {
+ ScrollBehavior behavior = "auto";
+};
+
+dictionary ScrollToOptions : ScrollOptions {
+ unrestricted double left;
+ unrestricted double top;
+};
+
+partial interface Window {
+ //[Throws, NewObject, NeedsCallerType] MediaQueryList matchMedia(DOMString query);
+ [Throws, NewObject, NeedsCallerType] MediaQueryList? matchMedia(DOMString query);
+ // Per spec, screen is SameObject, but we don't actually guarantee that given
+ // nsGlobalWindow::Cleanup. :(
+ //[SameObject, Replaceable, Throws] readonly attribute Screen screen;
+ [Replaceable, Throws] readonly attribute Screen screen;
+
+ // browsing context
+ //[Throws] undefined moveTo(double x, double y);
+ //[Throws] undefined moveBy(double x, double y);
+ //[Throws] undefined resizeTo(double x, double y);
+ //[Throws] undefined resizeBy(double x, double y);
+ [Throws, NeedsCallerType] undefined moveTo(long x, long y);
+ [Throws, NeedsCallerType] undefined moveBy(long x, long y);
+ [Throws, NeedsCallerType] undefined resizeTo(long x, long y);
+ [Throws, NeedsCallerType] undefined resizeBy(long x, long y);
+
+ // viewport
+ // These are writable because we allow chrome to write them. And they need
+ // to use 'any' as the type, because non-chrome writing them needs to act
+ // like a [Replaceable] attribute would, which needs the original JS value.
+ //[Replaceable, Throws] readonly attribute double innerWidth;
+ //[Replaceable, Throws] readonly attribute double innerHeight;
+ [Throws, NeedsCallerType] attribute any innerWidth;
+ [Throws, NeedsCallerType] attribute any innerHeight;
+
+ // viewport scrolling
+ undefined scroll(unrestricted double x, unrestricted double y);
+ undefined scroll(optional ScrollToOptions options);
+ undefined scrollTo(unrestricted double x, unrestricted double y);
+ undefined scrollTo(optional ScrollToOptions options);
+ undefined scrollBy(unrestricted double x, unrestricted double y);
+ undefined scrollBy(optional ScrollToOptions options);
+ // The four properties below are double per spec at the moment, but whether
+ // that will continue is unclear.
+ [Replaceable, Throws] readonly attribute double scrollX;
+ [Replaceable, Throws] readonly attribute double pageXOffset;
+ [Replaceable, Throws] readonly attribute double scrollY;
+ [Replaceable, Throws] readonly attribute double pageYOffset;
+
+ // client
+ // These are writable because we allow chrome to write them. And they need
+ // to use 'any' as the type, because non-chrome writing them needs to act
+ // like a [Replaceable] attribute would, which needs the original JS value.
+ //[Replaceable, Throws] readonly attribute double screenX;
+ //[Replaceable, Throws] readonly attribute double screenY;
+ //[Replaceable, Throws] readonly attribute double outerWidth;
+ //[Replaceable, Throws] readonly attribute double outerHeight;
+ [Throws, NeedsCallerType] attribute any screenX;
+ [Throws, NeedsCallerType] attribute any screenY;
+ [Throws, NeedsCallerType] attribute any outerWidth;
+ [Throws, NeedsCallerType] attribute any outerHeight;
+ [Replaceable] readonly attribute double devicePixelRatio;
+};
+
+// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
+partial interface Window {
+ [Throws] long requestAnimationFrame(FrameRequestCallback callback);
+ [Throws] undefined cancelAnimationFrame(long handle);
+};
+callback FrameRequestCallback = undefined (DOMHighResTimeStamp time);
+
+// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
+partial interface Window {
+ [Replaceable, Pure, StoreInSlot] readonly attribute Performance? performance;
+};
+
+// https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html
+Window includes GlobalCrypto;
+
+// https://fidoalliance.org/specifications/download/
+Window includes GlobalU2F;
+
+//#ifdef MOZ_WEBSPEECH
+// http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
+interface mixin SpeechSynthesisGetter {
+ [Throws, Pref="media.webspeech.synth.enabled"] readonly attribute SpeechSynthesis speechSynthesis;
+};
+
+Window includes SpeechSynthesisGetter;
+//#endif
+
+Window includes TouchEventHandlers;
+
+Window includes OnErrorEventHandlerForWindow;
+
+//#if defined(MOZ_WIDGET_ANDROID)
+// https://compat.spec.whatwg.org/#windoworientation-interface
+partial interface Window {
+ [NeedsCallerType]
+ readonly attribute short orientation;
+ attribute EventHandler onorientationchange;
+};
+//#endif
+
+callback PromiseDocumentFlushedCallback = any ();
+
+partial interface Window {
+ [Pref="dom.vr.enabled"]
+ attribute EventHandler onvrdisplayconnect;
+ [Pref="dom.vr.enabled"]
+ attribute EventHandler onvrdisplaydisconnect;
+ [Pref="dom.vr.enabled"]
+ attribute EventHandler onvrdisplayactivate;
+ [Pref="dom.vr.enabled"]
+ attribute EventHandler onvrdisplaydeactivate;
+ [Pref="dom.vr.enabled"]
+ attribute EventHandler onvrdisplaypresentchange;
+};
+
+// https://drafts.css-houdini.org/css-paint-api-1/#dom-window-paintworklet
+partial interface Window {
+ [Pref="dom.paintWorklet.enabled", Throws]
+ readonly attribute Worklet paintWorklet;
+};
+
+Window includes WindowOrWorkerGlobalScope;
+
+partial interface Window {
+ [Throws, Func="nsGlobalWindowInner::IsRequestIdleCallbackEnabled"]
+ unsigned long requestIdleCallback(IdleRequestCallback callback,
+ optional IdleRequestOptions options);
+ [Func="nsGlobalWindowInner::IsRequestIdleCallbackEnabled"]
+ undefined cancelIdleCallback(unsigned long handle);
+};
+
+dictionary IdleRequestOptions {
+ unsigned long timeout;
+};
+
+callback IdleRequestCallback = undefined (IdleDeadline deadline);
diff --git a/vendor/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl
new file mode 100644
index 000000000..89b818c4b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WindowOrWorkerGlobalScope.webidl
@@ -0,0 +1,70 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin
+ * https://fetch.spec.whatwg.org/#fetch-method
+ * https://w3c.github.io/webappsec-secure-contexts/#monkey-patching-global-object
+ * https://w3c.github.io/ServiceWorker/#self-caches
+ */
+
+// https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin
+[Exposed=(Window,Worker)]
+interface mixin WindowOrWorkerGlobalScope {
+ [Replaceable] readonly attribute USVString origin;
+
+ // base64 utility methods
+ [Throws]
+ DOMString btoa(DOMString btoa);
+ [Throws]
+ DOMString atob(DOMString atob);
+
+ // timers
+ // NOTE: We're using overloads where the spec uses a union. Should
+ // be black-box the same.
+ [Throws]
+ long setTimeout(Function handler, optional long timeout = 0, any... arguments);
+ [Throws]
+ long setTimeout(DOMString handler, optional long timeout = 0, any... unused);
+ undefined clearTimeout(optional long handle = 0);
+ [Throws]
+ long setInterval(Function handler, optional long timeout = 0, any... arguments);
+ [Throws]
+ long setInterval(DOMString handler, optional long timeout = 0, any... unused);
+ undefined clearInterval(optional long handle = 0);
+
+ // ImageBitmap
+ [Throws]
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage,
+ optional ImageBitmapOptions aOptions = {});
+ [Throws]
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage,
+ long aSx, long aSy, long aSw, long aSh,
+ optional ImageBitmapOptions aOptions = {});
+};
+
+// https://fetch.spec.whatwg.org/#fetch-method
+partial interface mixin WindowOrWorkerGlobalScope {
+ [NewObject, NeedsCallerType]
+ Promise<Response> fetch(RequestInfo input, optional RequestInit init);
+};
+
+// https://w3c.github.io/webappsec-secure-contexts/#monkey-patching-global-object
+partial interface mixin WindowOrWorkerGlobalScope {
+ readonly attribute boolean isSecureContext;
+};
+
+// http://w3c.github.io/IndexedDB/#factory-interface
+partial interface mixin WindowOrWorkerGlobalScope {
+ // readonly attribute IDBFactory indexedDB;
+ [Throws]
+ readonly attribute IDBFactory? indexedDB;
+};
+
+// https://w3c.github.io/ServiceWorker/#self-caches
+partial interface mixin WindowOrWorkerGlobalScope {
+ [Throws, Func="mozilla::dom::DOMPrefs::DOMCachesEnabled", SameObject]
+ readonly attribute CacheStorage caches;
+};
diff --git a/vendor/web-sys/webidls/enabled/WindowRoot.webidl b/vendor/web-sys/webidls/enabled/WindowRoot.webidl
new file mode 100644
index 000000000..0ddb1a9fb
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WindowRoot.webidl
@@ -0,0 +1,9 @@
+/* -*- 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/.
+ */
+
+[ChromeOnly]
+interface WindowRoot : EventTarget {
+};
diff --git a/vendor/web-sys/webidls/enabled/Worker.webidl b/vendor/web-sys/webidls/enabled/Worker.webidl
new file mode 100644
index 000000000..dc86f1575
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Worker.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://html.spec.whatwg.org/multipage/workers.html
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
+ * Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Constructor(USVString scriptURL, optional WorkerOptions options),
+ Exposed=(Window,DedicatedWorker,SharedWorker,System)]
+interface Worker : EventTarget {
+ undefined terminate();
+
+ [Throws]
+ undefined postMessage(any message, optional sequence<object> transfer = []);
+
+ attribute EventHandler onmessage;
+ attribute EventHandler onmessageerror;
+};
+
+Worker includes AbstractWorker;
+
+dictionary WorkerOptions {
+ WorkerType type = "classic";
+ RequestCredentials credentials = "omit"; // credentials is only used if type is "module"
+ DOMString name = "";
+};
+
+enum WorkerType { "classic", "module" };
+
+[Constructor(USVString scriptURL),
+ Func="mozilla::dom::ChromeWorker::WorkerAvailable",
+ Exposed=(Window,DedicatedWorker,SharedWorker,System)]
+interface ChromeWorker : Worker {
+};
diff --git a/vendor/web-sys/webidls/enabled/WorkerDebuggerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/WorkerDebuggerGlobalScope.webidl
new file mode 100644
index 000000000..8c405b1c5
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WorkerDebuggerGlobalScope.webidl
@@ -0,0 +1,40 @@
+/* -*- 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/. */
+
+[Global=(WorkerDebugger), Exposed=WorkerDebugger]
+interface WorkerDebuggerGlobalScope : EventTarget {
+ [Throws]
+ readonly attribute object global;
+
+ [Throws]
+ object createSandbox(DOMString name, object prototype);
+
+ [Throws]
+ undefined loadSubScript(DOMString url, optional object sandbox);
+
+ undefined enterEventLoop();
+
+ undefined leaveEventLoop();
+
+ undefined postMessage(DOMString message);
+
+ attribute EventHandler onmessage;
+
+ [Throws]
+ undefined setImmediate(Function handler);
+
+ undefined reportError(DOMString message);
+
+ [Throws]
+ sequence<any> retrieveConsoleEvents();
+
+ [Throws]
+ undefined setConsoleEventHandler(AnyCallback? handler);
+};
+
+// So you can debug while you debug
+partial interface WorkerDebuggerGlobalScope {
+ undefined dump(optional DOMString string);
+};
diff --git a/vendor/web-sys/webidls/enabled/WorkerGlobalScope.webidl b/vendor/web-sys/webidls/enabled/WorkerGlobalScope.webidl
new file mode 100644
index 000000000..7d79a6835
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WorkerGlobalScope.webidl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#the-workerglobalscope-common-interface
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
+ * Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Exposed=(Worker)]
+interface WorkerGlobalScope : EventTarget {
+ [Constant, Cached]
+ readonly attribute WorkerGlobalScope self;
+ readonly attribute WorkerLocation location;
+ readonly attribute WorkerNavigator navigator;
+
+ [Throws]
+ undefined importScripts(DOMString... urls);
+
+ attribute OnErrorEventHandler onerror;
+
+ attribute EventHandler onoffline;
+ attribute EventHandler ononline;
+ // also has additional members in a partial interface
+};
+
+WorkerGlobalScope includes GlobalCrypto;
+WorkerGlobalScope includes WindowOrWorkerGlobalScope;
+
+// Not implemented yet: bug 1072107.
+// WorkerGlobalScope includes FontFaceSource;
diff --git a/vendor/web-sys/webidls/enabled/WorkerLocation.webidl b/vendor/web-sys/webidls/enabled/WorkerLocation.webidl
new file mode 100644
index 000000000..23fc478d8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WorkerLocation.webidl
@@ -0,0 +1,33 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/html/#worker-locations
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
+ * Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of
+ * this document.
+ */
+
+[Exposed=Worker]
+interface WorkerLocation {
+ // Bug 824857: no support for stringifier attributes yet.
+ // stringifier attribute USVString href;
+
+ // Bug 824857 should remove this.
+ stringifier;
+
+ readonly attribute USVString href;
+
+ readonly attribute USVString origin;
+ readonly attribute USVString protocol;
+ readonly attribute USVString host;
+ readonly attribute USVString hostname;
+ readonly attribute USVString port;
+ readonly attribute USVString pathname;
+ readonly attribute USVString search;
+ readonly attribute USVString hash;
+};
diff --git a/vendor/web-sys/webidls/enabled/WorkerNavigator.webidl b/vendor/web-sys/webidls/enabled/WorkerNavigator.webidl
new file mode 100644
index 000000000..1341691f9
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WorkerNavigator.webidl
@@ -0,0 +1,28 @@
+/* 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/. */
+
+
+[Exposed=Worker]
+interface WorkerNavigator {
+};
+
+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]
+partial interface WorkerNavigator {
+ [Func="mozilla::dom::DOMPrefs::NetworkInformationEnabled", Throws]
+ readonly attribute NetworkInformation connection;
+};
+
+// https://wicg.github.io/media-capabilities/#idl-index
+[Exposed=Worker]
+partial interface WorkerNavigator {
+ [SameObject, Func="mozilla::dom::MediaCapabilities::Enabled"]
+ readonly attribute MediaCapabilities mediaCapabilities;
+};
diff --git a/vendor/web-sys/webidls/enabled/Worklet.webidl b/vendor/web-sys/webidls/enabled/Worklet.webidl
new file mode 100644
index 000000000..2711020e3
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/Worklet.webidl
@@ -0,0 +1,19 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.css-houdini.org/worklets/#idl-index
+ */
+
+[Pref="dom.worklet.enabled",
+ Exposed=Window]
+interface Worklet {
+ [NewObject, Throws, NeedsCallerType]
+ Promise<undefined> addModule(USVString moduleURL, optional WorkletOptions options = {});
+};
+
+dictionary WorkletOptions {
+ RequestCredentials credentials = "same-origin";
+};
diff --git a/vendor/web-sys/webidls/enabled/WorkletGlobalScope.webidl b/vendor/web-sys/webidls/enabled/WorkletGlobalScope.webidl
new file mode 100644
index 000000000..0cfbaef34
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WorkletGlobalScope.webidl
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.css-houdini.org/worklets/#idl-index
+ */
+
+[Exposed=Worklet]
+interface WorkletGlobalScope {
+};
diff --git a/vendor/web-sys/webidls/enabled/XMLDocument.webidl b/vendor/web-sys/webidls/enabled/XMLDocument.webidl
new file mode 100644
index 000000000..1db8952ad
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XMLDocument.webidl
@@ -0,0 +1,24 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is:
+ * http://dom.spec.whatwg.org/#xmldocument
+ * http://www.whatwg.org/specs/web-apps/current-work/#xmldocument
+ */
+
+// http://dom.spec.whatwg.org/#xmldocument
+interface XMLDocument : Document {};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#xmldocument
+partial interface XMLDocument {
+ [Throws, NeedsCallerType]
+ boolean load(DOMString url);
+};
+
+// Gecko extensions?
+partial interface XMLDocument {
+ [UseCounter]
+ attribute boolean async;
+};
diff --git a/vendor/web-sys/webidls/enabled/XMLHttpRequest.webidl b/vendor/web-sys/webidls/enabled/XMLHttpRequest.webidl
new file mode 100644
index 000000000..302cd553b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XMLHttpRequest.webidl
@@ -0,0 +1,97 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://xhr.spec.whatwg.org/#interface-xmlhttprequest
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+// invalid widl
+// interface InputStream;
+// interface IID;
+
+enum XMLHttpRequestResponseType {
+ "",
+ "arraybuffer",
+ "blob",
+ "document",
+ "json",
+ "text",
+};
+
+[Constructor(),
+ // There are apparently callers, specifically CoffeeScript, who do
+ // things like this:
+ // c = new(window.ActiveXObject || XMLHttpRequest)("Microsoft.XMLHTTP")
+ // To handle that, we need a constructor that takes a string.
+ Constructor(DOMString ignored),
+ Exposed=(Window,DedicatedWorker,SharedWorker)]
+interface XMLHttpRequest : XMLHttpRequestEventTarget {
+ // event handler
+ attribute EventHandler onreadystatechange;
+
+ // states
+ const unsigned short UNSENT = 0;
+ const unsigned short OPENED = 1;
+ const unsigned short HEADERS_RECEIVED = 2;
+ const unsigned short LOADING = 3;
+ const unsigned short DONE = 4;
+
+ readonly attribute unsigned short readyState;
+
+ // request
+ [Throws]
+ undefined open(ByteString method, USVString url);
+ [Throws]
+ undefined open(ByteString method, USVString url, boolean async,
+ optional USVString? user=null, optional USVString? password=null);
+ [Throws]
+ undefined setRequestHeader(ByteString header, ByteString value);
+
+ [SetterThrows]
+ attribute unsigned long timeout;
+
+ [SetterThrows]
+ attribute boolean withCredentials;
+
+ [Throws]
+ readonly attribute XMLHttpRequestUpload upload;
+
+ [Throws]
+ undefined send(optional (Document or BodyInit)? body = null);
+
+ [Throws]
+ undefined abort();
+
+ // response
+ readonly attribute USVString responseURL;
+
+ [Throws]
+ readonly attribute unsigned short status;
+
+ [Throws]
+ readonly attribute ByteString statusText;
+
+ [Throws]
+ ByteString? getResponseHeader(ByteString header);
+
+ [Throws]
+ ByteString getAllResponseHeaders();
+
+ [Throws]
+ undefined overrideMimeType(DOMString mime);
+
+ [SetterThrows]
+ attribute XMLHttpRequestResponseType responseType;
+ [Throws]
+ readonly attribute any response;
+ [Cached, Pure, Throws]
+ readonly attribute USVString? responseText;
+
+ [Throws, Exposed=Window]
+ readonly attribute Document? responseXML;
+};
diff --git a/vendor/web-sys/webidls/enabled/XMLHttpRequestEventTarget.webidl b/vendor/web-sys/webidls/enabled/XMLHttpRequestEventTarget.webidl
new file mode 100644
index 000000000..035da04cc
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XMLHttpRequestEventTarget.webidl
@@ -0,0 +1,29 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,DedicatedWorker,SharedWorker)]
+interface XMLHttpRequestEventTarget : EventTarget {
+ // event handlers
+ attribute EventHandler onloadstart;
+
+ attribute EventHandler onprogress;
+
+ attribute EventHandler onabort;
+
+ attribute EventHandler onerror;
+
+ attribute EventHandler onload;
+
+ attribute EventHandler ontimeout;
+
+ attribute EventHandler onloadend;
+};
diff --git a/vendor/web-sys/webidls/enabled/XMLHttpRequestUpload.webidl b/vendor/web-sys/webidls/enabled/XMLHttpRequestUpload.webidl
new file mode 100644
index 000000000..cbb8728b7
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XMLHttpRequestUpload.webidl
@@ -0,0 +1,16 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Exposed=(Window,DedicatedWorker,SharedWorker)]
+interface XMLHttpRequestUpload : XMLHttpRequestEventTarget {
+
+};
diff --git a/vendor/web-sys/webidls/enabled/XMLSerializer.webidl b/vendor/web-sys/webidls/enabled/XMLSerializer.webidl
new file mode 100644
index 000000000..367be8bb6
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XMLSerializer.webidl
@@ -0,0 +1,24 @@
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * http://domparsing.spec.whatwg.org/#the-xmlserializer-interface
+ */
+
+// invalid widl
+// interface OutputStream;
+
+[Constructor]
+interface XMLSerializer {
+ /**
+ * The subtree rooted by the specified element is serialized to
+ * a string.
+ *
+ * @param root The root of the subtree to be serialized. This could
+ * be any node, including a Document.
+ * @returns The serialized subtree in the form of a Unicode string
+ */
+ [Throws]
+ DOMString serializeToString(Node root);
+};
diff --git a/vendor/web-sys/webidls/enabled/XPathEvaluator.webidl b/vendor/web-sys/webidls/enabled/XPathEvaluator.webidl
new file mode 100644
index 000000000..a70058d25
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XPathEvaluator.webidl
@@ -0,0 +1,20 @@
+/* -*- 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/.
+ */
+
+[Constructor]
+interface mixin XPathEvaluator {
+ [NewObject, Throws]
+ XPathExpression createExpression(DOMString expression,
+ optional XPathNSResolver? resolver = null);
+ [Pure]
+ Node createNSResolver(Node nodeResolver);
+ [Throws]
+ XPathResult evaluate(DOMString expression,
+ Node contextNode,
+ optional XPathNSResolver? resolver = null,
+ optional unsigned short type = 0 /* XPathResult.ANY_TYPE */,
+ optional object? result = null);
+};
diff --git a/vendor/web-sys/webidls/enabled/XPathExpression.webidl b/vendor/web-sys/webidls/enabled/XPathExpression.webidl
new file mode 100644
index 000000000..90bc603f8
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XPathExpression.webidl
@@ -0,0 +1,25 @@
+/* -*- 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/.
+ */
+
+interface XPathExpression {
+ // The result specifies a specific result object which may be reused and
+ // returned by this method. If this is specified as null or it's not an
+ // XPathResult object, a new result object will be constructed and returned.
+ [Throws]
+ XPathResult evaluate(Node contextNode,
+ optional unsigned short type = 0 /* XPathResult.ANY_TYPE */,
+ optional object? result = null);
+
+ // The result specifies a specific result object which may be reused and
+ // returned by this method. If this is specified as null or it's not an
+ // XPathResult object, a new result object will be constructed and returned.
+ [Throws, ChromeOnly]
+ XPathResult evaluateWithContext(Node contextNode,
+ unsigned long contextPosition,
+ unsigned long contextSize,
+ optional unsigned short type = 0 /* XPathResult.ANY_TYPE */,
+ optional object? result = null);
+};
diff --git a/vendor/web-sys/webidls/enabled/XPathNSResolver.webidl b/vendor/web-sys/webidls/enabled/XPathNSResolver.webidl
new file mode 100644
index 000000000..6309ff38c
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XPathNSResolver.webidl
@@ -0,0 +1,10 @@
+/* -*- 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/.
+ */
+
+callback interface XPathNSResolver
+{
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+};
diff --git a/vendor/web-sys/webidls/enabled/XPathResult.webidl b/vendor/web-sys/webidls/enabled/XPathResult.webidl
new file mode 100644
index 000000000..d50063771
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XPathResult.webidl
@@ -0,0 +1,38 @@
+/* -*- 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/.
+ *
+ * Corresponds to http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020208
+ */
+
+interface XPathResult {
+ // XPathResultType
+ const unsigned short ANY_TYPE = 0;
+ const unsigned short NUMBER_TYPE = 1;
+ const unsigned short STRING_TYPE = 2;
+ const unsigned short BOOLEAN_TYPE = 3;
+ const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4;
+ const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5;
+ const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6;
+ const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7;
+ const unsigned short ANY_UNORDERED_NODE_TYPE = 8;
+ const unsigned short FIRST_ORDERED_NODE_TYPE = 9;
+
+ readonly attribute unsigned short resultType;
+ [Throws]
+ readonly attribute double numberValue;
+ [Throws]
+ readonly attribute DOMString stringValue;
+ [Throws]
+ readonly attribute boolean booleanValue;
+ [Throws]
+ readonly attribute Node? singleNodeValue;
+ readonly attribute boolean invalidIteratorState;
+ [Throws]
+ readonly attribute unsigned long snapshotLength;
+ [Throws]
+ Node? iterateNext();
+ [Throws]
+ Node? snapshotItem(unsigned long index);
+};
diff --git a/vendor/web-sys/webidls/enabled/XSLTProcessor.webidl b/vendor/web-sys/webidls/enabled/XSLTProcessor.webidl
new file mode 100644
index 000000000..be1b7a57b
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/XSLTProcessor.webidl
@@ -0,0 +1,110 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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 nsIVariant;
+
+[Constructor]
+interface XSLTProcessor {
+ /**
+ * Import the stylesheet into this XSLTProcessor for transformations.
+ *
+ * @param style The root-node of a XSLT stylesheet. This can be either
+ * a document node or an element node. If a document node
+ * then the document can contain either a XSLT stylesheet
+ * or a LRE stylesheet.
+ * If the argument is an element node it must be the
+ * xsl:stylesheet (or xsl:transform) element of an XSLT
+ * stylesheet.
+ */
+ [Throws]
+ undefined importStylesheet(Node style);
+
+ /**
+ * Transforms the node source applying the stylesheet given by
+ * the importStylesheet() function. The owner document of the output node
+ * owns the returned document fragment.
+ *
+ * @param source The node to be transformed
+ * @param output This document is used to generate the output
+ * @return DocumentFragment The result of the transformation
+ */
+ [CEReactions, Throws]
+ DocumentFragment transformToFragment(Node source,
+ Document output);
+
+ /**
+ * Transforms the node source applying the stylesheet given by the
+ * importStylesheet() function.
+ *
+ * @param source The node to be transformed
+ * @return Document The result of the transformation
+ */
+ [CEReactions, Throws]
+ Document transformToDocument(Node source);
+
+ /**
+ * Sets a parameter to be used in subsequent transformations with this
+ * XSLTProcessor. If the parameter doesn't exist in the stylesheet the
+ * parameter will be ignored.
+ *
+ * @param namespaceURI The namespaceURI of the XSLT parameter
+ * @param localName The local name of the XSLT parameter
+ * @param value The new value of the XSLT parameter
+ */
+ [Throws]
+ undefined setParameter([TreatNullAs=EmptyString] DOMString namespaceURI,
+ DOMString localName,
+ any value);
+
+ /**
+ * Gets a parameter if previously set by setParameter. Returns null
+ * otherwise.
+ *
+ * @param namespaceURI The namespaceURI of the XSLT parameter
+ * @param localName The local name of the XSLT parameter
+ * @return nsIVariant The value of the XSLT parameter
+ */
+ [Throws]
+ nsIVariant? getParameter([TreatNullAs=EmptyString] DOMString namespaceURI,
+ DOMString localName);
+ /**
+ * Removes a parameter, if set. This will make the processor use the
+ * default-value for the parameter as specified in the stylesheet.
+ *
+ * @param namespaceURI The namespaceURI of the XSLT parameter
+ * @param localName The local name of the XSLT parameter
+ */
+ [Throws]
+ undefined removeParameter([TreatNullAs=EmptyString] DOMString namespaceURI,
+ DOMString localName);
+
+ /**
+ * Removes all set parameters from this XSLTProcessor. This will make
+ * the processor use the default-value for all parameters as specified in
+ * the stylesheet.
+ */
+ undefined clearParameters();
+
+ /**
+ * Remove all parameters and stylesheets from this XSLTProcessor.
+ */
+ undefined reset();
+
+ /**
+ * Disables all loading of external documents, such as from
+ * <xsl:import> and document()
+ * Defaults to off and is *not* reset by calls to reset()
+ */
+ [ChromeOnly]
+ const unsigned long DISABLE_ALL_LOADS = 1;
+
+ /**
+ * Flags for this processor. Defaults to 0. See individual flags above
+ * for documentation for effect of reset()
+ */
+ [ChromeOnly, NeedsCallerType]
+ attribute unsigned long flags;
+};
diff --git a/vendor/web-sys/webidls/enabled/nsISupports.webidl b/vendor/web-sys/webidls/enabled/nsISupports.webidl
new file mode 100644
index 000000000..cf6cd8f23
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/nsISupports.webidl
@@ -0,0 +1,4 @@
+// `nsISupports` is a Gecko thing that can be queried if it implements some
+// interface. We can query anything via `JsCast`, so it is good enough to just
+// call it an Object.
+typedef object nsISupports;
diff --git a/vendor/web-sys/webidls/unavailable_option_primitive/PaymentRequest.webidl b/vendor/web-sys/webidls/unavailable_option_primitive/PaymentRequest.webidl
new file mode 100644
index 000000000..2d1b860d3
--- /dev/null
+++ b/vendor/web-sys/webidls/unavailable_option_primitive/PaymentRequest.webidl
@@ -0,0 +1,112 @@
+/* -*- 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/.
+ *
+ * The origin of this WebIDL file is
+ * https://www.w3.org/TR/payment-request/#paymentrequest-interface
+ */
+
+dictionary PaymentMethodData {
+ required DOMString supportedMethods;
+ object data;
+};
+
+dictionary PaymentCurrencyAmount {
+ required DOMString currency;
+ required DOMString value;
+ DOMString currencySystem = "urn:iso:std:iso:4217";
+};
+
+enum PaymentItemType {
+ "tax"
+};
+
+dictionary PaymentItem {
+ required DOMString label;
+ required PaymentCurrencyAmount amount;
+ boolean pending = false;
+ PaymentItemType type;
+};
+
+dictionary PaymentShippingOption {
+ required DOMString id;
+ required DOMString label;
+ required PaymentCurrencyAmount amount;
+ boolean selected = false;
+};
+
+dictionary PaymentDetailsModifier {
+ required DOMString supportedMethods;
+ PaymentItem total;
+ sequence<PaymentItem> additionalDisplayItems;
+ object data;
+};
+
+dictionary PaymentDetailsBase {
+ sequence<PaymentItem> displayItems;
+ sequence<PaymentShippingOption> shippingOptions;
+ sequence<PaymentDetailsModifier> modifiers;
+};
+
+dictionary PaymentDetailsInit : PaymentDetailsBase {
+ DOMString id;
+ required PaymentItem total;
+};
+
+dictionary AddressErrors {
+ DOMString addressLine;
+ DOMString city;
+ DOMString country;
+ DOMString dependentLocality;
+ DOMString languageCode;
+ DOMString organization;
+ DOMString phone;
+ DOMString postalCode;
+ DOMString recipient;
+ DOMString region;
+ DOMString regionCode;
+ DOMString sortingCode;
+};
+
+dictionary PaymentDetailsUpdate : PaymentDetailsBase {
+ DOMString error;
+ AddressErrors shippingAddressErrors;
+ PaymentItem total;
+};
+
+enum PaymentShippingType {
+ "shipping",
+ "delivery",
+ "pickup"
+};
+
+dictionary PaymentOptions {
+ boolean requestPayerName = false;
+ boolean requestPayerEmail = false;
+ boolean requestPayerPhone = false;
+ boolean requestShipping = false;
+ PaymentShippingType shippingType = "shipping";
+};
+
+[Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details,
+ optional PaymentOptions options),
+ SecureContext,
+ Func="mozilla::dom::PaymentRequest::PrefEnabled"]
+interface PaymentRequest : EventTarget {
+ [NewObject]
+ Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
+ [NewObject]
+ Promise<undefined> abort();
+ [NewObject]
+ Promise<boolean> canMakePayment();
+
+ readonly attribute DOMString id;
+ readonly attribute PaymentAddress? shippingAddress;
+ readonly attribute DOMString? shippingOption;
+ readonly attribute PaymentShippingType? shippingType;
+
+ attribute EventHandler onshippingaddresschange;
+ attribute EventHandler onshippingoptionchange;
+ attribute EventHandler onpaymentmethodchange;
+};
diff --git a/vendor/web-sys/webidls/unavailable_option_primitive/README.md b/vendor/web-sys/webidls/unavailable_option_primitive/README.md
new file mode 100644
index 000000000..feb38926b
--- /dev/null
+++ b/vendor/web-sys/webidls/unavailable_option_primitive/README.md
@@ -0,0 +1,2 @@
+These webidl files are unavailable because web-sys will fail to build when a function has an
+optional primitive parameter (e.g. `optional short`).
diff --git a/vendor/web-sys/webidls/unavailable_option_primitive/VRDisplayEvent.webidl b/vendor/web-sys/webidls/unavailable_option_primitive/VRDisplayEvent.webidl
new file mode 100644
index 000000000..83d39e7cb
--- /dev/null
+++ b/vendor/web-sys/webidls/unavailable_option_primitive/VRDisplayEvent.webidl
@@ -0,0 +1,23 @@
+/* -*- 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/. */
+
+enum VRDisplayEventReason {
+ "mounted",
+ "navigation",
+ "requested",
+ "unmounted",
+};
+
+dictionary VRDisplayEventInit : EventInit {
+ required VRDisplay display;
+ VRDisplayEventReason reason;
+};
+
+[Pref="dom.vr.enabled",
+ Constructor(DOMString type, VRDisplayEventInit eventInitDict)]
+interface VRDisplayEvent : Event {
+ readonly attribute VRDisplay display;
+ readonly attribute VRDisplayEventReason? reason;
+};
diff --git a/vendor/web-sys/webidls/unstable/Bluetooth.webidl b/vendor/web-sys/webidls/unstable/Bluetooth.webidl
new file mode 100644
index 000000000..b5a1d64db
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/Bluetooth.webidl
@@ -0,0 +1,236 @@
+dictionary BluetoothDataFilterInit {
+ BufferSource dataPrefix;
+ BufferSource mask;
+};
+
+dictionary BluetoothLEScanFilterInit {
+ sequence<BluetoothServiceUUID> services;
+ DOMString name;
+ DOMString namePrefix;
+ // Maps unsigned shorts to BluetoothDataFilters.
+ object manufacturerData;
+ // Maps BluetoothServiceUUIDs to BluetoothDataFilters.
+ object serviceData;
+};
+
+dictionary RequestDeviceOptions {
+ sequence<BluetoothLEScanFilterInit> filters;
+ sequence<BluetoothServiceUUID> optionalServices = [];
+ boolean acceptAllDevices = false;
+};
+
+[Exposed=Window, SecureContext]
+interface Bluetooth : EventTarget {
+ Promise<boolean> getAvailability();
+ attribute EventHandler onavailabilitychanged;
+ [SameObject]
+ readonly attribute BluetoothDevice? referringDevice;
+ Promise<sequence<BluetoothDevice>> getDevices();
+ Promise<BluetoothDevice> requestDevice(RequestDeviceOptions options);
+};
+
+Bluetooth includes BluetoothDeviceEventHandlers;
+Bluetooth includes CharacteristicEventHandlers;
+Bluetooth includes ServiceEventHandlers;
+
+dictionary BluetoothPermissionDescriptor : PermissionDescriptor {
+ DOMString deviceId;
+ // These match RequestDeviceOptions.
+ sequence<BluetoothLEScanFilterInit> filters;
+ sequence<BluetoothServiceUUID> optionalServices = [];
+ boolean acceptAllDevices = false;
+};
+
+dictionary AllowedBluetoothDevice {
+ required DOMString deviceId;
+ required boolean mayUseGATT;
+ // An allowedServices of "all" means all services are allowed.
+ required (DOMString or sequence<UUID>) allowedServices;
+};
+dictionary BluetoothPermissionStorage {
+ required sequence<AllowedBluetoothDevice> allowedDevices;
+};
+
+[Exposed=Window]
+interface BluetoothPermissionResult : PermissionStatus {
+ attribute FrozenArray<BluetoothDevice> devices;
+};
+
+[
+ Exposed=Window,
+ SecureContext
+]
+interface ValueEvent : Event {
+ constructor(DOMString type, optional ValueEventInit initDict = {});
+ readonly attribute any value;
+};
+
+dictionary ValueEventInit : EventInit {
+ any value = null;
+};
+
+[Exposed=Window, SecureContext]
+interface BluetoothDevice : EventTarget {
+ readonly attribute DOMString id;
+ readonly attribute DOMString? name;
+ readonly attribute BluetoothRemoteGATTServer? gatt;
+
+ Promise<undefined> watchAdvertisements(
+ optional WatchAdvertisementsOptions options = {});
+ readonly attribute boolean watchingAdvertisements;
+};
+BluetoothDevice includes BluetoothDeviceEventHandlers;
+BluetoothDevice includes CharacteristicEventHandlers;
+BluetoothDevice includes ServiceEventHandlers;
+
+dictionary WatchAdvertisementsOptions {
+ AbortSignal signal;
+};
+
+[Exposed=Window, SecureContext]
+interface BluetoothManufacturerDataMap {
+ readonly maplike<unsigned short, DataView>;
+};
+[Exposed=Window, SecureContext]
+interface BluetoothServiceDataMap {
+ readonly maplike<UUID, DataView>;
+};
+[
+ Exposed=Window,
+ SecureContext
+]
+interface BluetoothAdvertisingEvent : Event {
+ constructor(DOMString type, BluetoothAdvertisingEventInit init);
+ [SameObject]
+ readonly attribute BluetoothDevice device;
+ readonly attribute FrozenArray<UUID> uuids;
+ readonly attribute DOMString? name;
+ readonly attribute unsigned short? appearance;
+ readonly attribute byte? txPower;
+ readonly attribute byte? rssi;
+ [SameObject]
+ readonly attribute BluetoothManufacturerDataMap manufacturerData;
+ [SameObject]
+ readonly attribute BluetoothServiceDataMap serviceData;
+};
+dictionary BluetoothAdvertisingEventInit : EventInit {
+ required BluetoothDevice device;
+ sequence<(DOMString or unsigned long)> uuids;
+ DOMString name;
+ unsigned short appearance;
+ byte txPower;
+ byte rssi;
+ BluetoothManufacturerDataMap manufacturerData;
+ BluetoothServiceDataMap serviceData;
+};
+
+[Exposed=Window, SecureContext]
+interface BluetoothRemoteGATTServer {
+ [SameObject]
+ readonly attribute BluetoothDevice device;
+ readonly attribute boolean connected;
+ Promise<BluetoothRemoteGATTServer> connect();
+ undefined disconnect();
+ Promise<BluetoothRemoteGATTService> getPrimaryService(BluetoothServiceUUID service);
+ Promise<sequence<BluetoothRemoteGATTService>>
+ getPrimaryServices(optional BluetoothServiceUUID service);
+};
+
+[Exposed=Window, SecureContext]
+interface BluetoothRemoteGATTService : EventTarget {
+ [SameObject]
+ readonly attribute BluetoothDevice device;
+ readonly attribute UUID uuid;
+ readonly attribute boolean isPrimary;
+ Promise<BluetoothRemoteGATTCharacteristic>
+ getCharacteristic(BluetoothCharacteristicUUID characteristic);
+ Promise<sequence<BluetoothRemoteGATTCharacteristic>>
+ getCharacteristics(optional BluetoothCharacteristicUUID characteristic);
+ Promise<BluetoothRemoteGATTService>
+ getIncludedService(BluetoothServiceUUID service);
+ Promise<sequence<BluetoothRemoteGATTService>>
+ getIncludedServices(optional BluetoothServiceUUID service);
+};
+BluetoothRemoteGATTService includes CharacteristicEventHandlers;
+BluetoothRemoteGATTService includes ServiceEventHandlers;
+
+[Exposed=Window, SecureContext]
+interface BluetoothRemoteGATTCharacteristic : EventTarget {
+ [SameObject]
+ readonly attribute BluetoothRemoteGATTService service;
+ readonly attribute UUID uuid;
+ readonly attribute BluetoothCharacteristicProperties properties;
+ readonly attribute DataView? value;
+ Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor);
+ Promise<sequence<BluetoothRemoteGATTDescriptor>>
+ getDescriptors(optional BluetoothDescriptorUUID descriptor);
+ Promise<DataView> readValue();
+ Promise<undefined> writeValue(BufferSource value);
+ Promise<undefined> writeValueWithResponse(BufferSource value);
+ Promise<undefined> writeValueWithoutResponse(BufferSource value);
+ Promise<BluetoothRemoteGATTCharacteristic> startNotifications();
+ Promise<BluetoothRemoteGATTCharacteristic> stopNotifications();
+};
+BluetoothRemoteGATTCharacteristic includes CharacteristicEventHandlers;
+
+[Exposed=Window, SecureContext]
+interface BluetoothCharacteristicProperties {
+ readonly attribute boolean broadcast;
+ readonly attribute boolean read;
+ readonly attribute boolean writeWithoutResponse;
+ readonly attribute boolean write;
+ readonly attribute boolean notify;
+ readonly attribute boolean indicate;
+ readonly attribute boolean authenticatedSignedWrites;
+ readonly attribute boolean reliableWrite;
+ readonly attribute boolean writableAuxiliaries;
+};
+
+[Exposed=Window, SecureContext]
+interface BluetoothRemoteGATTDescriptor {
+ [SameObject]
+ readonly attribute BluetoothRemoteGATTCharacteristic characteristic;
+ readonly attribute UUID uuid;
+ readonly attribute DataView? value;
+ Promise<DataView> readValue();
+ Promise<undefined> writeValue(BufferSource value);
+};
+
+[SecureContext]
+interface mixin CharacteristicEventHandlers {
+ attribute EventHandler oncharacteristicvaluechanged;
+};
+
+[SecureContext]
+interface mixin BluetoothDeviceEventHandlers {
+ attribute EventHandler onadvertisementreceived;
+ attribute EventHandler ongattserverdisconnected;
+};
+
+[SecureContext]
+interface mixin ServiceEventHandlers {
+ attribute EventHandler onserviceadded;
+ attribute EventHandler onservicechanged;
+ attribute EventHandler onserviceremoved;
+};
+
+typedef DOMString UUID;
+
+[Exposed=Window]
+interface BluetoothUUID {
+ static UUID getService((DOMString or unsigned long) name);
+ static UUID getCharacteristic((DOMString or unsigned long) name);
+ static UUID getDescriptor((DOMString or unsigned long) name);
+
+ static UUID canonicalUUID([EnforceRange] unsigned long alias);
+};
+
+typedef (DOMString or unsigned long) BluetoothServiceUUID;
+typedef (DOMString or unsigned long) BluetoothCharacteristicUUID;
+typedef (DOMString or unsigned long) BluetoothDescriptorUUID;
+
+[SecureContext]
+partial interface Navigator {
+ [SameObject]
+ readonly attribute Bluetooth? bluetooth;
+};
diff --git a/vendor/web-sys/webidls/unstable/Clipboard.webidl b/vendor/web-sys/webidls/unstable/Clipboard.webidl
new file mode 100644
index 000000000..d1974f65e
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/Clipboard.webidl
@@ -0,0 +1,61 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * Clipboard API and events
+ * W3C Working Draft, 4 June 2021
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/2021/WD-clipboard-apis-20210604/
+ */
+
+dictionary ClipboardEventInit : EventInit {
+ DataTransfer? clipboardData = null;
+};
+
+[Exposed=Window]
+interface ClipboardEvent : Event {
+ constructor(DOMString type, optional ClipboardEventInit eventInitDict = {});
+ readonly attribute DataTransfer? clipboardData;
+};
+
+partial interface Navigator {
+ [SecureContext, SameObject] readonly attribute Clipboard? clipboard;
+};
+
+typedef sequence<ClipboardItem> ClipboardItems;
+
+[SecureContext, Exposed=Window] interface Clipboard : EventTarget {
+ Promise<ClipboardItems> read();
+ Promise<DOMString> readText();
+ Promise<undefined> write(ClipboardItems data);
+ Promise<undefined> writeText(DOMString data);
+};
+
+typedef (DOMString or Blob) ClipboardItemDataType;
+typedef Promise<ClipboardItemDataType> ClipboardItemData;
+
+callback ClipboardItemDelayedCallback = ClipboardItemData ();
+
+[Exposed=Window] interface ClipboardItem {
+ constructor(record<DOMString, ClipboardItemData> items,
+ optional ClipboardItemOptions options = {});
+ static ClipboardItem createDelayed(
+ record<DOMString, ClipboardItemDelayedCallback> items,
+ optional ClipboardItemOptions options = {});
+
+ readonly attribute PresentationStyle presentationStyle;
+ readonly attribute long long lastModified;
+ readonly attribute boolean delayed;
+
+ readonly attribute FrozenArray<DOMString> types;
+
+ Promise<Blob> getType(DOMString type);
+};
+
+enum PresentationStyle { "unspecified", "inline", "attachment" };
+
+dictionary ClipboardItemOptions {
+ PresentationStyle presentationStyle = "unspecified";
+};
+
+dictionary ClipboardPermissionDescriptor : PermissionDescriptor {
+ boolean allowWithoutGesture = false;
+};
diff --git a/vendor/web-sys/webidls/unstable/ImageCapture.webidl b/vendor/web-sys/webidls/unstable/ImageCapture.webidl
new file mode 100644
index 000000000..317a9dd6e
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/ImageCapture.webidl
@@ -0,0 +1,22 @@
+/* -*- 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/.
+ *
+ * The origin of this IDL file is
+ * https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/ImageCapture.html
+ *
+ * Copyright © 2012-2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+[Pref="dom.imagecapture.enabled", Constructor(MediaStreamTrack videoTrack)]
+interface ImageCapture {
+ Promise<Blob> takePhoto(optional PhotoSettings photoSettings);
+ Promise<PhotoCapabilities> getPhotoCapabilities();
+ Promise<PhotoSettings> getPhotoSettings();
+
+ Promise<ImageBitmap> grabFrame();
+
+ readonly attribute MediaStreamTrack track;
+};
diff --git a/vendor/web-sys/webidls/unstable/MediaCaptureTransform.webidl b/vendor/web-sys/webidls/unstable/MediaCaptureTransform.webidl
new file mode 100644
index 000000000..a81eee994
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/MediaCaptureTransform.webidl
@@ -0,0 +1,20 @@
+[Exposed=Window,DedicatedWorker]
+interface MediaStreamTrackGenerator : MediaStreamTrack {
+ constructor(MediaStreamTrackGeneratorInit init);
+ attribute WritableStream writable; // VideoFrame or AudioData
+};
+
+dictionary MediaStreamTrackGeneratorInit {
+ required DOMString kind;
+};
+
+[Exposed=DedicatedWorker]
+interface MediaStreamTrackProcessor {
+ constructor(MediaStreamTrackProcessorInit init);
+ attribute ReadableStream readable;
+};
+
+dictionary MediaStreamTrackProcessorInit {
+ required MediaStreamTrack track;
+ [EnforceRange] unsigned short maxBufferSize;
+};
diff --git a/vendor/web-sys/webidls/unstable/MediaSession.webidl b/vendor/web-sys/webidls/unstable/MediaSession.webidl
new file mode 100644
index 000000000..91133c682
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/MediaSession.webidl
@@ -0,0 +1,77 @@
+[Exposed=Window]
+partial interface Navigator {
+ [SameObject] readonly attribute MediaSession mediaSession;
+};
+
+enum MediaSessionPlaybackState {
+ "none",
+ "paused",
+ "playing"
+};
+
+enum MediaSessionAction {
+ "play",
+ "pause",
+ "seekbackward",
+ "seekforward",
+ "previoustrack",
+ "nexttrack",
+ "skipad",
+ "stop",
+ "seekto",
+ "togglemicrophone",
+ "togglecamera",
+ "hangup"
+};
+
+callback MediaSessionActionHandler = undefined(MediaSessionActionDetails details);
+
+[Exposed=Window]
+interface MediaSession {
+ attribute MediaMetadata? metadata;
+
+ attribute MediaSessionPlaybackState playbackState;
+
+ undefined setActionHandler(MediaSessionAction action, MediaSessionActionHandler? handler);
+
+ undefined setPositionState(optional MediaPositionState state = {});
+
+ undefined setMicrophoneActive(boolean active);
+
+ undefined setCameraActive(boolean active);
+};
+
+[Exposed=Window]
+interface MediaMetadata {
+ constructor(optional MediaMetadataInit init = {});
+ attribute DOMString title;
+ attribute DOMString artist;
+ attribute DOMString album;
+ attribute FrozenArray<MediaImage> artwork;
+};
+
+dictionary MediaMetadataInit {
+ DOMString title = "";
+ DOMString artist = "";
+ DOMString album = "";
+ sequence<MediaImage> artwork = [];
+};
+
+dictionary MediaImage {
+ required USVString src;
+ DOMString sizes = "";
+ DOMString type = "";
+};
+
+dictionary MediaPositionState {
+ double duration;
+ double playbackRate;
+ double position;
+};
+
+dictionary MediaSessionActionDetails {
+ required MediaSessionAction action;
+ double? seekOffset;
+ double? seekTime;
+ boolean? fastSeek;
+};
diff --git a/vendor/web-sys/webidls/unstable/QueuingStrategy.webidl b/vendor/web-sys/webidls/unstable/QueuingStrategy.webidl
new file mode 100644
index 000000000..8138938c5
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/QueuingStrategy.webidl
@@ -0,0 +1,15 @@
+/* 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,
+ * 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/.
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Source: https://streams.spec.whatwg.org/#dictdef-queuingstrategy
+ */
+
+dictionary QueuingStrategy {
+ unrestricted double highWaterMark;
+ QueuingStrategySize size;
+};
+
+callback QueuingStrategySize = unrestricted double (optional any chunk);
diff --git a/vendor/web-sys/webidls/unstable/ResizeObserver.webidl b/vendor/web-sys/webidls/unstable/ResizeObserver.webidl
new file mode 100644
index 000000000..48876887d
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/ResizeObserver.webidl
@@ -0,0 +1,32 @@
+enum ResizeObserverBoxOptions {
+ "border-box", "content-box", "device-pixel-content-box"
+};
+
+dictionary ResizeObserverOptions {
+ ResizeObserverBoxOptions box = "content-box";
+};
+
+[Exposed=(Window)]
+interface ResizeObserver {
+ constructor(ResizeObserverCallback callback);
+ undefined observe(Element target, optional ResizeObserverOptions options = {});
+ undefined unobserve(Element target);
+ undefined disconnect();
+};
+
+callback ResizeObserverCallback = undefined (sequence<ResizeObserverEntry> entries, ResizeObserver observer);
+
+[Exposed=Window]
+interface ResizeObserverEntry {
+ readonly attribute Element target;
+ readonly attribute DOMRectReadOnly contentRect;
+ readonly attribute FrozenArray<ResizeObserverSize> borderBoxSize;
+ readonly attribute FrozenArray<ResizeObserverSize> contentBoxSize;
+ readonly attribute FrozenArray<ResizeObserverSize> devicePixelContentBoxSize;
+};
+
+[Exposed=Window]
+interface ResizeObserverSize {
+ readonly attribute unrestricted double inlineSize;
+ readonly attribute unrestricted double blockSize;
+};
diff --git a/vendor/web-sys/webidls/unstable/ScreenWakeLock.webidl b/vendor/web-sys/webidls/unstable/ScreenWakeLock.webidl
new file mode 100644
index 000000000..c14d783d4
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/ScreenWakeLock.webidl
@@ -0,0 +1,23 @@
+/* The origin of this IDL file is
+ * https://www.w3.org/TR/screen-wake-lock/#idl-index
+ */
+
+[SecureContext]
+partial interface Navigator {
+ [SameObject] readonly attribute WakeLock wakeLock;
+};
+
+[SecureContext, Exposed=(Window)]
+interface WakeLock {
+ Promise<WakeLockSentinel> request(WakeLockType type);
+};
+
+[SecureContext, Exposed=(Window)]
+interface WakeLockSentinel : EventTarget {
+ readonly attribute boolean released;
+ readonly attribute WakeLockType type;
+ Promise<undefined> release();
+ attribute EventHandler onrelease;
+};
+
+enum WakeLockType { "screen" };
diff --git a/vendor/web-sys/webidls/unstable/Share.webidl b/vendor/web-sys/webidls/unstable/Share.webidl
new file mode 100644
index 000000000..570af69a8
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/Share.webidl
@@ -0,0 +1,20 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * API for sharing text, links and other content to an arbitrary destination of the user's choice.
+ * W3C Working Draft, 22 November 2021
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/web-share
+ */
+
+partial interface Navigator {
+ [SecureContext] Promise<undefined> share(optional ShareData data = {});
+
+ [SecureContext] boolean canShare(optional ShareData data = {});
+};
+
+dictionary ShareData {
+ sequence<File> files;
+ USVString title;
+ USVString text;
+ USVString url;
+};
diff --git a/vendor/web-sys/webidls/unstable/WebCodecs.webidl b/vendor/web-sys/webidls/unstable/WebCodecs.webidl
new file mode 100644
index 000000000..62c8618ab
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebCodecs.webidl
@@ -0,0 +1,478 @@
+[Exposed=(Window,DedicatedWorker), SecureContext]
+interface AudioDecoder {
+ constructor(AudioDecoderInit init);
+
+ readonly attribute CodecState state;
+ readonly attribute unsigned long decodeQueueSize;
+
+ undefined configure(AudioDecoderConfig config);
+ undefined decode(EncodedAudioChunk chunk);
+ Promise<undefined> flush();
+ undefined reset();
+ undefined close();
+
+ static Promise<AudioDecoderSupport> isConfigSupported(AudioDecoderConfig config);
+};
+
+dictionary AudioDecoderInit {
+ required AudioDataOutputCallback output;
+ required WebCodecsErrorCallback error;
+};
+
+callback AudioDataOutputCallback = undefined(AudioData output);
+
+[Exposed=(Window,DedicatedWorker), SecureContext]
+interface VideoDecoder {
+ constructor(VideoDecoderInit init);
+
+ readonly attribute CodecState state;
+ readonly attribute unsigned long decodeQueueSize;
+
+ undefined configure(VideoDecoderConfig config);
+ undefined decode(EncodedVideoChunk chunk);
+ Promise<undefined> flush();
+ undefined reset();
+ undefined close();
+
+ static Promise<VideoDecoderSupport> isConfigSupported(VideoDecoderConfig config);
+};
+
+dictionary VideoDecoderInit {
+ required VideoFrameOutputCallback output;
+ required WebCodecsErrorCallback error;
+};
+
+callback VideoFrameOutputCallback = undefined(VideoFrame output);
+
+[Exposed=(Window,DedicatedWorker), SecureContext]
+interface AudioEncoder {
+ constructor(AudioEncoderInit init);
+
+ readonly attribute CodecState state;
+ readonly attribute unsigned long encodeQueueSize;
+
+ undefined configure(AudioEncoderConfig config);
+ undefined encode(AudioData data);
+ Promise<undefined> flush();
+ undefined reset();
+ undefined close();
+
+ static Promise<AudioEncoderSupport> isConfigSupported(AudioEncoderConfig config);
+};
+
+dictionary AudioEncoderInit {
+ required EncodedAudioChunkOutputCallback output;
+ required WebCodecsErrorCallback error;
+};
+
+callback EncodedAudioChunkOutputCallback =
+ undefined (EncodedAudioChunk output,
+ optional EncodedAudioChunkMetadata metadata = {});
+
+dictionary EncodedAudioChunkMetadata {
+ AudioDecoderConfig decoderConfig;
+};
+
+[Exposed=(Window,DedicatedWorker), SecureContext]
+interface VideoEncoder {
+ constructor(VideoEncoderInit init);
+
+ readonly attribute CodecState state;
+ readonly attribute unsigned long encodeQueueSize;
+
+ undefined configure(VideoEncoderConfig config);
+ undefined encode(VideoFrame frame, optional VideoEncoderEncodeOptions options = {});
+ Promise<undefined> flush();
+ undefined reset();
+ undefined close();
+
+ static Promise<VideoEncoderSupport> isConfigSupported(VideoEncoderConfig config);
+};
+
+dictionary VideoEncoderInit {
+ required EncodedVideoChunkOutputCallback output;
+ required WebCodecsErrorCallback error;
+};
+
+callback EncodedVideoChunkOutputCallback =
+ undefined (EncodedVideoChunk chunk,
+ optional EncodedVideoChunkMetadata metadata = {});
+
+dictionary EncodedVideoChunkMetadata {
+ VideoDecoderConfig decoderConfig;
+ SvcOutputMetadata svc;
+ BufferSource alphaSideData;
+};
+
+dictionary SvcOutputMetadata {
+ unsigned long temporalLayerId;
+};
+
+dictionary AudioDecoderSupport {
+ boolean supported;
+ AudioDecoderConfig config;
+};
+
+dictionary VideoDecoderSupport {
+ boolean supported;
+ VideoDecoderConfig config;
+};
+
+dictionary AudioEncoderSupport {
+ boolean supported;
+ AudioEncoderConfig config;
+};
+
+dictionary VideoEncoderSupport {
+ boolean supported;
+ VideoEncoderConfig config;
+};
+
+dictionary AudioDecoderConfig {
+ required DOMString codec;
+ [EnforceRange] required unsigned long sampleRate;
+ [EnforceRange] required unsigned long numberOfChannels;
+ BufferSource description;
+};
+
+dictionary VideoDecoderConfig {
+ required DOMString codec;
+ BufferSource description;
+ [EnforceRange] unsigned long codedWidth;
+ [EnforceRange] unsigned long codedHeight;
+ [EnforceRange] unsigned long displayAspectWidth;
+ [EnforceRange] unsigned long displayAspectHeight;
+ VideoColorSpaceInit colorSpace;
+ HardwareAcceleration hardwareAcceleration = "no-preference";
+ boolean optimizeForLatency;
+};
+
+dictionary AudioEncoderConfig {
+ required DOMString codec;
+ [EnforceRange] unsigned long sampleRate;
+ [EnforceRange] unsigned long numberOfChannels;
+ [EnforceRange] unsigned long long bitrate;
+};
+
+dictionary VideoEncoderConfig {
+ required DOMString codec;
+ [EnforceRange] required unsigned long width;
+ [EnforceRange] required unsigned long height;
+ [EnforceRange] unsigned long displayWidth;
+ [EnforceRange] unsigned long displayHeight;
+ [EnforceRange] unsigned long long bitrate;
+ [EnforceRange] double framerate;
+ HardwareAcceleration hardwareAcceleration = "no-preference";
+ AlphaOption alpha = "discard";
+ DOMString scalabilityMode;
+ BitrateMode bitrateMode = "variable";
+ LatencyMode latencyMode = "quality";
+};
+
+enum HardwareAcceleration {
+ "no-preference",
+ "prefer-hardware",
+ "prefer-software",
+};
+
+enum AlphaOption {
+ "keep",
+ "discard",
+};
+
+enum LatencyMode {
+ "quality",
+ "realtime"
+};
+
+dictionary VideoEncoderEncodeOptions {
+ boolean keyFrame = false;
+};
+
+enum CodecState {
+ "unconfigured",
+ "configured",
+ "closed"
+};
+
+callback WebCodecsErrorCallback = undefined(DOMException error);
+
+[Exposed=(Window,DedicatedWorker)]
+interface EncodedAudioChunk {
+ constructor(EncodedAudioChunkInit init);
+ readonly attribute EncodedAudioChunkType type;
+ readonly attribute long long timestamp; // microseconds
+ readonly attribute unsigned long long? duration; // microseconds
+ readonly attribute unsigned long byteLength;
+
+ undefined copyTo([AllowShared] BufferSource destination);
+};
+
+dictionary EncodedAudioChunkInit {
+ required EncodedAudioChunkType type;
+ [EnforceRange] required long long timestamp; // microseconds
+ [EnforceRange] unsigned long long duration; // microseconds
+ required BufferSource data;
+};
+
+enum EncodedAudioChunkType {
+ "key",
+ "delta",
+};
+
+[Exposed=(Window,DedicatedWorker)]
+interface EncodedVideoChunk {
+ constructor(EncodedVideoChunkInit init);
+ readonly attribute EncodedVideoChunkType type;
+ readonly attribute long long timestamp; // microseconds
+ readonly attribute unsigned long long? duration; // microseconds
+ readonly attribute unsigned long byteLength;
+
+ undefined copyTo([AllowShared] BufferSource destination);
+};
+
+dictionary EncodedVideoChunkInit {
+ required EncodedVideoChunkType type;
+ [EnforceRange] required long long timestamp; // microseconds
+ [EnforceRange] unsigned long long duration; // microseconds
+ required BufferSource data;
+};
+
+enum EncodedVideoChunkType {
+ "key",
+ "delta",
+};
+
+[Exposed=(Window,DedicatedWorker), Serializable, Transferable]
+interface AudioData {
+ constructor(AudioDataInit init);
+
+ readonly attribute AudioSampleFormat? format;
+ readonly attribute float sampleRate;
+ readonly attribute unsigned long numberOfFrames;
+ readonly attribute unsigned long numberOfChannels;
+ readonly attribute unsigned long long duration; // microseconds
+ readonly attribute long long timestamp; // microseconds
+
+ unsigned long allocationSize(AudioDataCopyToOptions options);
+ undefined copyTo([AllowShared] BufferSource destination, AudioDataCopyToOptions options);
+ AudioData clone();
+ undefined close();
+};
+
+dictionary AudioDataInit {
+ required AudioSampleFormat format;
+ required float sampleRate;
+ [EnforceRange] required unsigned long numberOfFrames;
+ [EnforceRange] required unsigned long numberOfChannels;
+ [EnforceRange] required long long timestamp; // microseconds
+ required BufferSource data;
+};
+
+dictionary AudioDataCopyToOptions {
+ [EnforceRange] required unsigned long planeIndex;
+ [EnforceRange] unsigned long frameOffset = 0;
+ [EnforceRange] unsigned long frameCount;
+ AudioSampleFormat format;
+};
+
+enum AudioSampleFormat {
+ "u8",
+ "s16",
+ "s32",
+ "f32",
+ "u8-planar",
+ "s16-planar",
+ "s32-planar",
+ "f32-planar",
+};
+
+[Exposed=(Window,DedicatedWorker), Serializable, Transferable]
+interface VideoFrame {
+ constructor(CanvasImageSource image, optional VideoFrameInit init = {});
+ constructor([AllowShared] BufferSource data, VideoFrameBufferInit init);
+
+ readonly attribute VideoPixelFormat? format;
+ readonly attribute unsigned long codedWidth;
+ readonly attribute unsigned long codedHeight;
+ readonly attribute DOMRectReadOnly? codedRect;
+ readonly attribute DOMRectReadOnly? visibleRect;
+ readonly attribute unsigned long displayWidth;
+ readonly attribute unsigned long displayHeight;
+ readonly attribute unsigned long long? duration; // microseconds
+ readonly attribute long long? timestamp; // microseconds
+ readonly attribute VideoColorSpace colorSpace;
+
+ unsigned long allocationSize(
+ optional VideoFrameCopyToOptions options = {});
+ Promise<sequence<PlaneLayout>> copyTo(
+ [AllowShared] BufferSource destination,
+ optional VideoFrameCopyToOptions options = {});
+ VideoFrame clone();
+ undefined close();
+};
+
+dictionary VideoFrameInit {
+ unsigned long long duration; // microseconds
+ long long timestamp; // microseconds
+ AlphaOption alpha = "keep";
+
+ // Default matches image. May be used to efficiently crop. Will trigger
+ // new computation of displayWidth and displayHeight using image’s pixel
+ // aspect ratio unless an explicit displayWidth and displayHeight are given.
+ DOMRectInit visibleRect;
+
+ // Default matches image unless visibleRect is provided.
+ [EnforceRange] unsigned long displayWidth;
+ [EnforceRange] unsigned long displayHeight;
+};
+
+dictionary VideoFrameBufferInit {
+ required VideoPixelFormat format;
+ [EnforceRange] required unsigned long codedWidth;
+ [EnforceRange] required unsigned long codedHeight;
+ [EnforceRange] required long long timestamp; // microseconds
+ [EnforceRange] unsigned long long duration; // microseconds
+
+ // Default layout is tightly-packed.
+ sequence<PlaneLayout> layout;
+
+ // Default visible rect is coded size positioned at (0,0)
+ DOMRectInit visibleRect;
+
+ // Default display dimensions match visibleRect.
+ [EnforceRange] unsigned long displayWidth;
+ [EnforceRange] unsigned long displayHeight;
+
+ VideoColorSpaceInit colorSpace;
+};
+
+dictionary VideoFrameCopyToOptions {
+ DOMRectInit rect;
+ sequence<PlaneLayout> layout;
+};
+
+dictionary PlaneLayout {
+ [EnforceRange] required unsigned long offset;
+ [EnforceRange] required unsigned long stride;
+};
+
+enum VideoPixelFormat {
+ // 4:2:0 Y, U, V
+ "I420",
+ // 4:2:0 Y, U, V, A
+ "I420A",
+ // 4:2:2 Y, U, V
+ "I422",
+ // 4:4:4 Y, U, V
+ "I444",
+ // 4:2:0 Y, UV
+ "NV12",
+ // 32bpp RGBA
+ "RGBA",
+ // 32bpp RGBX (opaque)
+ "RGBX",
+ // 32bpp BGRA
+ "BGRA",
+ // 32bpp BGRX (opaque)
+ "BGRX",
+};
+
+[Exposed=(Window,DedicatedWorker)]
+interface VideoColorSpace {
+ constructor(optional VideoColorSpaceInit init = {});
+
+ readonly attribute VideoColorPrimaries? primaries;
+ readonly attribute VideoTransferCharacteristics? transfer;
+ readonly attribute VideoMatrixCoefficients? matrix;
+ readonly attribute boolean? fullRange;
+
+ [Default] VideoColorSpaceInit toJSON();
+};
+
+dictionary VideoColorSpaceInit {
+ VideoColorPrimaries primaries;
+ VideoTransferCharacteristics transfer;
+ VideoMatrixCoefficients matrix;
+ boolean fullRange;
+};
+
+enum VideoColorPrimaries {
+ "bt709", // BT.709, sRGB
+ "bt470bg", // BT.601 PAL
+ "smpte170m", // BT.601 NTSC
+};
+
+enum VideoTransferCharacteristics {
+ "bt709", // BT.709
+ "smpte170m", // BT.601 (functionally the same as bt709)
+ "iec61966-2-1", // sRGB
+};
+
+enum VideoMatrixCoefficients {
+ "rgb", // sRGB
+ "bt709", // BT.709
+ "bt470bg", // BT.601 PAL
+ "smpte170m", // BT.601 NTSC (functionally the same as bt470bg)
+};
+
+[Exposed=(Window,DedicatedWorker), SecureContext]
+interface ImageDecoder {
+ constructor(ImageDecoderInit init);
+
+ readonly attribute DOMString type;
+ readonly attribute boolean complete;
+ readonly attribute Promise<undefined> completed;
+ readonly attribute ImageTrackList tracks;
+
+ Promise<ImageDecodeResult> decode(optional ImageDecodeOptions options = {});
+ undefined reset();
+ undefined close();
+
+ static Promise<boolean> isTypeSupported(DOMString type);
+};
+
+
+typedef (BufferSource or ReadableStream) ImageBufferSource;
+dictionary ImageDecoderInit {
+ required DOMString type;
+ required ImageBufferSource data;
+ PremultiplyAlpha premultiplyAlpha = "default";
+ ColorSpaceConversion colorSpaceConversion = "default";
+ [EnforceRange] unsigned long desiredWidth;
+ [EnforceRange] unsigned long desiredHeight;
+ boolean preferAnimation;
+};
+
+
+dictionary ImageDecodeOptions {
+ [EnforceRange] unsigned long frameIndex = 0;
+ boolean completeFramesOnly = true;
+};
+
+
+dictionary ImageDecodeResult {
+ required VideoFrame image;
+ required boolean complete;
+};
+
+
+[Exposed=(Window,DedicatedWorker)]
+interface ImageTrackList {
+ getter ImageTrack (unsigned long index);
+
+ readonly attribute Promise<undefined> ready;
+ readonly attribute unsigned long length;
+ readonly attribute long selectedIndex;
+ readonly attribute ImageTrack? selectedTrack;
+};
+
+
+[Exposed=(Window,DedicatedWorker)]
+interface ImageTrack : EventTarget {
+ readonly attribute boolean animated;
+ readonly attribute unsigned long frameCount;
+ readonly attribute unrestricted float repetitionCount;
+ attribute EventHandler onchange;
+ attribute boolean selected;
+};
diff --git a/vendor/web-sys/webidls/unstable/WebGPU.webidl b/vendor/web-sys/webidls/unstable/WebGPU.webidl
new file mode 100644
index 000000000..e481dd5d9
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebGPU.webidl
@@ -0,0 +1,1247 @@
+interface mixin GPUObjectBase {
+ attribute USVString label;
+};
+
+dictionary GPUObjectDescriptorBase {
+ USVString label;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUSupportedLimits {
+ readonly attribute unsigned long maxTextureDimension1D;
+ readonly attribute unsigned long maxTextureDimension2D;
+ readonly attribute unsigned long maxTextureDimension3D;
+ readonly attribute unsigned long maxTextureArrayLayers;
+ readonly attribute unsigned long maxBindGroups;
+ readonly attribute unsigned long maxBindingsPerBindGroup;
+ readonly attribute unsigned long maxDynamicUniformBuffersPerPipelineLayout;
+ readonly attribute unsigned long maxDynamicStorageBuffersPerPipelineLayout;
+ readonly attribute unsigned long maxSampledTexturesPerShaderStage;
+ readonly attribute unsigned long maxSamplersPerShaderStage;
+ readonly attribute unsigned long maxStorageBuffersPerShaderStage;
+ readonly attribute unsigned long maxStorageTexturesPerShaderStage;
+ readonly attribute unsigned long maxUniformBuffersPerShaderStage;
+ readonly attribute unsigned long long maxUniformBufferBindingSize;
+ readonly attribute unsigned long long maxStorageBufferBindingSize;
+ readonly attribute unsigned long minUniformBufferOffsetAlignment;
+ readonly attribute unsigned long minStorageBufferOffsetAlignment;
+ readonly attribute unsigned long maxVertexBuffers;
+ readonly attribute unsigned long long maxBufferSize;
+ readonly attribute unsigned long maxVertexAttributes;
+ readonly attribute unsigned long maxVertexBufferArrayStride;
+ readonly attribute unsigned long maxInterStageShaderComponents;
+ readonly attribute unsigned long maxInterStageShaderVariables;
+ readonly attribute unsigned long maxColorAttachments;
+ readonly attribute unsigned long maxColorAttachmentBytesPerPixel;
+ readonly attribute unsigned long maxComputeWorkgroupStorageSize;
+ readonly attribute unsigned long maxComputeInvocationsPerWorkgroup;
+ readonly attribute unsigned long maxComputeWorkgroupSizeX;
+ readonly attribute unsigned long maxComputeWorkgroupSizeY;
+ readonly attribute unsigned long maxComputeWorkgroupSizeZ;
+ readonly attribute unsigned long maxComputeWorkgroupsPerDimension;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUSupportedFeatures {
+ readonly setlike<DOMString>;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUAdapterInfo {
+ readonly attribute DOMString vendor;
+ readonly attribute DOMString architecture;
+ readonly attribute DOMString device;
+ readonly attribute DOMString description;
+};
+
+interface mixin NavigatorGPU {
+ [SameObject, SecureContext] readonly attribute GPU gpu;
+};
+Navigator includes NavigatorGPU;
+WorkerNavigator includes NavigatorGPU;
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPU {
+ Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {});
+ GPUTextureFormat getPreferredCanvasFormat();
+};
+
+dictionary GPURequestAdapterOptions {
+ GPUPowerPreference powerPreference;
+ boolean forceFallbackAdapter = false;
+};
+
+enum GPUPowerPreference {
+ "low-power",
+ "high-performance"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUAdapter {
+ [SameObject] readonly attribute GPUSupportedFeatures features;
+ [SameObject] readonly attribute GPUSupportedLimits limits;
+ readonly attribute boolean isFallbackAdapter;
+
+ Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {});
+ Promise<GPUAdapterInfo> requestAdapterInfo(optional sequence<DOMString> unmaskHints = []);
+};
+
+dictionary GPUDeviceDescriptor : GPUObjectDescriptorBase {
+ sequence<GPUFeatureName> requiredFeatures = [];
+ record<DOMString, GPUSize64> requiredLimits = {};
+ GPUQueueDescriptor defaultQueue = {};
+};
+
+enum GPUFeatureName {
+ "depth-clip-control",
+ "depth32float-stencil8",
+ "texture-compression-bc",
+ "texture-compression-etc2",
+ "texture-compression-astc",
+ "timestamp-query",
+ "indirect-first-instance",
+ "shader-f16",
+ "bgra8unorm-storage",
+ "rg11b10ufloat-renderable"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUDevice : EventTarget {
+ [SameObject] readonly attribute GPUSupportedFeatures features;
+ [SameObject] readonly attribute GPUSupportedLimits limits;
+
+ [SameObject] readonly attribute GPUQueue queue;
+
+ undefined destroy();
+
+ GPUBuffer createBuffer(GPUBufferDescriptor descriptor);
+ GPUTexture createTexture(GPUTextureDescriptor descriptor);
+ GPUSampler createSampler(optional GPUSamplerDescriptor descriptor = {});
+ GPUExternalTexture importExternalTexture(GPUExternalTextureDescriptor descriptor);
+
+ GPUBindGroupLayout createBindGroupLayout(GPUBindGroupLayoutDescriptor descriptor);
+ GPUPipelineLayout createPipelineLayout(GPUPipelineLayoutDescriptor descriptor);
+ GPUBindGroup createBindGroup(GPUBindGroupDescriptor descriptor);
+
+ GPUShaderModule createShaderModule(GPUShaderModuleDescriptor descriptor);
+ GPUComputePipeline createComputePipeline(GPUComputePipelineDescriptor descriptor);
+ GPURenderPipeline createRenderPipeline(GPURenderPipelineDescriptor descriptor);
+ Promise<GPUComputePipeline> createComputePipelineAsync(GPUComputePipelineDescriptor descriptor);
+ Promise<GPURenderPipeline> createRenderPipelineAsync(GPURenderPipelineDescriptor descriptor);
+
+ GPUCommandEncoder createCommandEncoder(optional GPUCommandEncoderDescriptor descriptor = {});
+ GPURenderBundleEncoder createRenderBundleEncoder(GPURenderBundleEncoderDescriptor descriptor);
+
+ GPUQuerySet createQuerySet(GPUQuerySetDescriptor descriptor);
+};
+GPUDevice includes GPUObjectBase;
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUBuffer {
+ readonly attribute GPUSize64 size;
+ readonly attribute GPUBufferUsageFlags usage;
+
+ readonly attribute GPUBufferMapState mapState;
+
+ Promise<undefined> mapAsync(GPUMapModeFlags mode, optional GPUSize64 offset = 0, optional GPUSize64 size);
+ ArrayBuffer getMappedRange(optional GPUSize64 offset = 0, optional GPUSize64 size);
+ undefined unmap();
+
+ undefined destroy();
+};
+GPUBuffer includes GPUObjectBase;
+
+enum GPUBufferMapState {
+ "unmapped",
+ "pending",
+ "mapped"
+};
+
+dictionary GPUBufferDescriptor : GPUObjectDescriptorBase {
+ required GPUSize64 size;
+ required GPUBufferUsageFlags usage;
+ boolean mappedAtCreation = false;
+};
+
+typedef [EnforceRange] unsigned long GPUBufferUsageFlags;
+[Exposed=(Window, DedicatedWorker)]
+namespace GPUBufferUsage {
+ const GPUFlagsConstant MAP_READ = 0x0001;
+ const GPUFlagsConstant MAP_WRITE = 0x0002;
+ const GPUFlagsConstant COPY_SRC = 0x0004;
+ const GPUFlagsConstant COPY_DST = 0x0008;
+ const GPUFlagsConstant INDEX = 0x0010;
+ const GPUFlagsConstant VERTEX = 0x0020;
+ const GPUFlagsConstant UNIFORM = 0x0040;
+ const GPUFlagsConstant STORAGE = 0x0080;
+ const GPUFlagsConstant INDIRECT = 0x0100;
+ const GPUFlagsConstant QUERY_RESOLVE = 0x0200;
+};
+
+typedef [EnforceRange] unsigned long GPUMapModeFlags;
+[Exposed=(Window, DedicatedWorker)]
+namespace GPUMapMode {
+ const GPUFlagsConstant READ = 0x0001;
+ const GPUFlagsConstant WRITE = 0x0002;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUTexture {
+ GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {});
+
+ undefined destroy();
+
+ readonly attribute GPUIntegerCoordinate width;
+ readonly attribute GPUIntegerCoordinate height;
+ readonly attribute GPUIntegerCoordinate depthOrArrayLayers;
+ readonly attribute GPUIntegerCoordinate mipLevelCount;
+ readonly attribute GPUSize32 sampleCount;
+ readonly attribute GPUTextureDimension dimension;
+ readonly attribute GPUTextureFormat format;
+ readonly attribute GPUTextureUsageFlags usage;
+};
+GPUTexture includes GPUObjectBase;
+
+dictionary GPUTextureDescriptor : GPUObjectDescriptorBase {
+ required GPUExtent3D size;
+ GPUIntegerCoordinate mipLevelCount = 1;
+ GPUSize32 sampleCount = 1;
+ GPUTextureDimension dimension = "2d";
+ required GPUTextureFormat format;
+ required GPUTextureUsageFlags usage;
+ sequence<GPUTextureFormat> viewFormats = [];
+};
+
+enum GPUTextureDimension {
+ "1d",
+ "2d",
+ "3d"
+};
+
+typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
+[Exposed=(Window, DedicatedWorker)]
+namespace GPUTextureUsage {
+ const GPUFlagsConstant COPY_SRC = 0x01;
+ const GPUFlagsConstant COPY_DST = 0x02;
+ const GPUFlagsConstant TEXTURE_BINDING = 0x04;
+ const GPUFlagsConstant STORAGE_BINDING = 0x08;
+ const GPUFlagsConstant RENDER_ATTACHMENT = 0x10;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUTextureView {
+};
+GPUTextureView includes GPUObjectBase;
+
+dictionary GPUTextureViewDescriptor : GPUObjectDescriptorBase {
+ GPUTextureFormat format;
+ GPUTextureViewDimension dimension;
+ GPUTextureAspect aspect = "all";
+ GPUIntegerCoordinate baseMipLevel = 0;
+ GPUIntegerCoordinate mipLevelCount;
+ GPUIntegerCoordinate baseArrayLayer = 0;
+ GPUIntegerCoordinate arrayLayerCount;
+};
+
+enum GPUTextureViewDimension {
+ "1d",
+ "2d",
+ "2d-array",
+ "cube",
+ "cube-array",
+ "3d"
+};
+
+enum GPUTextureAspect {
+ "all",
+ "stencil-only",
+ "depth-only"
+};
+
+enum GPUTextureFormat {
+ // 8-bit formats
+ "r8unorm",
+ "r8snorm",
+ "r8uint",
+ "r8sint",
+
+ // 16-bit formats
+ "r16uint",
+ "r16sint",
+ "r16float",
+ "rg8unorm",
+ "rg8snorm",
+ "rg8uint",
+ "rg8sint",
+
+ // 32-bit formats
+ "r32uint",
+ "r32sint",
+ "r32float",
+ "rg16uint",
+ "rg16sint",
+ "rg16float",
+ "rgba8unorm",
+ "rgba8unorm-srgb",
+ "rgba8snorm",
+ "rgba8uint",
+ "rgba8sint",
+ "bgra8unorm",
+ "bgra8unorm-srgb",
+ // Packed 32-bit formats
+ "rgb9e5ufloat",
+ "rgb10a2unorm",
+ "rg11b10ufloat",
+
+ // 64-bit formats
+ "rg32uint",
+ "rg32sint",
+ "rg32float",
+ "rgba16uint",
+ "rgba16sint",
+ "rgba16float",
+
+ // 128-bit formats
+ "rgba32uint",
+ "rgba32sint",
+ "rgba32float",
+
+ // Depth/stencil formats
+ "stencil8",
+ "depth16unorm",
+ "depth24plus",
+ "depth24plus-stencil8",
+ "depth32float",
+
+ // "depth32float-stencil8" feature
+ "depth32float-stencil8",
+
+ // BC compressed formats usable if "texture-compression-bc" is both
+ // supported by the device/user agent and enabled in requestDevice.
+ "bc1-rgba-unorm",
+ "bc1-rgba-unorm-srgb",
+ "bc2-rgba-unorm",
+ "bc2-rgba-unorm-srgb",
+ "bc3-rgba-unorm",
+ "bc3-rgba-unorm-srgb",
+ "bc4-r-unorm",
+ "bc4-r-snorm",
+ "bc5-rg-unorm",
+ "bc5-rg-snorm",
+ "bc6h-rgb-ufloat",
+ "bc6h-rgb-float",
+ "bc7-rgba-unorm",
+ "bc7-rgba-unorm-srgb",
+
+ // ETC2 compressed formats usable if "texture-compression-etc2" is both
+ // supported by the device/user agent and enabled in requestDevice.
+ "etc2-rgb8unorm",
+ "etc2-rgb8unorm-srgb",
+ "etc2-rgb8a1unorm",
+ "etc2-rgb8a1unorm-srgb",
+ "etc2-rgba8unorm",
+ "etc2-rgba8unorm-srgb",
+ "eac-r11unorm",
+ "eac-r11snorm",
+ "eac-rg11unorm",
+ "eac-rg11snorm",
+
+ // ASTC compressed formats usable if "texture-compression-astc" is both
+ // supported by the device/user agent and enabled in requestDevice.
+ "astc-4x4-unorm",
+ "astc-4x4-unorm-srgb",
+ "astc-5x4-unorm",
+ "astc-5x4-unorm-srgb",
+ "astc-5x5-unorm",
+ "astc-5x5-unorm-srgb",
+ "astc-6x5-unorm",
+ "astc-6x5-unorm-srgb",
+ "astc-6x6-unorm",
+ "astc-6x6-unorm-srgb",
+ "astc-8x5-unorm",
+ "astc-8x5-unorm-srgb",
+ "astc-8x6-unorm",
+ "astc-8x6-unorm-srgb",
+ "astc-8x8-unorm",
+ "astc-8x8-unorm-srgb",
+ "astc-10x5-unorm",
+ "astc-10x5-unorm-srgb",
+ "astc-10x6-unorm",
+ "astc-10x6-unorm-srgb",
+ "astc-10x8-unorm",
+ "astc-10x8-unorm-srgb",
+ "astc-10x10-unorm",
+ "astc-10x10-unorm-srgb",
+ "astc-12x10-unorm",
+ "astc-12x10-unorm-srgb",
+ "astc-12x12-unorm",
+ "astc-12x12-unorm-srgb"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUExternalTexture {
+ readonly attribute boolean expired;
+};
+GPUExternalTexture includes GPUObjectBase;
+
+dictionary GPUExternalTextureDescriptor : GPUObjectDescriptorBase {
+ required HTMLVideoElement source;
+ PredefinedColorSpace colorSpace = "srgb";
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUSampler {
+};
+GPUSampler includes GPUObjectBase;
+
+dictionary GPUSamplerDescriptor : GPUObjectDescriptorBase {
+ GPUAddressMode addressModeU = "clamp-to-edge";
+ GPUAddressMode addressModeV = "clamp-to-edge";
+ GPUAddressMode addressModeW = "clamp-to-edge";
+ GPUFilterMode magFilter = "nearest";
+ GPUFilterMode minFilter = "nearest";
+ GPUMipmapFilterMode mipmapFilter = "nearest";
+ float lodMinClamp = 0;
+ float lodMaxClamp = 32;
+ GPUCompareFunction compare;
+ [Clamp] unsigned short maxAnisotropy = 1;
+};
+
+enum GPUAddressMode {
+ "clamp-to-edge",
+ "repeat",
+ "mirror-repeat"
+};
+
+enum GPUFilterMode {
+ "nearest",
+ "linear"
+};
+
+enum GPUMipmapFilterMode {
+ "nearest",
+ "linear"
+};
+
+enum GPUCompareFunction {
+ "never",
+ "less",
+ "equal",
+ "less-equal",
+ "greater",
+ "not-equal",
+ "greater-equal",
+ "always"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUBindGroupLayout {
+};
+GPUBindGroupLayout includes GPUObjectBase;
+
+dictionary GPUBindGroupLayoutDescriptor : GPUObjectDescriptorBase {
+ required sequence<GPUBindGroupLayoutEntry> entries;
+};
+
+dictionary GPUBindGroupLayoutEntry {
+ required GPUIndex32 binding;
+ required GPUShaderStageFlags visibility;
+
+ GPUBufferBindingLayout buffer;
+ GPUSamplerBindingLayout sampler;
+ GPUTextureBindingLayout texture;
+ GPUStorageTextureBindingLayout storageTexture;
+ GPUExternalTextureBindingLayout externalTexture;
+};
+
+typedef [EnforceRange] unsigned long GPUShaderStageFlags;
+[Exposed=(Window, DedicatedWorker)]
+namespace GPUShaderStage {
+ const GPUFlagsConstant VERTEX = 0x1;
+ const GPUFlagsConstant FRAGMENT = 0x2;
+ const GPUFlagsConstant COMPUTE = 0x4;
+};
+
+enum GPUBufferBindingType {
+ "uniform",
+ "storage",
+ "read-only-storage"
+};
+
+dictionary GPUBufferBindingLayout {
+ GPUBufferBindingType type = "uniform";
+ boolean hasDynamicOffset = false;
+ GPUSize64 minBindingSize = 0;
+};
+
+enum GPUSamplerBindingType {
+ "filtering",
+ "non-filtering",
+ "comparison"
+};
+
+dictionary GPUSamplerBindingLayout {
+ GPUSamplerBindingType type = "filtering";
+};
+
+enum GPUTextureSampleType {
+ "float",
+ "unfilterable-float",
+ "depth",
+ "sint",
+ "uint"
+};
+
+dictionary GPUTextureBindingLayout {
+ GPUTextureSampleType sampleType = "float";
+ GPUTextureViewDimension viewDimension = "2d";
+ boolean multisampled = false;
+};
+
+enum GPUStorageTextureAccess {
+ "write-only"
+};
+
+dictionary GPUStorageTextureBindingLayout {
+ GPUStorageTextureAccess access = "write-only";
+ required GPUTextureFormat format;
+ GPUTextureViewDimension viewDimension = "2d";
+};
+
+dictionary GPUExternalTextureBindingLayout {
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUBindGroup {
+};
+GPUBindGroup includes GPUObjectBase;
+
+dictionary GPUBindGroupDescriptor : GPUObjectDescriptorBase {
+ required GPUBindGroupLayout layout;
+ required sequence<GPUBindGroupEntry> entries;
+};
+
+typedef (GPUSampler or GPUTextureView or GPUBufferBinding or GPUExternalTexture) GPUBindingResource;
+
+dictionary GPUBindGroupEntry {
+ required GPUIndex32 binding;
+ required GPUBindingResource resource;
+};
+
+dictionary GPUBufferBinding {
+ required GPUBuffer buffer;
+ GPUSize64 offset = 0;
+ GPUSize64 size;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUPipelineLayout {
+};
+GPUPipelineLayout includes GPUObjectBase;
+
+dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase {
+ required sequence<GPUBindGroupLayout> bindGroupLayouts;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUShaderModule {
+ Promise<GPUCompilationInfo> compilationInfo();
+};
+GPUShaderModule includes GPUObjectBase;
+
+dictionary GPUShaderModuleDescriptor : GPUObjectDescriptorBase {
+ required USVString code;
+ object sourceMap;
+ record<USVString, GPUShaderModuleCompilationHint> hints;
+};
+
+dictionary GPUShaderModuleCompilationHint {
+ (GPUPipelineLayout or GPUAutoLayoutMode) layout;
+};
+
+enum GPUCompilationMessageType {
+ "error",
+ "warning",
+ "info"
+};
+
+[Exposed=(Window, DedicatedWorker), Serializable, SecureContext]
+interface GPUCompilationMessage {
+ readonly attribute DOMString message;
+ readonly attribute GPUCompilationMessageType type;
+ readonly attribute unsigned long long lineNum;
+ readonly attribute unsigned long long linePos;
+ readonly attribute unsigned long long offset;
+ readonly attribute unsigned long long length;
+};
+
+[Exposed=(Window, DedicatedWorker), Serializable, SecureContext]
+interface GPUCompilationInfo {
+ readonly attribute FrozenArray<GPUCompilationMessage> messages;
+};
+
+enum GPUAutoLayoutMode {
+ "auto"
+};
+
+dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase {
+ required (GPUPipelineLayout or GPUAutoLayoutMode) layout;
+};
+
+interface mixin GPUPipelineBase {
+ [NewObject] GPUBindGroupLayout getBindGroupLayout(unsigned long index);
+};
+
+dictionary GPUProgrammableStage {
+ required GPUShaderModule module;
+ required USVString entryPoint;
+ record<USVString, GPUPipelineConstantValue> constants;
+};
+
+typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32, and f16 if enabled.
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUComputePipeline {
+};
+GPUComputePipeline includes GPUObjectBase;
+GPUComputePipeline includes GPUPipelineBase;
+
+dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase {
+ required GPUProgrammableStage compute;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPURenderPipeline {
+};
+GPURenderPipeline includes GPUObjectBase;
+GPURenderPipeline includes GPUPipelineBase;
+
+dictionary GPURenderPipelineDescriptor : GPUPipelineDescriptorBase {
+ required GPUVertexState vertex;
+ GPUPrimitiveState primitive = {};
+ GPUDepthStencilState depthStencil;
+ GPUMultisampleState multisample = {};
+ GPUFragmentState fragment;
+};
+
+dictionary GPUPrimitiveState {
+ GPUPrimitiveTopology topology = "triangle-list";
+ GPUIndexFormat stripIndexFormat;
+ GPUFrontFace frontFace = "ccw";
+ GPUCullMode cullMode = "none";
+
+ // Requires "depth-clip-control" feature.
+ boolean unclippedDepth = false;
+};
+
+enum GPUPrimitiveTopology {
+ "point-list",
+ "line-list",
+ "line-strip",
+ "triangle-list",
+ "triangle-strip"
+};
+
+enum GPUFrontFace {
+ "ccw",
+ "cw"
+};
+
+enum GPUCullMode {
+ "none",
+ "front",
+ "back"
+};
+
+dictionary GPUMultisampleState {
+ GPUSize32 count = 1;
+ GPUSampleMask mask = 0xFFFFFFFF;
+ boolean alphaToCoverageEnabled = false;
+};
+
+dictionary GPUFragmentState : GPUProgrammableStage {
+ required sequence<GPUColorTargetState?> targets;
+};
+
+dictionary GPUColorTargetState {
+ required GPUTextureFormat format;
+
+ GPUBlendState blend;
+ GPUColorWriteFlags writeMask = 0xF; // GPUColorWrite.ALL
+};
+
+dictionary GPUBlendState {
+ required GPUBlendComponent color;
+ required GPUBlendComponent alpha;
+};
+
+typedef [EnforceRange] unsigned long GPUColorWriteFlags;
+[Exposed=(Window, DedicatedWorker)]
+namespace GPUColorWrite {
+ const GPUFlagsConstant RED = 0x1;
+ const GPUFlagsConstant GREEN = 0x2;
+ const GPUFlagsConstant BLUE = 0x4;
+ const GPUFlagsConstant ALPHA = 0x8;
+ const GPUFlagsConstant ALL = 0xF;
+};
+
+dictionary GPUBlendComponent {
+ GPUBlendOperation operation = "add";
+ GPUBlendFactor srcFactor = "one";
+ GPUBlendFactor dstFactor = "zero";
+};
+
+enum GPUBlendFactor {
+ "zero",
+ "one",
+ "src",
+ "one-minus-src",
+ "src-alpha",
+ "one-minus-src-alpha",
+ "dst",
+ "one-minus-dst",
+ "dst-alpha",
+ "one-minus-dst-alpha",
+ "src-alpha-saturated",
+ "constant",
+ "one-minus-constant"
+};
+
+enum GPUBlendOperation {
+ "add",
+ "subtract",
+ "reverse-subtract",
+ "min",
+ "max"
+};
+
+dictionary GPUDepthStencilState {
+ required GPUTextureFormat format;
+
+ boolean depthWriteEnabled = false;
+ GPUCompareFunction depthCompare = "always";
+
+ GPUStencilFaceState stencilFront = {};
+ GPUStencilFaceState stencilBack = {};
+
+ GPUStencilValue stencilReadMask = 0xFFFFFFFF;
+ GPUStencilValue stencilWriteMask = 0xFFFFFFFF;
+
+ GPUDepthBias depthBias = 0;
+ float depthBiasSlopeScale = 0;
+ float depthBiasClamp = 0;
+};
+
+dictionary GPUStencilFaceState {
+ GPUCompareFunction compare = "always";
+ GPUStencilOperation failOp = "keep";
+ GPUStencilOperation depthFailOp = "keep";
+ GPUStencilOperation passOp = "keep";
+};
+
+enum GPUStencilOperation {
+ "keep",
+ "zero",
+ "replace",
+ "invert",
+ "increment-clamp",
+ "decrement-clamp",
+ "increment-wrap",
+ "decrement-wrap"
+};
+
+enum GPUIndexFormat {
+ "uint16",
+ "uint32"
+};
+
+enum GPUVertexFormat {
+ "uint8x2",
+ "uint8x4",
+ "sint8x2",
+ "sint8x4",
+ "unorm8x2",
+ "unorm8x4",
+ "snorm8x2",
+ "snorm8x4",
+ "uint16x2",
+ "uint16x4",
+ "sint16x2",
+ "sint16x4",
+ "unorm16x2",
+ "unorm16x4",
+ "snorm16x2",
+ "snorm16x4",
+ "float16x2",
+ "float16x4",
+ "float32",
+ "float32x2",
+ "float32x3",
+ "float32x4",
+ "uint32",
+ "uint32x2",
+ "uint32x3",
+ "uint32x4",
+ "sint32",
+ "sint32x2",
+ "sint32x3",
+ "sint32x4"
+};
+
+enum GPUVertexStepMode {
+ "vertex",
+ "instance"
+};
+
+dictionary GPUVertexState : GPUProgrammableStage {
+ sequence<GPUVertexBufferLayout?> buffers = [];
+};
+
+dictionary GPUVertexBufferLayout {
+ required GPUSize64 arrayStride;
+ GPUVertexStepMode stepMode = "vertex";
+ required sequence<GPUVertexAttribute> attributes;
+};
+
+dictionary GPUVertexAttribute {
+ required GPUVertexFormat format;
+ required GPUSize64 offset;
+
+ required GPUIndex32 shaderLocation;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUCommandBuffer {
+};
+GPUCommandBuffer includes GPUObjectBase;
+
+dictionary GPUCommandBufferDescriptor : GPUObjectDescriptorBase {
+};
+
+interface mixin GPUCommandsMixin {
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUCommandEncoder {
+ GPURenderPassEncoder beginRenderPass(GPURenderPassDescriptor descriptor);
+ GPUComputePassEncoder beginComputePass(optional GPUComputePassDescriptor descriptor = {});
+
+ undefined copyBufferToBuffer(
+ GPUBuffer source,
+ GPUSize64 sourceOffset,
+ GPUBuffer destination,
+ GPUSize64 destinationOffset,
+ GPUSize64 size);
+
+ undefined copyBufferToTexture(
+ GPUImageCopyBuffer source,
+ GPUImageCopyTexture destination,
+ GPUExtent3D copySize);
+
+ undefined copyTextureToBuffer(
+ GPUImageCopyTexture source,
+ GPUImageCopyBuffer destination,
+ GPUExtent3D copySize);
+
+ undefined copyTextureToTexture(
+ GPUImageCopyTexture source,
+ GPUImageCopyTexture destination,
+ GPUExtent3D copySize);
+
+ undefined clearBuffer(
+ GPUBuffer buffer,
+ optional GPUSize64 offset = 0,
+ optional GPUSize64 size);
+
+ undefined writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex);
+
+ undefined resolveQuerySet(
+ GPUQuerySet querySet,
+ GPUSize32 firstQuery,
+ GPUSize32 queryCount,
+ GPUBuffer destination,
+ GPUSize64 destinationOffset);
+
+ GPUCommandBuffer finish(optional GPUCommandBufferDescriptor descriptor = {});
+};
+GPUCommandEncoder includes GPUObjectBase;
+GPUCommandEncoder includes GPUCommandsMixin;
+GPUCommandEncoder includes GPUDebugCommandsMixin;
+
+dictionary GPUCommandEncoderDescriptor : GPUObjectDescriptorBase {
+};
+
+dictionary GPUImageDataLayout {
+ GPUSize64 offset = 0;
+ GPUSize32 bytesPerRow;
+ GPUSize32 rowsPerImage;
+};
+
+dictionary GPUImageCopyBuffer : GPUImageDataLayout {
+ required GPUBuffer buffer;
+};
+
+dictionary GPUImageCopyTexture {
+ required GPUTexture texture;
+ GPUIntegerCoordinate mipLevel = 0;
+ GPUOrigin3D origin = {};
+ GPUTextureAspect aspect = "all";
+};
+
+dictionary GPUImageCopyTextureTagged : GPUImageCopyTexture {
+ PredefinedColorSpace colorSpace = "srgb";
+ boolean premultipliedAlpha = false;
+};
+
+dictionary GPUImageCopyExternalImage {
+ required (ImageBitmap or HTMLCanvasElement or OffscreenCanvas) source;
+ GPUOrigin2D origin = {};
+ boolean flipY = false;
+};
+
+interface mixin GPUBindingCommandsMixin {
+ undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
+ optional sequence<GPUBufferDynamicOffset> dynamicOffsets = []);
+
+ undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
+ Uint32Array dynamicOffsetsData,
+ GPUSize64 dynamicOffsetsDataStart,
+ GPUSize32 dynamicOffsetsDataLength);
+};
+
+interface mixin GPUDebugCommandsMixin {
+ undefined pushDebugGroup(USVString groupLabel);
+ undefined popDebugGroup();
+ undefined insertDebugMarker(USVString markerLabel);
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUComputePassEncoder {
+ undefined setPipeline(GPUComputePipeline pipeline);
+ undefined dispatchWorkgroups(GPUSize32 workgroupCountX, optional GPUSize32 workgroupCountY = 1, optional GPUSize32 workgroupCountZ = 1);
+ undefined dispatchWorkgroupsIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
+
+ undefined end();
+};
+GPUComputePassEncoder includes GPUObjectBase;
+GPUComputePassEncoder includes GPUCommandsMixin;
+GPUComputePassEncoder includes GPUDebugCommandsMixin;
+GPUComputePassEncoder includes GPUBindingCommandsMixin;
+
+enum GPUComputePassTimestampLocation {
+ "beginning",
+ "end"
+};
+
+dictionary GPUComputePassTimestampWrite {
+ required GPUQuerySet querySet;
+ required GPUSize32 queryIndex;
+ required GPUComputePassTimestampLocation location;
+};
+
+typedef sequence<GPUComputePassTimestampWrite> GPUComputePassTimestampWrites;
+
+dictionary GPUComputePassDescriptor : GPUObjectDescriptorBase {
+ GPUComputePassTimestampWrites timestampWrites = [];
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPURenderPassEncoder {
+ undefined setViewport(float x, float y,
+ float width, float height,
+ float minDepth, float maxDepth);
+
+ undefined setScissorRect(GPUIntegerCoordinate x, GPUIntegerCoordinate y,
+ GPUIntegerCoordinate width, GPUIntegerCoordinate height);
+
+ undefined setBlendConstant(GPUColor color);
+ undefined setStencilReference(GPUStencilValue reference);
+
+ undefined beginOcclusionQuery(GPUSize32 queryIndex);
+ undefined endOcclusionQuery();
+
+ undefined executeBundles(sequence<GPURenderBundle> bundles);
+ undefined end();
+};
+GPURenderPassEncoder includes GPUObjectBase;
+GPURenderPassEncoder includes GPUCommandsMixin;
+GPURenderPassEncoder includes GPUDebugCommandsMixin;
+GPURenderPassEncoder includes GPUBindingCommandsMixin;
+GPURenderPassEncoder includes GPURenderCommandsMixin;
+
+enum GPURenderPassTimestampLocation {
+ "beginning",
+ "end"
+};
+
+dictionary GPURenderPassTimestampWrite {
+ required GPUQuerySet querySet;
+ required GPUSize32 queryIndex;
+ required GPURenderPassTimestampLocation location;
+};
+
+typedef sequence<GPURenderPassTimestampWrite> GPURenderPassTimestampWrites;
+
+dictionary GPURenderPassDescriptor : GPUObjectDescriptorBase {
+ required sequence<GPURenderPassColorAttachment?> colorAttachments;
+ GPURenderPassDepthStencilAttachment depthStencilAttachment;
+ GPUQuerySet occlusionQuerySet;
+ GPURenderPassTimestampWrites timestampWrites = [];
+ GPUSize64 maxDrawCount = 50000000;
+};
+
+dictionary GPURenderPassColorAttachment {
+ required GPUTextureView view;
+ GPUTextureView resolveTarget;
+
+ GPUColor clearValue;
+ required GPULoadOp loadOp;
+ required GPUStoreOp storeOp;
+};
+
+dictionary GPURenderPassDepthStencilAttachment {
+ required GPUTextureView view;
+
+ float depthClearValue = 0;
+ GPULoadOp depthLoadOp;
+ GPUStoreOp depthStoreOp;
+ boolean depthReadOnly = false;
+
+ GPUStencilValue stencilClearValue = 0;
+ GPULoadOp stencilLoadOp;
+ GPUStoreOp stencilStoreOp;
+ boolean stencilReadOnly = false;
+};
+
+enum GPULoadOp {
+ "load",
+ "clear"
+};
+
+enum GPUStoreOp {
+ "store",
+ "discard"
+};
+
+dictionary GPURenderPassLayout: GPUObjectDescriptorBase {
+ required sequence<GPUTextureFormat?> colorFormats;
+ GPUTextureFormat depthStencilFormat;
+ GPUSize32 sampleCount = 1;
+};
+
+interface mixin GPURenderCommandsMixin {
+ undefined setPipeline(GPURenderPipeline pipeline);
+
+ undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
+ undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
+
+ undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
+ optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
+ undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1,
+ optional GPUSize32 firstIndex = 0,
+ optional GPUSignedOffset32 baseVertex = 0,
+ optional GPUSize32 firstInstance = 0);
+
+ undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
+ undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPURenderBundle {
+};
+GPURenderBundle includes GPUObjectBase;
+
+dictionary GPURenderBundleDescriptor : GPUObjectDescriptorBase {
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPURenderBundleEncoder {
+ GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {});
+};
+GPURenderBundleEncoder includes GPUObjectBase;
+GPURenderBundleEncoder includes GPUCommandsMixin;
+GPURenderBundleEncoder includes GPUDebugCommandsMixin;
+GPURenderBundleEncoder includes GPUBindingCommandsMixin;
+GPURenderBundleEncoder includes GPURenderCommandsMixin;
+
+dictionary GPURenderBundleEncoderDescriptor : GPURenderPassLayout {
+ boolean depthReadOnly = false;
+ boolean stencilReadOnly = false;
+};
+
+dictionary GPUQueueDescriptor : GPUObjectDescriptorBase {
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUQueue {
+ undefined submit(sequence<GPUCommandBuffer> commandBuffers);
+
+ Promise<undefined> onSubmittedWorkDone();
+
+ undefined writeBuffer(
+ GPUBuffer buffer,
+ GPUSize64 bufferOffset,
+ [AllowShared] BufferSource data,
+ optional GPUSize64 dataOffset = 0,
+ optional GPUSize64 size);
+
+ undefined writeTexture(
+ GPUImageCopyTexture destination,
+ [AllowShared] BufferSource data,
+ GPUImageDataLayout dataLayout,
+ GPUExtent3D size);
+
+ undefined copyExternalImageToTexture(
+ GPUImageCopyExternalImage source,
+ GPUImageCopyTextureTagged destination,
+ GPUExtent3D copySize);
+};
+GPUQueue includes GPUObjectBase;
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUQuerySet {
+ undefined destroy();
+
+ readonly attribute GPUQueryType type;
+ readonly attribute GPUSize32 count;
+};
+GPUQuerySet includes GPUObjectBase;
+
+dictionary GPUQuerySetDescriptor : GPUObjectDescriptorBase {
+ required GPUQueryType type;
+ required GPUSize32 count;
+};
+
+enum GPUQueryType {
+ "occlusion",
+ "timestamp"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUCanvasContext {
+ readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
+
+ undefined configure(GPUCanvasConfiguration configuration);
+ undefined unconfigure();
+
+ GPUTexture getCurrentTexture();
+};
+
+enum GPUCanvasAlphaMode {
+ "opaque",
+ "premultiplied"
+};
+
+dictionary GPUCanvasConfiguration {
+ required GPUDevice device;
+ required GPUTextureFormat format;
+ GPUTextureUsageFlags usage = 0x10; // GPUTextureUsage.RENDER_ATTACHMENT
+ sequence<GPUTextureFormat> viewFormats = [];
+ PredefinedColorSpace colorSpace = "srgb";
+ GPUCanvasAlphaMode alphaMode = "opaque";
+};
+
+enum GPUDeviceLostReason {
+ "destroyed"
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUDeviceLostInfo {
+ readonly attribute (GPUDeviceLostReason or undefined) reason;
+ readonly attribute DOMString message;
+};
+
+partial interface GPUDevice {
+ readonly attribute Promise<GPUDeviceLostInfo> lost;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUError {
+ readonly attribute DOMString message;
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUValidationError : GPUError {
+ constructor(DOMString message);
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUOutOfMemoryError : GPUError {
+ constructor(DOMString message);
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUInternalError : GPUError {
+ constructor(DOMString message);
+};
+
+enum GPUErrorFilter {
+ "validation",
+ "out-of-memory",
+ "internal"
+};
+
+partial interface GPUDevice {
+ undefined pushErrorScope(GPUErrorFilter filter);
+ Promise<GPUError?> popErrorScope();
+};
+
+[Exposed=(Window, DedicatedWorker), SecureContext]
+interface GPUUncapturedErrorEvent : Event {
+ constructor(
+ DOMString type,
+ GPUUncapturedErrorEventInit gpuUncapturedErrorEventInitDict
+ );
+ [SameObject] readonly attribute GPUError error;
+};
+
+dictionary GPUUncapturedErrorEventInit : EventInit {
+ required GPUError error;
+};
+
+partial interface GPUDevice {
+ [Exposed=(Window, DedicatedWorker)]
+ attribute EventHandler onuncapturederror;
+};
+
+typedef [EnforceRange] unsigned long GPUBufferDynamicOffset;
+typedef [EnforceRange] unsigned long GPUStencilValue;
+typedef [EnforceRange] unsigned long GPUSampleMask;
+typedef [EnforceRange] long GPUDepthBias;
+
+typedef [EnforceRange] unsigned long long GPUSize64;
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+typedef [EnforceRange] unsigned long GPUIndex32;
+typedef [EnforceRange] unsigned long GPUSize32;
+typedef [EnforceRange] long GPUSignedOffset32;
+
+typedef unsigned long GPUFlagsConstant;
+
+dictionary GPUColorDict {
+ required double r;
+ required double g;
+ required double b;
+ required double a;
+};
+typedef (sequence<double> or GPUColorDict) GPUColor;
+
+dictionary GPUOrigin2DDict {
+ GPUIntegerCoordinate x = 0;
+ GPUIntegerCoordinate y = 0;
+};
+typedef (sequence<GPUIntegerCoordinate> or GPUOrigin2DDict) GPUOrigin2D;
+
+dictionary GPUOrigin3DDict {
+ GPUIntegerCoordinate x = 0;
+ GPUIntegerCoordinate y = 0;
+ GPUIntegerCoordinate z = 0;
+};
+typedef (sequence<GPUIntegerCoordinate> or GPUOrigin3DDict) GPUOrigin3D;
+
+dictionary GPUExtent3DDict {
+ required GPUIntegerCoordinate width;
+ GPUIntegerCoordinate height = 1;
+ GPUIntegerCoordinate depthOrArrayLayers = 1;
+};
+typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;
+
diff --git a/vendor/web-sys/webidls/unstable/WebHID.webidl b/vendor/web-sys/webidls/unstable/WebHID.webidl
new file mode 100644
index 000000000..ffc960938
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebHID.webidl
@@ -0,0 +1,127 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: WebHID API (https://wicg.github.io/webhid/)
+
+dictionary HIDDeviceFilter {
+ unsigned long vendorId;
+ unsigned short productId;
+ unsigned short usagePage;
+ unsigned short usage;
+};
+
+dictionary HIDDeviceRequestOptions {
+ required sequence<HIDDeviceFilter> filters;
+};
+
+[
+ Exposed=Window,
+ SecureContext
+]
+interface HID : EventTarget {
+ attribute EventHandler onconnect;
+ attribute EventHandler ondisconnect;
+ Promise<sequence<HIDDevice>> getDevices();
+ Promise<sequence<HIDDevice>> requestDevice(
+ HIDDeviceRequestOptions options);
+};
+
+[SecureContext] partial interface Navigator {
+ [SameObject] readonly attribute HID hid;
+};
+
+dictionary HIDConnectionEventInit : EventInit {
+ required HIDDevice device;
+};
+
+[
+ Exposed=Window,
+ SecureContext
+] interface HIDConnectionEvent : Event {
+ constructor(DOMString type, HIDConnectionEventInit eventInitDict);
+ [SameObject] readonly attribute HIDDevice device;
+};
+
+dictionary HIDInputReportEventInit : EventInit {
+ required HIDDevice device;
+ required octet reportId;
+ required DataView data;
+};
+
+[
+ Exposed=Window,
+ SecureContext
+] interface HIDInputReportEvent : Event {
+ constructor(DOMString type, HIDInputReportEventInit eventInitDict);
+ [SameObject] readonly attribute HIDDevice device;
+ readonly attribute octet reportId;
+ readonly attribute DataView data;
+};
+
+enum HIDUnitSystem {
+ "none", "si-linear", "si-rotation", "english-linear",
+ "english-rotation", "vendor-defined", "reserved"
+};
+
+dictionary HIDReportItem {
+ boolean isAbsolute;
+ boolean isArray;
+ boolean isBufferedBytes;
+ boolean isConstant;
+ boolean isLinear;
+ boolean isRange;
+ boolean isVolatile;
+ boolean hasNull;
+ boolean hasPreferredState;
+ boolean wrap;
+ sequence<unsigned long> usages;
+ unsigned long usageMinimum;
+ unsigned long usageMaximum;
+ unsigned short reportSize;
+ unsigned short reportCount;
+ byte unitExponent;
+ HIDUnitSystem unitSystem;
+ byte unitFactorLengthExponent;
+ byte unitFactorMassExponent;
+ byte unitFactorTimeExponent;
+ byte unitFactorTemperatureExponent;
+ byte unitFactorCurrentExponent;
+ byte unitFactorLuminousIntensityExponent;
+ long logicalMinimum;
+ long logicalMaximum;
+ long physicalMinimum;
+ long physicalMaximum;
+ sequence<DOMString> strings;
+};
+
+dictionary HIDReportInfo {
+ octet reportId;
+ sequence<HIDReportItem> items;
+};
+
+dictionary HIDCollectionInfo {
+ unsigned short usagePage;
+ unsigned short usage;
+ octet type;
+ sequence<HIDCollectionInfo> children;
+ sequence<HIDReportInfo> inputReports;
+ sequence<HIDReportInfo> outputReports;
+ sequence<HIDReportInfo> featureReports;
+};
+
+[
+ Exposed=Window,
+ SecureContext
+] interface HIDDevice : EventTarget {
+ attribute EventHandler oninputreport;
+ readonly attribute boolean opened;
+ readonly attribute unsigned short vendorId;
+ readonly attribute unsigned short productId;
+ readonly attribute DOMString productName;
+ readonly attribute FrozenArray<HIDCollectionInfo> collections;
+ Promise<undefined> open();
+ Promise<undefined> close();
+ Promise<undefined> sendReport([EnforceRange] octet reportId, BufferSource data);
+ Promise<undefined> sendFeatureReport([EnforceRange] octet reportId, BufferSource data);
+ Promise<DataView> receiveFeatureReport([EnforceRange] octet reportId);
+};
diff --git a/vendor/web-sys/webidls/unstable/WebSerial.webidl b/vendor/web-sys/webidls/unstable/WebSerial.webidl
new file mode 100644
index 000000000..f2ac7d0b1
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebSerial.webidl
@@ -0,0 +1,80 @@
+[Exposed=Window, SecureContext]
+partial interface Navigator {
+ [SameObject] readonly attribute Serial serial;
+};
+
+[Exposed=DedicatedWorker, SecureContext]
+partial interface WorkerNavigator {
+ [SameObject] readonly attribute Serial serial;
+};
+
+[Exposed=(DedicatedWorker, Window), SecureContext]
+interface Serial : EventTarget {
+ attribute EventHandler onconnect;
+ attribute EventHandler ondisconnect;
+ Promise<sequence<SerialPort>> getPorts();
+ [Exposed=Window] Promise<SerialPort> requestPort(optional SerialPortRequestOptions options = {});
+};
+
+dictionary SerialPortRequestOptions {
+ sequence<SerialPortFilter> filters;
+};
+
+dictionary SerialPortFilter {
+ unsigned short usbVendorId;
+ unsigned short usbProductId;
+};
+
+[Exposed=(DedicatedWorker,Window), SecureContext]
+interface SerialPort : EventTarget {
+ attribute EventHandler onconnect;
+ attribute EventHandler ondisconnect;
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
+
+ SerialPortInfo getInfo();
+
+ Promise<undefined> open(SerialOptions options);
+ Promise<undefined> setSignals(optional SerialOutputSignals signals = {});
+ Promise<SerialInputSignals> getSignals();
+ Promise<undefined> close();
+ Promise<undefined> forget();
+};
+
+dictionary SerialPortInfo {
+ unsigned short usbVendorId;
+ unsigned short usbProductId;
+};
+
+dictionary SerialOptions {
+ [EnforceRange] required unsigned long baudRate;
+ [EnforceRange] octet dataBits = 8;
+ [EnforceRange] octet stopBits = 1;
+ ParityType parity = "none";
+ [EnforceRange] unsigned long bufferSize = 255;
+ FlowControlType flowControl = "none";
+};
+
+enum ParityType {
+ "none",
+ "even",
+ "odd"
+};
+
+enum FlowControlType {
+ "none",
+ "hardware"
+};
+
+dictionary SerialOutputSignals {
+ boolean dataTerminalReady;
+ boolean requestToSend;
+ boolean break;
+};
+
+dictionary SerialInputSignals {
+ required boolean dataCarrierDetect;
+ required boolean clearToSend;
+ required boolean ringIndicator;
+ required boolean dataSetReady;
+};
diff --git a/vendor/web-sys/webidls/unstable/WebUSB.webidl b/vendor/web-sys/webidls/unstable/WebUSB.webidl
new file mode 100644
index 000000000..17b9676fc
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebUSB.webidl
@@ -0,0 +1,243 @@
+dictionary USBDeviceFilter {
+ unsigned short vendorId;
+ unsigned short productId;
+ octet classCode;
+ octet subclassCode;
+ octet protocolCode;
+ DOMString serialNumber;
+};
+
+dictionary USBDeviceRequestOptions {
+ required sequence<USBDeviceFilter> filters;
+};
+
+[Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext]
+interface USB : EventTarget {
+ attribute EventHandler onconnect;
+ attribute EventHandler ondisconnect;
+ Promise<sequence<USBDevice>> getDevices();
+ [Exposed=Window] Promise<USBDevice> requestDevice(USBDeviceRequestOptions options);
+};
+
+[Exposed=Window, SecureContext]
+partial interface Navigator {
+ [SameObject] readonly attribute USB usb;
+};
+
+[Exposed=(DedicatedWorker,SharedWorker), SecureContext]
+partial interface WorkerNavigator {
+ [SameObject] readonly attribute USB usb;
+};
+
+dictionary USBConnectionEventInit : EventInit {
+ required USBDevice device;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBConnectionEvent : Event {
+ constructor(DOMString type, USBConnectionEventInit eventInitDict);
+ [SameObject] readonly attribute USBDevice device;
+};
+
+[Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext]
+interface USBDevice {
+ readonly attribute octet usbVersionMajor;
+ readonly attribute octet usbVersionMinor;
+ readonly attribute octet usbVersionSubminor;
+ readonly attribute octet deviceClass;
+ readonly attribute octet deviceSubclass;
+ readonly attribute octet deviceProtocol;
+ readonly attribute unsigned short vendorId;
+ readonly attribute unsigned short productId;
+ readonly attribute octet deviceVersionMajor;
+ readonly attribute octet deviceVersionMinor;
+ readonly attribute octet deviceVersionSubminor;
+ readonly attribute DOMString? manufacturerName;
+ readonly attribute DOMString? productName;
+ readonly attribute DOMString? serialNumber;
+ readonly attribute USBConfiguration? configuration;
+ readonly attribute FrozenArray<USBConfiguration> configurations;
+ readonly attribute boolean opened;
+ Promise<undefined> open();
+ Promise<undefined> close();
+ Promise<undefined> selectConfiguration(octet configurationValue);
+ Promise<undefined> claimInterface(octet interfaceNumber);
+ Promise<undefined> releaseInterface(octet interfaceNumber);
+ Promise<undefined> selectAlternateInterface(octet interfaceNumber, octet alternateSetting);
+ Promise<USBInTransferResult> controlTransferIn(USBControlTransferParameters setup, unsigned short length);
+ Promise<USBOutTransferResult> controlTransferOut(USBControlTransferParameters setup, optional BufferSource data);
+ Promise<undefined> clearHalt(USBDirection direction, octet endpointNumber);
+ Promise<USBInTransferResult> transferIn(octet endpointNumber, unsigned long length);
+ Promise<USBOutTransferResult> transferOut(octet endpointNumber, BufferSource data);
+ Promise<USBIsochronousInTransferResult> isochronousTransferIn(octet endpointNumber, sequence<unsigned long> packetLengths);
+ Promise<USBIsochronousOutTransferResult> isochronousTransferOut(octet endpointNumber, BufferSource data, sequence<unsigned long> packetLengths);
+ Promise<undefined> reset();
+};
+
+enum USBRequestType {
+ "standard",
+ "class",
+ "vendor"
+};
+
+enum USBRecipient {
+ "device",
+ "interface",
+ "endpoint",
+ "other"
+};
+
+enum USBTransferStatus {
+ "ok",
+ "stall",
+ "babble"
+};
+
+dictionary USBControlTransferParameters {
+ required USBRequestType requestType;
+ required USBRecipient recipient;
+ required octet request;
+ required unsigned short value;
+ required unsigned short index;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBInTransferResult {
+ constructor(USBTransferStatus status, optional DataView? data);
+ readonly attribute DataView? data;
+ readonly attribute USBTransferStatus status;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBOutTransferResult {
+ constructor(USBTransferStatus status, optional unsigned long bytesWritten = 0);
+ readonly attribute unsigned long bytesWritten;
+ readonly attribute USBTransferStatus status;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBIsochronousInTransferPacket {
+ constructor(USBTransferStatus status, optional DataView? data);
+ readonly attribute DataView? data;
+ readonly attribute USBTransferStatus status;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBIsochronousInTransferResult {
+ constructor(sequence<USBIsochronousInTransferPacket> packets, optional DataView? data);
+ readonly attribute DataView? data;
+ readonly attribute FrozenArray<USBIsochronousInTransferPacket> packets;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBIsochronousOutTransferPacket {
+ constructor(USBTransferStatus status, optional unsigned long bytesWritten = 0);
+ readonly attribute unsigned long bytesWritten;
+ readonly attribute USBTransferStatus status;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBIsochronousOutTransferResult {
+ constructor(sequence<USBIsochronousOutTransferPacket> packets);
+ readonly attribute FrozenArray<USBIsochronousOutTransferPacket> packets;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBConfiguration {
+ constructor(USBDevice device, octet configurationValue);
+ readonly attribute octet configurationValue;
+ readonly attribute DOMString? configurationName;
+ readonly attribute FrozenArray<USBInterface> interfaces;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBInterface {
+ constructor(USBConfiguration configuration, octet interfaceNumber);
+ readonly attribute octet interfaceNumber;
+ readonly attribute USBAlternateInterface alternate;
+ readonly attribute FrozenArray<USBAlternateInterface> alternates;
+ readonly attribute boolean claimed;
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBAlternateInterface {
+ constructor(USBInterface deviceInterface, octet alternateSetting);
+ readonly attribute octet alternateSetting;
+ readonly attribute octet interfaceClass;
+ readonly attribute octet interfaceSubclass;
+ readonly attribute octet interfaceProtocol;
+ readonly attribute DOMString? interfaceName;
+ readonly attribute FrozenArray<USBEndpoint> endpoints;
+};
+
+enum USBDirection {
+ "in",
+ "out"
+};
+
+enum USBEndpointType {
+ "bulk",
+ "interrupt",
+ "isochronous"
+};
+
+[
+ Exposed=(DedicatedWorker,SharedWorker,Window),
+ SecureContext
+]
+interface USBEndpoint {
+ constructor(USBAlternateInterface alternate, octet endpointNumber, USBDirection direction);
+ readonly attribute octet endpointNumber;
+ readonly attribute USBDirection direction;
+ readonly attribute USBEndpointType type;
+ readonly attribute unsigned long packetSize;
+};
+
+dictionary USBPermissionDescriptor : PermissionDescriptor {
+ sequence<USBDeviceFilter> filters;
+};
+
+dictionary AllowedUSBDevice {
+ required octet vendorId;
+ required octet productId;
+ DOMString serialNumber;
+};
+
+dictionary USBPermissionStorage {
+ sequence<AllowedUSBDevice> allowedDevices = [];
+};
+
+[Exposed=(DedicatedWorker,SharedWorker,Window)]
+interface USBPermissionResult : PermissionStatus {
+ attribute FrozenArray<USBDevice> devices;
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/unstable/WebXRDevice.webidl b/vendor/web-sys/webidls/unstable/WebXRDevice.webidl
new file mode 100644
index 000000000..e3200ca46
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebXRDevice.webidl
@@ -0,0 +1,297 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * WebXR Device API
+ * W3C Working Draft, 31 March 2022
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/2022/CR-webxr-20220331/
+ */
+
+partial interface Navigator {
+ [SecureContext, SameObject] readonly attribute XRSystem xr;
+};
+
+[SecureContext, Exposed=Window] interface XRSystem : EventTarget {
+ // Methods
+ Promise<boolean> isSessionSupported(XRSessionMode mode);
+ [NewObject] Promise<XRSession> requestSession(XRSessionMode mode, optional XRSessionInit options = {});
+
+ // Events
+ attribute EventHandler ondevicechange;
+};
+
+enum XRSessionMode {
+ "inline",
+ "immersive-vr",
+ "immersive-ar"
+};
+
+dictionary XRSessionInit {
+ sequence<any> requiredFeatures;
+ sequence<any> optionalFeatures;
+};
+
+enum XRVisibilityState {
+ "visible",
+ "visible-blurred",
+ "hidden",
+};
+
+[SecureContext, Exposed=Window] interface XRSession : EventTarget {
+ // Attributes
+ readonly attribute XRVisibilityState visibilityState;
+ readonly attribute float? frameRate;
+ readonly attribute Float32Array? supportedFrameRates;
+ [SameObject] readonly attribute XRRenderState renderState;
+ [SameObject] readonly attribute XRInputSourceArray inputSources;
+
+ // Methods
+ undefined updateRenderState(optional XRRenderStateInit state = {});
+ Promise<undefined> updateTargetFrameRate(float rate);
+ [NewObject] Promise<XRReferenceSpace> requestReferenceSpace(XRReferenceSpaceType type);
+
+ unsigned long requestAnimationFrame(XRFrameRequestCallback callback);
+ undefined cancelAnimationFrame(unsigned long handle);
+
+ Promise<undefined> end();
+
+ // Events
+ attribute EventHandler onend;
+ attribute EventHandler oninputsourceschange;
+ attribute EventHandler onselect;
+ attribute EventHandler onselectstart;
+ attribute EventHandler onselectend;
+ attribute EventHandler onsqueeze;
+ attribute EventHandler onsqueezestart;
+ attribute EventHandler onsqueezeend;
+ attribute EventHandler onvisibilitychange;
+ attribute EventHandler onframeratechange;
+};
+
+dictionary XRRenderStateInit {
+ double depthNear;
+ double depthFar;
+ double inlineVerticalFieldOfView;
+ XRWebGLLayer? baseLayer;
+ sequence<XRLayer>? layers;
+};
+
+[SecureContext, Exposed=Window] interface XRRenderState {
+ readonly attribute double depthNear;
+ readonly attribute double depthFar;
+ readonly attribute double? inlineVerticalFieldOfView;
+ readonly attribute XRWebGLLayer? baseLayer;
+};
+
+callback XRFrameRequestCallback = undefined (DOMHighResTimeStamp time, XRFrame frame);
+
+[SecureContext, Exposed=Window] interface XRFrame {
+ [SameObject] readonly attribute XRSession session;
+ readonly attribute DOMHighResTimeStamp predictedDisplayTime;
+
+ XRViewerPose? getViewerPose(XRReferenceSpace referenceSpace);
+ XRPose? getPose(XRSpace space, XRSpace baseSpace);
+};
+
+[SecureContext, Exposed=Window] interface XRSpace : EventTarget {
+
+};
+
+enum XRReferenceSpaceType {
+ "viewer",
+ "local",
+ "local-floor",
+ "bounded-floor",
+ "unbounded"
+};
+
+[SecureContext, Exposed=Window]
+interface XRReferenceSpace : XRSpace {
+ [NewObject] XRReferenceSpace getOffsetReferenceSpace(XRRigidTransform originOffset);
+
+ attribute EventHandler onreset;
+};
+
+[SecureContext, Exposed=Window]
+interface XRBoundedReferenceSpace : XRReferenceSpace {
+ readonly attribute FrozenArray<DOMPointReadOnly> boundsGeometry;
+};
+
+enum XREye {
+ "none",
+ "left",
+ "right"
+};
+
+[SecureContext, Exposed=Window] interface XRView {
+ readonly attribute XREye eye;
+ readonly attribute Float32Array projectionMatrix;
+ [SameObject] readonly attribute XRRigidTransform transform;
+ readonly attribute double? recommendedViewportScale;
+
+ undefined requestViewportScale(double? scale);
+};
+
+[SecureContext, Exposed=Window] interface XRViewport {
+ readonly attribute long x;
+ readonly attribute long y;
+ readonly attribute long width;
+ readonly attribute long height;
+};
+
+[SecureContext, Exposed=Window]
+interface XRRigidTransform {
+ constructor(optional DOMPointInit position = {}, optional DOMPointInit orientation = {});
+ [SameObject] readonly attribute DOMPointReadOnly position;
+ [SameObject] readonly attribute DOMPointReadOnly orientation;
+ readonly attribute Float32Array matrix;
+ [SameObject] readonly attribute XRRigidTransform inverse;
+};
+
+[SecureContext, Exposed=Window] interface XRPose {
+ [SameObject] readonly attribute XRRigidTransform transform;
+ [SameObject] readonly attribute DOMPointReadOnly? linearVelocity;
+ [SameObject] readonly attribute DOMPointReadOnly? angularVelocity;
+
+ readonly attribute boolean emulatedPosition;
+};
+
+[SecureContext, Exposed=Window] interface XRViewerPose : XRPose {
+ [SameObject] readonly attribute FrozenArray<XRView> views;
+};
+
+enum XRHandedness {
+ "none",
+ "left",
+ "right"
+};
+
+enum XRTargetRayMode {
+ "gaze",
+ "tracked-pointer",
+ "screen"
+};
+
+[SecureContext, Exposed=Window]
+interface XRInputSource {
+ readonly attribute XRHandedness handedness;
+ readonly attribute XRTargetRayMode targetRayMode;
+ [SameObject] readonly attribute XRSpace targetRaySpace;
+ [SameObject] readonly attribute XRSpace? gripSpace;
+ [SameObject] readonly attribute FrozenArray<DOMString> profiles;
+};
+
+[SecureContext, Exposed=Window]
+interface XRInputSourceArray {
+ iterable<XRInputSource>;
+ readonly attribute unsigned long length;
+ getter XRInputSource(unsigned long index);
+};
+
+[SecureContext, Exposed=Window]
+interface XRLayer : EventTarget {};
+
+
+typedef (WebGLRenderingContext or
+ WebGL2RenderingContext) XRWebGLRenderingContext;
+
+dictionary XRWebGLLayerInit {
+ boolean antialias = true;
+ boolean depth = true;
+ boolean stencil = false;
+ boolean alpha = true;
+ boolean ignoreDepthValues = false;
+ double framebufferScaleFactor = 1.0;
+};
+
+[SecureContext, Exposed=Window]
+interface XRWebGLLayer: XRLayer {
+ constructor(XRSession session,
+ XRWebGLRenderingContext context,
+ optional XRWebGLLayerInit layerInit = {});
+ // Attributes
+ readonly attribute boolean antialias;
+ readonly attribute boolean ignoreDepthValues;
+ attribute float? fixedFoveation;
+
+ [SameObject] readonly attribute WebGLFramebuffer? framebuffer;
+ readonly attribute unsigned long framebufferWidth;
+ readonly attribute unsigned long framebufferHeight;
+
+ // Methods
+ XRViewport? getViewport(XRView view);
+
+ // Static Methods
+ static double getNativeFramebufferScaleFactor(XRSession session);
+};
+
+partial dictionary WebGLContextAttributes {
+ boolean xrCompatible = false;
+};
+
+partial interface mixin WebGLRenderingContextBase {
+ [NewObject] Promise<undefined> makeXRCompatible();
+};
+
+[SecureContext, Exposed=Window]
+interface XRSessionEvent : Event {
+ constructor(DOMString type, XRSessionEventInit eventInitDict);
+ [SameObject] readonly attribute XRSession session;
+};
+
+dictionary XRSessionEventInit : EventInit {
+ required XRSession session;
+};
+
+[SecureContext, Exposed=Window]
+interface XRInputSourceEvent : Event {
+ constructor(DOMString type, XRInputSourceEventInit eventInitDict);
+ [SameObject] readonly attribute XRFrame frame;
+ [SameObject] readonly attribute XRInputSource inputSource;
+};
+
+dictionary XRInputSourceEventInit : EventInit {
+ required XRFrame frame;
+ required XRInputSource inputSource;
+};
+
+[SecureContext, Exposed=Window]
+interface XRInputSourcesChangeEvent : Event {
+ constructor(DOMString type, XRInputSourcesChangeEventInit eventInitDict);
+ [SameObject] readonly attribute XRSession session;
+ [SameObject] readonly attribute FrozenArray<XRInputSource> added;
+ [SameObject] readonly attribute FrozenArray<XRInputSource> removed;
+};
+
+dictionary XRInputSourcesChangeEventInit : EventInit {
+ required XRSession session;
+ required FrozenArray<XRInputSource> added;
+ required FrozenArray<XRInputSource> removed;
+
+};
+
+[SecureContext, Exposed=Window]
+interface XRReferenceSpaceEvent : Event {
+ constructor(DOMString type, XRReferenceSpaceEventInit eventInitDict);
+ [SameObject] readonly attribute XRReferenceSpace referenceSpace;
+ [SameObject] readonly attribute XRRigidTransform? transform;
+};
+
+dictionary XRReferenceSpaceEventInit : EventInit {
+ required XRReferenceSpace referenceSpace;
+ XRRigidTransform? transform = null;
+};
+
+dictionary XRSessionSupportedPermissionDescriptor: PermissionDescriptor {
+ XRSessionMode mode;
+};
+
+dictionary XRPermissionDescriptor: PermissionDescriptor {
+ XRSessionMode mode;
+ sequence<any> requiredFeatures;
+ sequence<any> optionalFeatures;
+};
+
+[Exposed=Window]
+interface XRPermissionStatus: PermissionStatus {
+ attribute FrozenArray<any> granted;
+}; \ No newline at end of file
diff --git a/vendor/web-sys/webidls/unstable/WebXRGamepadsModule.webidl b/vendor/web-sys/webidls/unstable/WebXRGamepadsModule.webidl
new file mode 100644
index 000000000..39db79b54
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebXRGamepadsModule.webidl
@@ -0,0 +1,11 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * WebXR Device API
+ * W3C Working Draft, 31 March 2022
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/2022/WD-webxr-gamepads-module-1-20220426/
+ */
+
+partial interface XRInputSource {
+ [SameObject] readonly attribute Gamepad? gamepad;
+};
diff --git a/vendor/web-sys/webidls/unstable/WebXRHandInputModule.webidl b/vendor/web-sys/webidls/unstable/WebXRHandInputModule.webidl
new file mode 100644
index 000000000..b88323eda
--- /dev/null
+++ b/vendor/web-sys/webidls/unstable/WebXRHandInputModule.webidl
@@ -0,0 +1,69 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * WebXR Device API
+ * W3C Working Draft, 19 April 2022
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/2022/WD-webxr-hand-input-1-20220419/
+ */
+
+partial interface XRInputSource {
+ [SameObject] readonly attribute XRHand? hand;
+};
+
+enum XRHandJoint {
+ "wrist",
+
+ "thumb-metacarpal",
+ "thumb-phalanx-proximal",
+ "thumb-phalanx-distal",
+ "thumb-tip",
+
+ "index-finger-metacarpal",
+ "index-finger-phalanx-proximal",
+ "index-finger-phalanx-intermediate",
+ "index-finger-phalanx-distal",
+ "index-finger-tip",
+
+ "middle-finger-metacarpal",
+ "middle-finger-phalanx-proximal",
+ "middle-finger-phalanx-intermediate",
+ "middle-finger-phalanx-distal",
+ "middle-finger-tip",
+
+ "ring-finger-metacarpal",
+ "ring-finger-phalanx-proximal",
+ "ring-finger-phalanx-intermediate",
+ "ring-finger-phalanx-distal",
+ "ring-finger-tip",
+
+ "pinky-finger-metacarpal",
+ "pinky-finger-phalanx-proximal",
+ "pinky-finger-phalanx-intermediate",
+ "pinky-finger-phalanx-distal",
+ "pinky-finger-tip"
+};
+
+[Exposed=Window]
+interface XRHand {
+ iterable<XRHandJoint, XRJointSpace>;
+
+ readonly attribute unsigned long size;
+ XRJointSpace get(XRHandJoint key);
+};
+
+[Exposed=Window]
+interface XRJointSpace: XRSpace {
+ readonly attribute XRHandJoint jointName;
+};
+
+partial interface XRFrame {
+ XRJointPose? getJointPose(XRJointSpace joint, XRSpace baseSpace);
+ boolean fillJointRadii(sequence<XRJointSpace> jointSpaces, Float32Array radii);
+
+ boolean fillPoses(sequence<XRSpace> spaces, XRSpace baseSpace, Float32Array transforms);
+};
+
+[Exposed=Window]
+interface XRJointPose: XRPose {
+ readonly attribute float radius;
+};