diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-18 02:49:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-18 02:49:42 +0000 |
commit | 837b550238aa671a591ccf282dddeab29cadb206 (patch) | |
tree | 914b6b8862bace72bd3245ca184d374b08d8a672 /vendor/web-sys/webidls | |
parent | Adding debian version 1.70.0+dfsg2-1. (diff) | |
download | rustc-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')
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; +}; |