@@ -1847,6 +1847,24 @@ public enum BiquadFilterType: JSString, JSValueCompatible {
18471847 @inlinable public var jsValue: JSValue { rawValue.jsValue }
18481848}
18491849
1850+ public enum BitrateMode: JSString, JSValueCompatible {
1851+ case constant = "constant"
1852+ case variable = "variable"
1853+
1854+ @inlinable public static func construct(from jsValue: JSValue) -> Self? {
1855+ if let string = jsValue.jsString {
1856+ return Self(rawValue: string)
1857+ }
1858+ return nil
1859+ }
1860+
1861+ @inlinable public init?(string: String) {
1862+ self.init(rawValue: JSString(string))
1863+ }
1864+
1865+ @inlinable public var jsValue: JSValue { rawValue.jsValue }
1866+ }
1867+
18501868public class Blob: JSBridgedClass {
18511869 @inlinable public class var constructor: JSFunction { JSObject.global[Strings.Blob].function! }
18521870
@@ -1900,6 +1918,47 @@ public class Blob: JSBridgedClass {
19001918 }
19011919}
19021920
1921+ public class BlobEvent: Event {
1922+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.BlobEvent].function! }
1923+
1924+ public required init(unsafelyWrapping jsObject: JSObject) {
1925+ _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data)
1926+ _timecode = ReadonlyAttribute(jsObject: jsObject, name: Strings.timecode)
1927+ super.init(unsafelyWrapping: jsObject)
1928+ }
1929+
1930+ @inlinable public convenience init(type: String, eventInitDict: BlobEventInit) {
1931+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue]))
1932+ }
1933+
1934+ @ReadonlyAttribute
1935+ public var data: Blob
1936+
1937+ @ReadonlyAttribute
1938+ public var timecode: DOMHighResTimeStamp
1939+ }
1940+
1941+ public class BlobEventInit: BridgedDictionary {
1942+ public convenience init(data: Blob, timecode: DOMHighResTimeStamp) {
1943+ let object = JSObject.global[Strings.Object].function!.new()
1944+ object[Strings.data] = data.jsValue
1945+ object[Strings.timecode] = timecode.jsValue
1946+ self.init(unsafelyWrapping: object)
1947+ }
1948+
1949+ public required init(unsafelyWrapping object: JSObject) {
1950+ _data = ReadWriteAttribute(jsObject: object, name: Strings.data)
1951+ _timecode = ReadWriteAttribute(jsObject: object, name: Strings.timecode)
1952+ super.init(unsafelyWrapping: object)
1953+ }
1954+
1955+ @ReadWriteAttribute
1956+ public var data: Blob
1957+
1958+ @ReadWriteAttribute
1959+ public var timecode: DOMHighResTimeStamp
1960+ }
1961+
19031962public class BlobPropertyBag: BridgedDictionary {
19041963 public convenience init(type: String, endings: EndingType) {
19051964 let object = JSObject.global[Strings.Object].function!.new()
@@ -11795,6 +11854,164 @@ public class MediaQueryListEventInit: BridgedDictionary {
1179511854 public var matches: Bool
1179611855}
1179711856
11857+ public class MediaRecorder: EventTarget {
11858+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaRecorder].function! }
11859+
11860+ public required init(unsafelyWrapping jsObject: JSObject) {
11861+ _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream)
11862+ _mimeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.mimeType)
11863+ _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state)
11864+ _onstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstart)
11865+ _onstop = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstop)
11866+ _ondataavailable = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondataavailable)
11867+ _onpause = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onpause)
11868+ _onresume = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresume)
11869+ _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror)
11870+ _videoBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoBitsPerSecond)
11871+ _audioBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitsPerSecond)
11872+ _audioBitrateMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitrateMode)
11873+ super.init(unsafelyWrapping: jsObject)
11874+ }
11875+
11876+ @inlinable public convenience init(stream: MediaStream, options: MediaRecorderOptions? = nil) {
11877+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [stream.jsValue, options?.jsValue ?? .undefined]))
11878+ }
11879+
11880+ @ReadonlyAttribute
11881+ public var stream: MediaStream
11882+
11883+ @ReadonlyAttribute
11884+ public var mimeType: String
11885+
11886+ @ReadonlyAttribute
11887+ public var state: RecordingState
11888+
11889+ @ClosureAttribute1Optional
11890+ public var onstart: EventHandler
11891+
11892+ @ClosureAttribute1Optional
11893+ public var onstop: EventHandler
11894+
11895+ @ClosureAttribute1Optional
11896+ public var ondataavailable: EventHandler
11897+
11898+ @ClosureAttribute1Optional
11899+ public var onpause: EventHandler
11900+
11901+ @ClosureAttribute1Optional
11902+ public var onresume: EventHandler
11903+
11904+ @ClosureAttribute1Optional
11905+ public var onerror: EventHandler
11906+
11907+ @ReadonlyAttribute
11908+ public var videoBitsPerSecond: UInt32
11909+
11910+ @ReadonlyAttribute
11911+ public var audioBitsPerSecond: UInt32
11912+
11913+ @ReadonlyAttribute
11914+ public var audioBitrateMode: BitrateMode
11915+
11916+ @inlinable public func start(timeslice: UInt32? = nil) {
11917+ let this = jsObject
11918+ _ = this[Strings.start].function!(this: this, arguments: [timeslice?.jsValue ?? .undefined])
11919+ }
11920+
11921+ @inlinable public func stop() {
11922+ let this = jsObject
11923+ _ = this[Strings.stop].function!(this: this, arguments: [])
11924+ }
11925+
11926+ @inlinable public func pause() {
11927+ let this = jsObject
11928+ _ = this[Strings.pause].function!(this: this, arguments: [])
11929+ }
11930+
11931+ @inlinable public func resume() {
11932+ let this = jsObject
11933+ _ = this[Strings.resume].function!(this: this, arguments: [])
11934+ }
11935+
11936+ @inlinable public func requestData() {
11937+ let this = jsObject
11938+ _ = this[Strings.requestData].function!(this: this, arguments: [])
11939+ }
11940+
11941+ @inlinable public static func isTypeSupported(type: String) -> Bool {
11942+ let this = constructor
11943+ return this[Strings.isTypeSupported].function!(this: this, arguments: [type.jsValue]).fromJSValue()!
11944+ }
11945+ }
11946+
11947+ public class MediaRecorderErrorEvent: Event {
11948+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaRecorderErrorEvent].function! }
11949+
11950+ public required init(unsafelyWrapping jsObject: JSObject) {
11951+ _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error)
11952+ super.init(unsafelyWrapping: jsObject)
11953+ }
11954+
11955+ @inlinable public convenience init(type: String, eventInitDict: MediaRecorderErrorEventInit) {
11956+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue]))
11957+ }
11958+
11959+ @ReadonlyAttribute
11960+ public var error: DOMException
11961+ }
11962+
11963+ public class MediaRecorderErrorEventInit: BridgedDictionary {
11964+ public convenience init(error: DOMException) {
11965+ let object = JSObject.global[Strings.Object].function!.new()
11966+ object[Strings.error] = error.jsValue
11967+ self.init(unsafelyWrapping: object)
11968+ }
11969+
11970+ public required init(unsafelyWrapping object: JSObject) {
11971+ _error = ReadWriteAttribute(jsObject: object, name: Strings.error)
11972+ super.init(unsafelyWrapping: object)
11973+ }
11974+
11975+ @ReadWriteAttribute
11976+ public var error: DOMException
11977+ }
11978+
11979+ public class MediaRecorderOptions: BridgedDictionary {
11980+ public convenience init(mimeType: String, audioBitsPerSecond: UInt32, videoBitsPerSecond: UInt32, bitsPerSecond: UInt32, audioBitrateMode: BitrateMode) {
11981+ let object = JSObject.global[Strings.Object].function!.new()
11982+ object[Strings.mimeType] = mimeType.jsValue
11983+ object[Strings.audioBitsPerSecond] = audioBitsPerSecond.jsValue
11984+ object[Strings.videoBitsPerSecond] = videoBitsPerSecond.jsValue
11985+ object[Strings.bitsPerSecond] = bitsPerSecond.jsValue
11986+ object[Strings.audioBitrateMode] = audioBitrateMode.jsValue
11987+ self.init(unsafelyWrapping: object)
11988+ }
11989+
11990+ public required init(unsafelyWrapping object: JSObject) {
11991+ _mimeType = ReadWriteAttribute(jsObject: object, name: Strings.mimeType)
11992+ _audioBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.audioBitsPerSecond)
11993+ _videoBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.videoBitsPerSecond)
11994+ _bitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.bitsPerSecond)
11995+ _audioBitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.audioBitrateMode)
11996+ super.init(unsafelyWrapping: object)
11997+ }
11998+
11999+ @ReadWriteAttribute
12000+ public var mimeType: String
12001+
12002+ @ReadWriteAttribute
12003+ public var audioBitsPerSecond: UInt32
12004+
12005+ @ReadWriteAttribute
12006+ public var videoBitsPerSecond: UInt32
12007+
12008+ @ReadWriteAttribute
12009+ public var bitsPerSecond: UInt32
12010+
12011+ @ReadWriteAttribute
12012+ public var audioBitrateMode: BitrateMode
12013+ }
12014+
1179812015public class MediaStream: EventTarget {
1179912016 @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaStream].function! }
1180012017
@@ -14962,6 +15179,25 @@ public class ReadableWritablePair: BridgedDictionary {
1496215179 public var writable: WritableStream
1496315180}
1496415181
15182+ public enum RecordingState: JSString, JSValueCompatible {
15183+ case inactive = "inactive"
15184+ case recording = "recording"
15185+ case paused = "paused"
15186+
15187+ @inlinable public static func construct(from jsValue: JSValue) -> Self? {
15188+ if let string = jsValue.jsString {
15189+ return Self(rawValue: string)
15190+ }
15191+ return nil
15192+ }
15193+
15194+ @inlinable public init?(string: String) {
15195+ self.init(rawValue: JSString(string))
15196+ }
15197+
15198+ @inlinable public var jsValue: JSValue { rawValue.jsValue }
15199+ }
15200+
1496515201public enum ReferrerPolicy: JSString, JSValueCompatible {
1496615202 case _empty = ""
1496715203 case noReferrer = "no-referrer"
@@ -16688,11 +16924,11 @@ public typealias TransformerStartCallback = (TransformStreamDefaultController) -
1668816924public typealias TransformerFlushCallback = (TransformStreamDefaultController) -> JSPromise
1668916925public typealias TransformerTransformCallback = (JSValue, TransformStreamDefaultController) -> JSPromise
1669016926public typealias QueuingStrategySize = (JSValue) -> Double
16691- public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void
16692- public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void
1669316927public typealias DecodeErrorCallback = (DOMException) -> Void
1669416928public typealias DecodeSuccessCallback = (AudioBuffer) -> Void
1669516929public typealias AudioWorkletProcessCallback = ([[Float32Array]], [[Float32Array]], JSObject) -> Bool
16930+ public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void
16931+ public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void
1669616932public class UIEvent: Event {
1669716933 @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.UIEvent].function! }
1669816934
@@ -19121,6 +19357,7 @@ public enum console {
1912119357 @usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent"
1912219358 @usableFromInline static let BiquadFilterNode: JSString = "BiquadFilterNode"
1912319359 @usableFromInline static let Blob: JSString = "Blob"
19360+ @usableFromInline static let BlobEvent: JSString = "BlobEvent"
1912419361 @usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel"
1912519362 @usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy"
1912619363 @usableFromInline static let CDATASection: JSString = "CDATASection"
@@ -19275,6 +19512,8 @@ public enum console {
1927519512 @usableFromInline static let MediaError: JSString = "MediaError"
1927619513 @usableFromInline static let MediaQueryList: JSString = "MediaQueryList"
1927719514 @usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent"
19515+ @usableFromInline static let MediaRecorder: JSString = "MediaRecorder"
19516+ @usableFromInline static let MediaRecorderErrorEvent: JSString = "MediaRecorderErrorEvent"
1927819517 @usableFromInline static let MediaStream: JSString = "MediaStream"
1927919518 @usableFromInline static let MediaStreamAudioDestinationNode: JSString = "MediaStreamAudioDestinationNode"
1928019519 @usableFromInline static let MediaStreamAudioSourceNode: JSString = "MediaStreamAudioSourceNode"
@@ -19486,6 +19725,8 @@ public enum console {
1948619725 @usableFromInline static let attributeOldValue: JSString = "attributeOldValue"
1948719726 @usableFromInline static let attributes: JSString = "attributes"
1948819727 @usableFromInline static let audio: JSString = "audio"
19728+ @usableFromInline static let audioBitrateMode: JSString = "audioBitrateMode"
19729+ @usableFromInline static let audioBitsPerSecond: JSString = "audioBitsPerSecond"
1948919730 @usableFromInline static let audioTracks: JSString = "audioTracks"
1949019731 @usableFromInline static let audioWorklet: JSString = "audioWorklet"
1949119732 @usableFromInline static let autoAllocateChunkSize: JSString = "autoAllocateChunkSize"
@@ -19510,6 +19751,7 @@ public enum console {
1951019751 @usableFromInline static let bezierCurveTo: JSString = "bezierCurveTo"
1951119752 @usableFromInline static let bgColor: JSString = "bgColor"
1951219753 @usableFromInline static let binaryType: JSString = "binaryType"
19754+ @usableFromInline static let bitsPerSecond: JSString = "bitsPerSecond"
1951319755 @usableFromInline static let blob: JSString = "blob"
1951419756 @usableFromInline static let block: JSString = "block"
1951519757 @usableFromInline static let blocking: JSString = "blocking"
@@ -20031,6 +20273,7 @@ public enum console {
2003120273 @usableFromInline static let isSameNode: JSString = "isSameNode"
2003220274 @usableFromInline static let isSecureContext: JSString = "isSecureContext"
2003320275 @usableFromInline static let isTrusted: JSString = "isTrusted"
20276+ @usableFromInline static let isTypeSupported: JSString = "isTypeSupported"
2003420277 @usableFromInline static let isVisible: JSString = "isVisible"
2003520278 @usableFromInline static let item: JSString = "item"
2003620279 @usableFromInline static let items: JSString = "items"
@@ -20129,6 +20372,7 @@ public enum console {
2012920372 @usableFromInline static let message: JSString = "message"
2013020373 @usableFromInline static let metaKey: JSString = "metaKey"
2013120374 @usableFromInline static let method: JSString = "method"
20375+ @usableFromInline static let mimeType: JSString = "mimeType"
2013220376 @usableFromInline static let mimeTypes: JSString = "mimeTypes"
2013320377 @usableFromInline static let min: JSString = "min"
2013420378 @usableFromInline static let minDecibels: JSString = "minDecibels"
@@ -20219,6 +20463,7 @@ public enum console {
2021920463 @usableFromInline static let oncopy: JSString = "oncopy"
2022020464 @usableFromInline static let oncuechange: JSString = "oncuechange"
2022120465 @usableFromInline static let oncut: JSString = "oncut"
20466+ @usableFromInline static let ondataavailable: JSString = "ondataavailable"
2022220467 @usableFromInline static let ondblclick: JSString = "ondblclick"
2022320468 @usableFromInline static let ondevicechange: JSString = "ondevicechange"
2022420469 @usableFromInline static let ondrag: JSString = "ondrag"
@@ -20278,14 +20523,17 @@ public enum console {
2027820523 @usableFromInline static let onremovetrack: JSString = "onremovetrack"
2027920524 @usableFromInline static let onreset: JSString = "onreset"
2028020525 @usableFromInline static let onresize: JSString = "onresize"
20526+ @usableFromInline static let onresume: JSString = "onresume"
2028120527 @usableFromInline static let onscroll: JSString = "onscroll"
2028220528 @usableFromInline static let onsecuritypolicyviolation: JSString = "onsecuritypolicyviolation"
2028320529 @usableFromInline static let onseeked: JSString = "onseeked"
2028420530 @usableFromInline static let onseeking: JSString = "onseeking"
2028520531 @usableFromInline static let onselect: JSString = "onselect"
2028620532 @usableFromInline static let onslotchange: JSString = "onslotchange"
2028720533 @usableFromInline static let onstalled: JSString = "onstalled"
20534+ @usableFromInline static let onstart: JSString = "onstart"
2028820535 @usableFromInline static let onstatechange: JSString = "onstatechange"
20536+ @usableFromInline static let onstop: JSString = "onstop"
2028920537 @usableFromInline static let onstorage: JSString = "onstorage"
2029020538 @usableFromInline static let onsubmit: JSString = "onsubmit"
2029120539 @usableFromInline static let onsuspend: JSString = "onsuspend"
@@ -20481,6 +20729,7 @@ public enum console {
2048120729 @usableFromInline static let reportError: JSString = "reportError"
2048220730 @usableFromInline static let reportValidity: JSString = "reportValidity"
2048320731 @usableFromInline static let request: JSString = "request"
20732+ @usableFromInline static let requestData: JSString = "requestData"
2048420733 @usableFromInline static let requestSubmit: JSString = "requestSubmit"
2048520734 @usableFromInline static let required: JSString = "required"
2048620735 @usableFromInline static let reset: JSString = "reset"
@@ -20707,6 +20956,7 @@ public enum console {
2070720956 @usableFromInline static let timeLog: JSString = "timeLog"
2070820957 @usableFromInline static let timeOrigin: JSString = "timeOrigin"
2070920958 @usableFromInline static let timeStamp: JSString = "timeStamp"
20959+ @usableFromInline static let timecode: JSString = "timecode"
2071020960 @usableFromInline static let timeline: JSString = "timeline"
2071120961 @usableFromInline static let timeout: JSString = "timeout"
2071220962 @usableFromInline static let title: JSString = "title"
@@ -20768,6 +21018,7 @@ public enum console {
2076821018 @usableFromInline static let vendorSub: JSString = "vendorSub"
2076921019 @usableFromInline static let version: JSString = "version"
2077021020 @usableFromInline static let video: JSString = "video"
21021+ @usableFromInline static let videoBitsPerSecond: JSString = "videoBitsPerSecond"
2077121022 @usableFromInline static let videoHeight: JSString = "videoHeight"
2077221023 @usableFromInline static let videoTracks: JSString = "videoTracks"
2077321024 @usableFromInline static let videoWidth: JSString = "videoWidth"
0 commit comments