diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 139e12aa8..945e51927 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -480,6 +480,22 @@ experimental/beacon/package[SO] implicit def toBeaconNavigator(n: Navigator): Be experimental/beacon/package[SO] implicit def toBeaconWorkerNavigator(n: WorkerNavigator): BeaconWorkerNavigator experimental/beacon/package.BeaconNavigator[JT] def sendBeacon(url: String, data: BodyInit = null): Boolean experimental/beacon/package.BeaconWorkerNavigator[JT] def sendBeacon(url: String, data: BodyInit = null): Boolean +experimental/cachestorage/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] +experimental/cachestorage/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] +experimental/cachestorage/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] +experimental/cachestorage/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] +experimental/cachestorage/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] +experimental/cachestorage/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] +experimental/cachestorage/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] +experimental/cachestorage/CacheQueryOptions[JT] var cacheName: String +experimental/cachestorage/CacheQueryOptions[JT] var ignoreMethod: Boolean +experimental/cachestorage/CacheQueryOptions[JT] var ignoreSearch: Boolean +experimental/cachestorage/CacheQueryOptions[JT] var ignoreVary: Boolean +experimental/cachestorage/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] +experimental/cachestorage/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] +experimental/cachestorage/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] +experimental/cachestorage/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] +experimental/cachestorage/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] experimental/deviceorientation/DeviceAcceleration[JT] val x: Double experimental/deviceorientation/DeviceAcceleration[JT] val y: Double experimental/deviceorientation/DeviceAcceleration[JT] val z: Double @@ -931,22 +947,22 @@ experimental/push/package[SO] implicit def pushServiceWorkerRegistration(swr: Se experimental/push/package.PushServiceWorkerGlobalScope[JT] var onpush: js.Function1[PushEvent, _] experimental/push/package.PushServiceWorkerGlobalScope[JT] var onpushsubscriptionchange: js.Function1[PushEvent, _] experimental/push/package.PushServiceWorkerRegistration[JT] val pushManager: PushManager -experimental/serviceworkers/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] -experimental/serviceworkers/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] -experimental/serviceworkers/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] -experimental/serviceworkers/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] -experimental/serviceworkers/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] -experimental/serviceworkers/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] -experimental/serviceworkers/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] -experimental/serviceworkers/CacheQueryOptions[JT] var cacheName: String -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreMethod: Boolean -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreSearch: Boolean -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreVary: Boolean -experimental/serviceworkers/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] -experimental/serviceworkers/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] -experimental/serviceworkers/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] -experimental/serviceworkers/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] -experimental/serviceworkers/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] +experimental/serviceworkers/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var cacheName: String (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreMethod: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreSearch: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreVary: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] (@deprecated in 1.2.0) experimental/serviceworkers/CanvasProxy[JT] def setContext(context: RenderingContext): Unit experimental/serviceworkers/Client[JT] def frameType: FrameType experimental/serviceworkers/Client[JT] def id: String @@ -1019,12 +1035,23 @@ experimental/serviceworkers/ServiceWorkerContainer[ST] def register(scriptURL: S experimental/serviceworkers/ServiceWorkerGlobalScope[JO] def self: ServiceWorkerGlobalScope experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def caches: js.Any -experimental/serviceworkers/ServiceWorkerGlobalScope[JT] override def caches: CacheStorage +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def atob(encodedString: String): String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def btoa(rawString: String): String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clients: Clients experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def close(): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def crossOriginIsolated: Boolean experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def isSecureContext: Boolean experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def location: WorkerLocation experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def navigator: WorkerNavigator experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] @@ -1035,10 +1062,14 @@ experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onlanguagechange: j experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onmessage: js.Function1[MessageEvent, _] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def origin: String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def registration: ServiceWorkerRegistration experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def self: this.type +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def skipWaiting(): js.Promise[Unit] experimental/serviceworkers/ServiceWorkerMessageEventInit[JT] var bubbles: js.UndefOr[Boolean] experimental/serviceworkers/ServiceWorkerMessageEventInit[JT] var cancelable: js.UndefOr[Boolean] @@ -1086,10 +1117,22 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JO] def self: SharedWorkerGlo experimental/sharedworkers/SharedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def applicationCache: ApplicationCache -experimental/sharedworkers/SharedWorkerGlobalScope[JT] def caches: js.Any +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def atob(encodedString: String): String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def btoa(rawString: String): String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def close(): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def crossOriginIsolated: Boolean experimental/sharedworkers/SharedWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] experimental/sharedworkers/SharedWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def isSecureContext: Boolean experimental/sharedworkers/SharedWorkerGlobalScope[JT] def location: WorkerLocation experimental/sharedworkers/SharedWorkerGlobalScope[JT] def name: String experimental/sharedworkers/SharedWorkerGlobalScope[JT] def navigator: WorkerNavigator @@ -1098,9 +1141,13 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onconnect: js.Functio experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] experimental/sharedworkers/SharedWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def origin: String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def self: this.type +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int experimental/storage/package[SO] def estimate(): js.Promise[StorageEstimate] experimental/storage/package[SO] def persist(): js.Promise[Boolean] experimental/storage/package[SO] def persisted(): js.Promise[Boolean] @@ -2046,7 +2093,7 @@ html[SO] def Media = raw.HTMLMediaElement idb[SO] type Cursor = raw.IDBCursor idb[SO] type CursorWithValue = raw.IDBCursorWithValue idb[SO] type Database = raw.IDBDatabase -idb[SO] type Environment = raw.IDBEnvironment +idb[SO] type Environment = raw.IDBEnvironment (@deprecated in 1.2.0) idb[SO] type Factory = raw.IDBFactory idb[SO] type Index = raw.IDBIndex idb[SO] type KeyRange = raw.IDBKeyRange @@ -3263,6 +3310,8 @@ raw/Console[JT] def time(label: String): Unit raw/Console[JT] def timeEnd(label: String): Unit raw/Console[JT] def trace(): Unit raw/Console[JT] def warn(message: Any, optionalParams: Any*): Unit +raw/ConvertToBlobOptions[JT] var quality: js.UndefOr[Double] +raw/ConvertToBlobOptions[JT] var `type`: js.UndefOr[String] raw/ConvolverNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/ConvolverNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/ConvolverNode[JT] var buffer: AudioBuffer @@ -3286,6 +3335,12 @@ raw/Coordinates[JT] def heading: Double raw/Coordinates[JT] def latitude: Double raw/Coordinates[JT] def longitude: Double raw/Coordinates[JT] def speed: Double +raw/CreateImageBitmapOptions[JT] var colorSpaceConversion: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var imageOrientation: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var premultiplyAlpha: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var resizeHeight: js.UndefOr[Double] +raw/CreateImageBitmapOptions[JT] var resizeQuality: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var resizeWidth: js.UndefOr[Double] raw/CustomEvent[JC] def bubbles: Boolean raw/CustomEvent[JC] def cancelBubble: Boolean raw/CustomEvent[JC] def cancelable: Boolean @@ -3377,10 +3432,22 @@ raw/DataTransfer[JT] def types: js.Array[String] raw/DedicatedWorkerGlobalScope[JO] def self: DedicatedWorkerGlobalScope raw/DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -raw/DedicatedWorkerGlobalScope[JT] def caches: js.Any +raw/DedicatedWorkerGlobalScope[JT] def atob(encodedString: String): String +raw/DedicatedWorkerGlobalScope[JT] def btoa(rawString: String): String +raw/DedicatedWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/DedicatedWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/DedicatedWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit raw/DedicatedWorkerGlobalScope[JT] def close(): Unit +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def crossOriginIsolated: Boolean raw/DedicatedWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +raw/DedicatedWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/DedicatedWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +raw/DedicatedWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/DedicatedWorkerGlobalScope[JT] def isSecureContext: Boolean raw/DedicatedWorkerGlobalScope[JT] def location: WorkerLocation raw/DedicatedWorkerGlobalScope[JT] def navigator: WorkerNavigator raw/DedicatedWorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] @@ -3388,10 +3455,14 @@ raw/DedicatedWorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] raw/DedicatedWorkerGlobalScope[JT] var onmessage: js.Function1[MessageEvent, _] raw/DedicatedWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] raw/DedicatedWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +raw/DedicatedWorkerGlobalScope[JT] def origin: String raw/DedicatedWorkerGlobalScope[JT] def postMessage(aMessage: js.Any, transferList: js.UndefOr[js.Array[Transferable]]?): Unit +raw/DedicatedWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit raw/DedicatedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DedicatedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/DedicatedWorkerGlobalScope[JT] def self: this.type +raw/DedicatedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/DedicatedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int raw/DelayNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DelayNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/DelayNode[JT] var channelCount: Int @@ -15314,7 +15385,7 @@ raw/IDBDatabase[JC] def removeEventListener[T <: Event](`type`: String, listener raw/IDBDatabase[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/IDBDatabase[JC] def transaction(storeNames: js.Any, mode: String?): IDBTransaction raw/IDBDatabase[JC] def version: Int -raw/IDBEnvironment[JT] def indexedDB: IDBFactory +raw/IDBEnvironment[JT] def indexedDB: IDBFactory (@deprecated in 1.2.0) raw/IDBFactory[JC] def cmp(first: js.Any, second: js.Any): Int raw/IDBFactory[JC] def deleteDatabase(name: String): IDBOpenDBRequest raw/IDBFactory[JC] def open(name: String): IDBOpenDBRequest @@ -15414,6 +15485,8 @@ raw/IDBVersionChangeEventInit[JT] var composed: js.UndefOr[Boolean] raw/IDBVersionChangeEventInit[JT] var newVersion: js.UndefOr[Integer] raw/IDBVersionChangeEventInit[JT] var oldVersion: js.UndefOr[Int] raw/IDBVersionChangeEventInit[JT] var scoped: js.UndefOr[Boolean] +raw/ImageBitmap[JT] def height: Double +raw/ImageBitmap[JT] def width: Double raw/ImageData[JC] def data: js.Array[Int] raw/ImageData[JC] def height: Int raw/ImageData[JC] def width: Int @@ -15811,6 +15884,11 @@ raw/OfflineAudioContext[JC] val sampleRate: Double raw/OfflineAudioContext[JC] def startRendering(): js.Promise[AudioBuffer] raw/OfflineAudioContext[JC] def state: String raw/OfflineAudioContext[JC] def suspend(): js.Promise[Unit] +raw/OffscreenCanvas[JC] def convertToBlob(options: ConvertToBlobOptions = ???): js.Promise[Blob] +raw/OffscreenCanvas[JC] def getContext(contextType: String): js.Dynamic +raw/OffscreenCanvas[JC] def getContext(contextType: String, contextAttributes: TwoDContextAttributes): js.Dynamic +raw/OffscreenCanvas[JC] def getContext(contextType: String, contextAttributes: WebGLContextAttributes): js.Dynamic +raw/OffscreenCanvas[JC] def transferToImageBitmap(): ImageBitmap raw/OscillatorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/OscillatorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/OscillatorNode[JT] var channelCount: Int @@ -23863,6 +23941,9 @@ raw/TreeWalker[JC] def previousNode(): Node raw/TreeWalker[JC] def previousSibling(): Node raw/TreeWalker[JC] def root: Node raw/TreeWalker[JC] def whatToShow: Int +raw/TwoDContextAttributes[JT] var alpha: js.UndefOr[Boolean] +raw/TwoDContextAttributes[JT] var storage: js.UndefOr[String] +raw/TwoDContextAttributes[JT] var willReadFrequently: js.UndefOr[Boolean] raw/UIEvent[JC] def bubbles: Boolean raw/UIEvent[JC] def cancelBubble: Boolean raw/UIEvent[JC] def cancelable: Boolean @@ -24485,15 +24566,22 @@ raw/Window[JC] def applicationCache: ApplicationCache raw/Window[JC] def atob(encodedString: String): String raw/Window[JC] def blur(): Unit raw/Window[JC] def btoa(rawString: String): String +raw/Window[JC] def caches: js.UndefOr[CacheStorage] raw/Window[JC] def cancelAnimationFrame(handle: Int): Unit raw/Window[JC] def clearInterval(handle: Int): Unit raw/Window[JC] def clearTimeout(handle: Int): Unit raw/Window[JC] def close(): Unit raw/Window[JC] def confirm(message: String?): Boolean raw/Window[JC] var console: Console +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/Window[JC] def crossOriginIsolated: Boolean raw/Window[JC] def devicePixelRatio: Double raw/Window[JC] def dispatchEvent(evt: Event): Boolean raw/Window[JC] def document: HTMLDocument +raw/Window[JC] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/Window[JC] def focus(): Unit raw/Window[JC] def frameElement: Element raw/Window[JC] def frames: Window @@ -24501,9 +24589,10 @@ raw/Window[JC] def getComputedStyle(elt: Element, pseudoElt: String?): CSSStyleD raw/Window[JC] def getSelection(): Selection raw/Window[JC] var gotpointercapture: js.Function1[PointerEvent, _] raw/Window[JC] def history: History -raw/Window[JC] def indexedDB: IDBFactory +raw/Window[JC] def indexedDB: js.UndefOr[IDBFactory] raw/Window[JC] def innerHeight: Double raw/Window[JC] def innerWidth: Double +raw/Window[JC] def isSecureContext: Boolean raw/Window[JC] def length: Int raw/Window[JC] def localStorage: Storage raw/Window[JC] var location: Location @@ -24588,6 +24677,7 @@ raw/Window[JC] var onwaiting: js.Function1[Event, _] raw/Window[JC] var onwheel: js.Function1[WheelEvent, _] raw/Window[JC] def open(url: String?, target: String?, features: String?, replace: Boolean?): Window raw/Window[JC] var opener: Window +raw/Window[JC] def origin: String raw/Window[JC] def outerHeight: Int raw/Window[JC] def outerWidth: Int raw/Window[JC] def pageXOffset: Double @@ -24598,6 +24688,7 @@ raw/Window[JC] def postMessage(message: js.Any, targetOrigin: String, transfer: raw/Window[JC] def print(): Unit raw/Window[JC] def prompt(): String raw/Window[JC] def prompt(message: String, default: String?): String +raw/Window[JC] def queueMicrotask(function: js.Function0[Any]): Unit raw/Window[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/Window[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/Window[JC] def requestAnimationFrame(callback: js.Function1[Double, _]): Int @@ -24623,6 +24714,24 @@ raw/WindowBase64[JT] def atob(encodedString: String): String raw/WindowBase64[JT] def btoa(rawString: String): String raw/WindowConsole[JT] var console: Console raw/WindowLocalStorage[JT] def localStorage: Storage +raw/WindowOrWorkerGlobalScope[JT] def atob(encodedString: String): String +raw/WindowOrWorkerGlobalScope[JT] def btoa(rawString: String): String +raw/WindowOrWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/WindowOrWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/WindowOrWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def crossOriginIsolated: Boolean +raw/WindowOrWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] +raw/WindowOrWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/WindowOrWorkerGlobalScope[JT] def isSecureContext: Boolean +raw/WindowOrWorkerGlobalScope[JT] def origin: String +raw/WindowOrWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit +raw/WindowOrWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/WindowOrWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int +raw/WindowOrWorkerGlobalScope[SO] type CreateImageBitmapInput = HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas raw/WindowSessionStorage[JT] def sessionStorage: Storage raw/WindowTimers[JT] def clearInterval(handle: Int): Unit raw/WindowTimers[JT] def clearTimeout(handle: Int): Unit @@ -24639,19 +24748,35 @@ raw/Worker[JC] def removeEventListener[T <: Event](`type`: String, listener: js. raw/Worker[JC] def terminate(): Unit raw/WorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/WorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -raw/WorkerGlobalScope[JT] def caches: js.Any +raw/WorkerGlobalScope[JT] def atob(encodedString: String): String +raw/WorkerGlobalScope[JT] def btoa(rawString: String): String +raw/WorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/WorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/WorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit raw/WorkerGlobalScope[JT] def close(): Unit +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def crossOriginIsolated: Boolean raw/WorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +raw/WorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/WorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +raw/WorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/WorkerGlobalScope[JT] def isSecureContext: Boolean raw/WorkerGlobalScope[JT] def location: WorkerLocation raw/WorkerGlobalScope[JT] def navigator: WorkerNavigator raw/WorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] raw/WorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] raw/WorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] raw/WorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +raw/WorkerGlobalScope[JT] def origin: String +raw/WorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit raw/WorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/WorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/WorkerGlobalScope[JT] def self: this.type +raw/WorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/WorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int raw/WorkerLocation[JT] def hash: String raw/WorkerLocation[JT] def host: String raw/WorkerLocation[JT] def hostname: String diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 61c6e3b55..3cd69e212 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -480,6 +480,22 @@ experimental/beacon/package[SO] implicit def toBeaconNavigator(n: Navigator): Be experimental/beacon/package[SO] implicit def toBeaconWorkerNavigator(n: WorkerNavigator): BeaconWorkerNavigator experimental/beacon/package.BeaconNavigator[JT] def sendBeacon(url: String, data: BodyInit = null): Boolean experimental/beacon/package.BeaconWorkerNavigator[JT] def sendBeacon(url: String, data: BodyInit = null): Boolean +experimental/cachestorage/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] +experimental/cachestorage/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] +experimental/cachestorage/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] +experimental/cachestorage/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] +experimental/cachestorage/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] +experimental/cachestorage/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] +experimental/cachestorage/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] +experimental/cachestorage/CacheQueryOptions[JT] var cacheName: String +experimental/cachestorage/CacheQueryOptions[JT] var ignoreMethod: Boolean +experimental/cachestorage/CacheQueryOptions[JT] var ignoreSearch: Boolean +experimental/cachestorage/CacheQueryOptions[JT] var ignoreVary: Boolean +experimental/cachestorage/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] +experimental/cachestorage/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] +experimental/cachestorage/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] +experimental/cachestorage/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] +experimental/cachestorage/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] experimental/deviceorientation/DeviceAcceleration[JT] val x: Double experimental/deviceorientation/DeviceAcceleration[JT] val y: Double experimental/deviceorientation/DeviceAcceleration[JT] val z: Double @@ -931,22 +947,22 @@ experimental/push/package[SO] implicit def pushServiceWorkerRegistration(swr: Se experimental/push/package.PushServiceWorkerGlobalScope[JT] var onpush: js.Function1[PushEvent, _] experimental/push/package.PushServiceWorkerGlobalScope[JT] var onpushsubscriptionchange: js.Function1[PushEvent, _] experimental/push/package.PushServiceWorkerRegistration[JT] val pushManager: PushManager -experimental/serviceworkers/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] -experimental/serviceworkers/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] -experimental/serviceworkers/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] -experimental/serviceworkers/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] -experimental/serviceworkers/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] -experimental/serviceworkers/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] -experimental/serviceworkers/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] -experimental/serviceworkers/CacheQueryOptions[JT] var cacheName: String -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreMethod: Boolean -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreSearch: Boolean -experimental/serviceworkers/CacheQueryOptions[JT] var ignoreVary: Boolean -experimental/serviceworkers/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] -experimental/serviceworkers/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] -experimental/serviceworkers/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] -experimental/serviceworkers/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] -experimental/serviceworkers/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] +experimental/serviceworkers/Cache[JC] def add(request: RequestInfo): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def delete(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def keys(request: js.UndefOr[RequestInfo]?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Request]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def `match`(request: RequestInfo, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.UndefOr[Response]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def matchAll(request: RequestInfo?, options: js.UndefOr[CacheQueryOptions]?): js.Promise[js.Array[Response]] (@deprecated in 1.2.0) +experimental/serviceworkers/Cache[JC] def put(request: RequestInfo, response: Response): js.Promise[Unit] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var cacheName: String (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreMethod: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreSearch: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheQueryOptions[JT] var ignoreVary: Boolean (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def delete(cacheName: String): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def keys(): js.Promise[js.Array[String]] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any] (@deprecated in 1.2.0) +experimental/serviceworkers/CacheStorage[JT] def open(cacheName: String): js.Promise[Cache] (@deprecated in 1.2.0) experimental/serviceworkers/CanvasProxy[JT] def setContext(context: RenderingContext): Unit experimental/serviceworkers/Client[JT] def frameType: FrameType experimental/serviceworkers/Client[JT] def id: String @@ -1019,12 +1035,23 @@ experimental/serviceworkers/ServiceWorkerContainer[ST] def register(scriptURL: S experimental/serviceworkers/ServiceWorkerGlobalScope[JO] def self: ServiceWorkerGlobalScope experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def caches: js.Any -experimental/serviceworkers/ServiceWorkerGlobalScope[JT] override def caches: CacheStorage +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def atob(encodedString: String): String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def btoa(rawString: String): String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def clients: Clients experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def close(): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def crossOriginIsolated: Boolean experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def isSecureContext: Boolean experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def location: WorkerLocation experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def navigator: WorkerNavigator experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] @@ -1035,10 +1062,14 @@ experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onlanguagechange: j experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onmessage: js.Function1[MessageEvent, _] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] experimental/serviceworkers/ServiceWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def origin: String +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def registration: ServiceWorkerRegistration experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def self: this.type +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int experimental/serviceworkers/ServiceWorkerGlobalScope[JT] def skipWaiting(): js.Promise[Unit] experimental/serviceworkers/ServiceWorkerMessageEventInit[JT] var bubbles: js.UndefOr[Boolean] experimental/serviceworkers/ServiceWorkerMessageEventInit[JT] var cancelable: js.UndefOr[Boolean] @@ -1086,10 +1117,22 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JO] def self: SharedWorkerGlo experimental/sharedworkers/SharedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def applicationCache: ApplicationCache -experimental/sharedworkers/SharedWorkerGlobalScope[JT] def caches: js.Any +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def atob(encodedString: String): String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def btoa(rawString: String): String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def close(): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def crossOriginIsolated: Boolean experimental/sharedworkers/SharedWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] experimental/sharedworkers/SharedWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def isSecureContext: Boolean experimental/sharedworkers/SharedWorkerGlobalScope[JT] def location: WorkerLocation experimental/sharedworkers/SharedWorkerGlobalScope[JT] def name: String experimental/sharedworkers/SharedWorkerGlobalScope[JT] def navigator: WorkerNavigator @@ -1098,9 +1141,13 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onconnect: js.Functio experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] experimental/sharedworkers/SharedWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] experimental/sharedworkers/SharedWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def origin: String +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit experimental/sharedworkers/SharedWorkerGlobalScope[JT] def self: this.type +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int experimental/storage/package[SO] def estimate(): js.Promise[StorageEstimate] experimental/storage/package[SO] def persist(): js.Promise[Boolean] experimental/storage/package[SO] def persisted(): js.Promise[Boolean] @@ -2046,7 +2093,7 @@ html[SO] def Media = raw.HTMLMediaElement idb[SO] type Cursor = raw.IDBCursor idb[SO] type CursorWithValue = raw.IDBCursorWithValue idb[SO] type Database = raw.IDBDatabase -idb[SO] type Environment = raw.IDBEnvironment +idb[SO] type Environment = raw.IDBEnvironment (@deprecated in 1.2.0) idb[SO] type Factory = raw.IDBFactory idb[SO] type Index = raw.IDBIndex idb[SO] type KeyRange = raw.IDBKeyRange @@ -3263,6 +3310,8 @@ raw/Console[JT] def time(label: String): Unit raw/Console[JT] def timeEnd(label: String): Unit raw/Console[JT] def trace(): Unit raw/Console[JT] def warn(message: Any, optionalParams: Any*): Unit +raw/ConvertToBlobOptions[JT] var quality: js.UndefOr[Double] +raw/ConvertToBlobOptions[JT] var `type`: js.UndefOr[String] raw/ConvolverNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/ConvolverNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/ConvolverNode[JT] var buffer: AudioBuffer @@ -3286,6 +3335,12 @@ raw/Coordinates[JT] def heading: Double raw/Coordinates[JT] def latitude: Double raw/Coordinates[JT] def longitude: Double raw/Coordinates[JT] def speed: Double +raw/CreateImageBitmapOptions[JT] var colorSpaceConversion: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var imageOrientation: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var premultiplyAlpha: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var resizeHeight: js.UndefOr[Double] +raw/CreateImageBitmapOptions[JT] var resizeQuality: js.UndefOr[String] +raw/CreateImageBitmapOptions[JT] var resizeWidth: js.UndefOr[Double] raw/CustomEvent[JC] def bubbles: Boolean raw/CustomEvent[JC] def cancelBubble: Boolean raw/CustomEvent[JC] def cancelable: Boolean @@ -3377,10 +3432,22 @@ raw/DataTransfer[JT] def types: js.Array[String] raw/DedicatedWorkerGlobalScope[JO] def self: DedicatedWorkerGlobalScope raw/DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -raw/DedicatedWorkerGlobalScope[JT] def caches: js.Any +raw/DedicatedWorkerGlobalScope[JT] def atob(encodedString: String): String +raw/DedicatedWorkerGlobalScope[JT] def btoa(rawString: String): String +raw/DedicatedWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/DedicatedWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/DedicatedWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit raw/DedicatedWorkerGlobalScope[JT] def close(): Unit +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/DedicatedWorkerGlobalScope[JT] def crossOriginIsolated: Boolean raw/DedicatedWorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +raw/DedicatedWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/DedicatedWorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +raw/DedicatedWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/DedicatedWorkerGlobalScope[JT] def isSecureContext: Boolean raw/DedicatedWorkerGlobalScope[JT] def location: WorkerLocation raw/DedicatedWorkerGlobalScope[JT] def navigator: WorkerNavigator raw/DedicatedWorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] @@ -3388,10 +3455,14 @@ raw/DedicatedWorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] raw/DedicatedWorkerGlobalScope[JT] var onmessage: js.Function1[MessageEvent, _] raw/DedicatedWorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] raw/DedicatedWorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +raw/DedicatedWorkerGlobalScope[JT] def origin: String raw/DedicatedWorkerGlobalScope[JT] def postMessage(aMessage: js.Any, transferList: js.UndefOr[js.Array[Transferable]]?): Unit +raw/DedicatedWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit raw/DedicatedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DedicatedWorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/DedicatedWorkerGlobalScope[JT] def self: this.type +raw/DedicatedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/DedicatedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int raw/DelayNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/DelayNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/DelayNode[JT] var channelCount: Int @@ -15314,7 +15385,7 @@ raw/IDBDatabase[JC] def removeEventListener[T <: Event](`type`: String, listener raw/IDBDatabase[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/IDBDatabase[JC] def transaction(storeNames: js.Any, mode: String?): IDBTransaction raw/IDBDatabase[JC] def version: Int -raw/IDBEnvironment[JT] def indexedDB: IDBFactory +raw/IDBEnvironment[JT] def indexedDB: IDBFactory (@deprecated in 1.2.0) raw/IDBFactory[JC] def cmp(first: js.Any, second: js.Any): Int raw/IDBFactory[JC] def deleteDatabase(name: String): IDBOpenDBRequest raw/IDBFactory[JC] def open(name: String): IDBOpenDBRequest @@ -15414,6 +15485,8 @@ raw/IDBVersionChangeEventInit[JT] var composed: js.UndefOr[Boolean] raw/IDBVersionChangeEventInit[JT] var newVersion: js.UndefOr[Integer] raw/IDBVersionChangeEventInit[JT] var oldVersion: js.UndefOr[Int] raw/IDBVersionChangeEventInit[JT] var scoped: js.UndefOr[Boolean] +raw/ImageBitmap[JT] def height: Double +raw/ImageBitmap[JT] def width: Double raw/ImageData[JC] def data: js.Array[Int] raw/ImageData[JC] def height: Int raw/ImageData[JC] def width: Int @@ -15811,6 +15884,11 @@ raw/OfflineAudioContext[JC] val sampleRate: Double raw/OfflineAudioContext[JC] def startRendering(): js.Promise[AudioBuffer] raw/OfflineAudioContext[JC] def state: String raw/OfflineAudioContext[JC] def suspend(): js.Promise[Unit] +raw/OffscreenCanvas[JC] def convertToBlob(options: ConvertToBlobOptions = ???): js.Promise[Blob] +raw/OffscreenCanvas[JC] def getContext(contextType: String): js.Dynamic +raw/OffscreenCanvas[JC] def getContext(contextType: String, contextAttributes: TwoDContextAttributes): js.Dynamic +raw/OffscreenCanvas[JC] def getContext(contextType: String, contextAttributes: WebGLContextAttributes): js.Dynamic +raw/OffscreenCanvas[JC] def transferToImageBitmap(): ImageBitmap raw/OscillatorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/OscillatorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/OscillatorNode[JT] var channelCount: Int @@ -23863,6 +23941,9 @@ raw/TreeWalker[JC] def previousNode(): Node raw/TreeWalker[JC] def previousSibling(): Node raw/TreeWalker[JC] def root: Node raw/TreeWalker[JC] def whatToShow: Int +raw/TwoDContextAttributes[JT] var alpha: js.UndefOr[Boolean] +raw/TwoDContextAttributes[JT] var storage: js.UndefOr[String] +raw/TwoDContextAttributes[JT] var willReadFrequently: js.UndefOr[Boolean] raw/UIEvent[JC] def bubbles: Boolean raw/UIEvent[JC] def cancelBubble: Boolean raw/UIEvent[JC] def cancelable: Boolean @@ -24485,15 +24566,22 @@ raw/Window[JC] def applicationCache: ApplicationCache raw/Window[JC] def atob(encodedString: String): String raw/Window[JC] def blur(): Unit raw/Window[JC] def btoa(rawString: String): String +raw/Window[JC] def caches: js.UndefOr[CacheStorage] raw/Window[JC] def cancelAnimationFrame(handle: Int): Unit raw/Window[JC] def clearInterval(handle: Int): Unit raw/Window[JC] def clearTimeout(handle: Int): Unit raw/Window[JC] def close(): Unit raw/Window[JC] def confirm(message: String?): Boolean raw/Window[JC] var console: Console +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/Window[JC] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/Window[JC] def crossOriginIsolated: Boolean raw/Window[JC] def devicePixelRatio: Double raw/Window[JC] def dispatchEvent(evt: Event): Boolean raw/Window[JC] def document: HTMLDocument +raw/Window[JC] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/Window[JC] def focus(): Unit raw/Window[JC] def frameElement: Element raw/Window[JC] def frames: Window @@ -24501,9 +24589,10 @@ raw/Window[JC] def getComputedStyle(elt: Element, pseudoElt: String?): CSSStyleD raw/Window[JC] def getSelection(): Selection raw/Window[JC] var gotpointercapture: js.Function1[PointerEvent, _] raw/Window[JC] def history: History -raw/Window[JC] def indexedDB: IDBFactory +raw/Window[JC] def indexedDB: js.UndefOr[IDBFactory] raw/Window[JC] def innerHeight: Double raw/Window[JC] def innerWidth: Double +raw/Window[JC] def isSecureContext: Boolean raw/Window[JC] def length: Int raw/Window[JC] def localStorage: Storage raw/Window[JC] var location: Location @@ -24588,6 +24677,7 @@ raw/Window[JC] var onwaiting: js.Function1[Event, _] raw/Window[JC] var onwheel: js.Function1[WheelEvent, _] raw/Window[JC] def open(url: String?, target: String?, features: String?, replace: Boolean?): Window raw/Window[JC] var opener: Window +raw/Window[JC] def origin: String raw/Window[JC] def outerHeight: Int raw/Window[JC] def outerWidth: Int raw/Window[JC] def pageXOffset: Double @@ -24598,6 +24688,7 @@ raw/Window[JC] def postMessage(message: js.Any, targetOrigin: String, transfer: raw/Window[JC] def print(): Unit raw/Window[JC] def prompt(): String raw/Window[JC] def prompt(message: String, default: String?): String +raw/Window[JC] def queueMicrotask(function: js.Function0[Any]): Unit raw/Window[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/Window[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/Window[JC] def requestAnimationFrame(callback: js.Function1[Double, _]): Int @@ -24623,6 +24714,24 @@ raw/WindowBase64[JT] def atob(encodedString: String): String raw/WindowBase64[JT] def btoa(rawString: String): String raw/WindowConsole[JT] var console: Console raw/WindowLocalStorage[JT] def localStorage: Storage +raw/WindowOrWorkerGlobalScope[JT] def atob(encodedString: String): String +raw/WindowOrWorkerGlobalScope[JT] def btoa(rawString: String): String +raw/WindowOrWorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/WindowOrWorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/WindowOrWorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WindowOrWorkerGlobalScope[JT] def crossOriginIsolated: Boolean +raw/WindowOrWorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] +raw/WindowOrWorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/WindowOrWorkerGlobalScope[JT] def isSecureContext: Boolean +raw/WindowOrWorkerGlobalScope[JT] def origin: String +raw/WindowOrWorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit +raw/WindowOrWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/WindowOrWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int +raw/WindowOrWorkerGlobalScope[SO] type CreateImageBitmapInput = HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas raw/WindowSessionStorage[JT] def sessionStorage: Storage raw/WindowTimers[JT] def clearInterval(handle: Int): Unit raw/WindowTimers[JT] def clearTimeout(handle: Int): Unit @@ -24639,19 +24748,35 @@ raw/Worker[JC] def removeEventListener[T <: Event](`type`: String, listener: js. raw/Worker[JC] def terminate(): Unit raw/WorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/WorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit -raw/WorkerGlobalScope[JT] def caches: js.Any +raw/WorkerGlobalScope[JT] def atob(encodedString: String): String +raw/WorkerGlobalScope[JT] def btoa(rawString: String): String +raw/WorkerGlobalScope[JT] def caches: js.UndefOr[CacheStorage] +raw/WorkerGlobalScope[JT] def clearInterval(handle: Int): Unit +raw/WorkerGlobalScope[JT] def clearTimeout(handle: Int): Unit raw/WorkerGlobalScope[JT] def close(): Unit +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, sw: Double, sh: Double, options: CreateImageBitmapOptions): js.Promise[ImageBitmap] +raw/WorkerGlobalScope[JT] def crossOriginIsolated: Boolean raw/WorkerGlobalScope[JT] def dispatchEvent(evt: Event): Boolean +raw/WorkerGlobalScope[JT] def fetch(info: RequestInfo, init: RequestInit = null): js.Promise[Response] raw/WorkerGlobalScope[JT] def importScripts(urls: js.Array[String]): Unit +raw/WorkerGlobalScope[JT] def indexedDB: js.UndefOr[IDBFactory] +raw/WorkerGlobalScope[JT] def isSecureContext: Boolean raw/WorkerGlobalScope[JT] def location: WorkerLocation raw/WorkerGlobalScope[JT] def navigator: WorkerNavigator raw/WorkerGlobalScope[JT] var onError: js.Function1[ErrorEvent, _] raw/WorkerGlobalScope[JT] var onlanguagechange: js.Function1[Event, _] raw/WorkerGlobalScope[JT] var onoffline: js.Function1[Event, _] raw/WorkerGlobalScope[JT] var ononline: js.Function1[Event, _] +raw/WorkerGlobalScope[JT] def origin: String +raw/WorkerGlobalScope[JT] def queueMicrotask(function: js.Function0[Any]): Unit raw/WorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit raw/WorkerGlobalScope[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit raw/WorkerGlobalScope[JT] def self: this.type +raw/WorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int +raw/WorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int raw/WorkerLocation[JT] def hash: String raw/WorkerLocation[JT] def host: String raw/WorkerLocation[JT] def hostname: String diff --git a/scalafix/src/main/scala/org/scalajs/dom/scalafix/GenerateApiReport.scala b/scalafix/src/main/scala/org/scalajs/dom/scalafix/GenerateApiReport.scala index 94479f347..b15f9341f 100644 --- a/scalafix/src/main/scala/org/scalajs/dom/scalafix/GenerateApiReport.scala +++ b/scalafix/src/main/scala/org/scalajs/dom/scalafix/GenerateApiReport.scala @@ -21,26 +21,43 @@ class GenerateApiReport extends SemanticRule("GenerateApiReport") { if (enabled) doc.tree.traverse { - case a: Defn.Class => process(a.symbol, a.templ, ScopeType.Class) - case a: Defn.Object => process(a.symbol, a.templ, ScopeType.Object) - case a: Defn.Trait => process(a.symbol, a.templ, ScopeType.Trait) - case a: Pkg.Object => process(a.symbol, a.templ, ScopeType.Object) + case a: Defn.Class => process(a.mods, a.symbol, a.templ, ScopeType.Class) + case a: Defn.Object => process(a.mods, a.symbol, a.templ, ScopeType.Object) + case a: Defn.Trait => process(a.mods, a.symbol, a.templ, ScopeType.Trait) + case a: Pkg.Object => process(a.mods, a.symbol, a.templ, ScopeType.Object) case _ => } Patch.empty } - private def process(sym: Symbol, body: Template, typ: ScopeType)(implicit doc: SemanticDocument): Unit = { + private def process(parentMods: List[Mod], sym: Symbol, body: Template, typ: ScopeType)(implicit doc: SemanticDocument): Unit = { // Skip non-public scopes val info = sym.info.get if (!info.isPublic && !info.isPackageObject) return + def inspectAnnotationsFn(set: String => Unit): List[Mod] => List[Mod] = + _.filter { + case Mod.Annot(Init(tpe, _, List(List(_, ver)))) if tpe.toString == "deprecated" => + set( + ver match { + case Lit.String(s) => s + case term => term.toString + } + ) + false + case _ => true + } + + // Inspect scope's annotations + var scopeDeprecatedVer = Option.empty[String] + inspectAnnotationsFn(v => scopeDeprecatedVer = Some(v))(parentMods) + val parents = Util.parents(sym).iterator.map(Util.typeSymbol).toList val domParents = parents.iterator.filter(isScalaJsDom).toSet val isJsType = parents.exists(isScalaJs) - val s = state.register(sym, isJsType, typ, domParents) + val s = state.register(sym, isJsType, typ, domParents, scopeDeprecatedVer) def letsSeeHowLazyWeCanBeLol(t: Tree): Unit = { // Skip non-public members @@ -58,24 +75,12 @@ class GenerateApiReport extends SemanticRule("GenerateApiReport") { // Inspect annotations var deprecatedVer = Option.empty[String] - - def inspectAnnotations(mods: List[Mod]): List[Mod] = - mods.filter { - case Mod.Annot(Init(tpe, _, List(List(_, ver)))) if tpe.toString == "deprecated" => - deprecatedVer = Some { - ver match { - case Lit.String(s) => s - case term => term.toString - } - } - false - case _ => true - } - + val inspectAnnotations = inspectAnnotationsFn(v => deprecatedVer = Some(v)) t2 match { case Decl.Def(mods, name, tparams, paramss, tpe) => t2 = Decl.Def(inspectAnnotations(mods), name, tparams, paramss, tpe) case Decl.Val(mods, pats, tpe) => t2 = Decl.Val(inspectAnnotations(mods), pats, tpe) case Decl.Var(mods, pats, tpe) => t2 = Decl.Var(inspectAnnotations(mods), pats, tpe) + case Defn.Type(mods, names, params, tpe) => t2 = Defn.Type(inspectAnnotations(mods), names, params, tpe) case _ => } diff --git a/scalafix/src/main/scala/org/scalajs/dom/scalafix/MutableState.scala b/scalafix/src/main/scala/org/scalajs/dom/scalafix/MutableState.scala index 86934f545..679027465 100644 --- a/scalafix/src/main/scala/org/scalajs/dom/scalafix/MutableState.scala +++ b/scalafix/src/main/scala/org/scalajs/dom/scalafix/MutableState.scala @@ -11,12 +11,17 @@ final class MutableState { private[this] val scopes = mutable.Map.empty[Symbol, Scope] - def register(sym: Symbol, isJsType: Boolean, scopeType: ScopeType, parents: Set[Symbol]): Scope = synchronized { + def register(sym : Symbol, + isJsType : Boolean, + scopeType : ScopeType, + parents : Set[Symbol], + deprecatedVer: Option[String]): Scope = synchronized { scopes.get(sym) match { case None => val s = Scope(sym)(scopeType, parents) scopes.update(sym, s) s.isJsType = isJsType + s.deprecatedVer = deprecatedVer s case Some(s) => s @@ -47,10 +52,20 @@ final class MutableState { val b = SortedSet.newBuilder[Result] + def deprecationSuffix(ver: Option[String]): String = + ver match { + case None => "" + case Some(v) => s" (@deprecated in $v)" + } + // Pass 1 for (root <- scopes.valuesIterator) { - if (!root.isJsType && scopeParents(root).exists(_.isJsType)) + val parents = scopeParents(root) + if (!root.isJsType && parents.exists(_.isJsType)) root.isJsType = true + if (root.deprecatedVer.isEmpty) + for (p <- parents.find(_.deprecatedVer.isDefined)) + root.deprecatedVer = p.deprecatedVer } // Pass 2 @@ -65,19 +80,18 @@ final class MutableState { var membersFound = false for { s <- root :: scopeParents(root) - v <- s.directMembers + m <- s.directMembers } { membersFound = true - val key = (scopeKey, v.name, v.desc) - var result = prefix + v.desc - for (ver <- v.deprecatedVer) - result = s"$result (@deprecated in $ver)" + val key = (scopeKey, m.name, m.desc) + val result = prefix + m.desc + deprecationSuffix(m.deprecatedVer.orElse(root.deprecatedVer)) b += Result(key, result) } if (!membersFound && !scopeName.endsWith("/package")) { val key = (scopeKey, " ", "") - b += Result(key, prefix.trim) + val result = prefix.trim + deprecationSuffix(root.deprecatedVer) + b += Result(key, result) } } @@ -101,6 +115,7 @@ object MutableState { private[MutableState] val directMembers = mutable.Set.empty[Member] private[MutableState] var isJsType = false + private[MutableState] var deprecatedVer = Option.empty[String] def add(v: Member): Unit = synchronized(directMembers += v) diff --git a/src/main/scala/org/scalajs/dom/experimental/cachestorage/CacheStorage.scala b/src/main/scala/org/scalajs/dom/experimental/cachestorage/CacheStorage.scala new file mode 100644 index 000000000..7b83b790e --- /dev/null +++ b/src/main/scala/org/scalajs/dom/experimental/cachestorage/CacheStorage.scala @@ -0,0 +1,69 @@ +package org.scalajs.dom.experimental.cachestorage + +import scala.scalajs.js +import scala.scalajs.js.annotation._ +import org.scalajs.dom.experimental._ + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] + * of ServiceWorker whatwg spec. + */ +@js.native +trait CacheQueryOptions extends js.Object { + var ignoreSearch: Boolean = js.native // false + + var ignoreMethod: Boolean = js.native // false + + var ignoreVary: Boolean = js.native //false + + var cacheName: String = js.native +} + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache-storage ¶5.5 cache]] + * of ServiceWorker whatwg spec. + */ +@js.native +trait CacheStorage extends js.Object { + def `match`(request: RequestInfo, + options: CacheQueryOptions = js.native): js.Promise[js.Any] = js.native + + def has(cacheName: String): js.Promise[Boolean] = js.native + + def open(cacheName: String): js.Promise[Cache] = js.native + + def delete(cacheName: String): js.Promise[Boolean] = js.native + + def keys(): js.Promise[js.Array[String]] = js.native +} + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] + * of ServiceWorker whatwg spec. + */ +@js.native +@JSGlobal +abstract class Cache extends js.Object { + def `match`(request: RequestInfo, + options: js.UndefOr[ + CacheQueryOptions] = js.native): js.Promise[js.UndefOr[Response]] = js.native + + def matchAll(request: RequestInfo = js.native, + options: js.UndefOr[ + CacheQueryOptions] = js.native): js.Promise[js.Array[Response]] = js.native + + def add(request: RequestInfo): js.Promise[Unit] = js.native + + def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] = js.native + + def put(request: RequestInfo, + response: Response): js.Promise[Unit] = js.native + + def delete(request: RequestInfo, + options: js.UndefOr[ + CacheQueryOptions] = js.native): js.Promise[Boolean] = js.native + + def keys(request: js.UndefOr[RequestInfo] = js.native, + options: js.UndefOr[ + CacheQueryOptions] = js.native): js.Promise[js.Array[Request]] +} diff --git a/src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala b/src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala index 0891f6c60..ffd1ecbdd 100644 --- a/src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala +++ b/src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala @@ -7,10 +7,10 @@ import scala.scalajs.js.| import org.scalajs.dom.experimental.{ Notification, NotificationOptions, Request, RequestInfo, Response, Sequence } -import org.scalajs.dom.raw.{WorkerGlobalScope, ErrorEvent} +import org.scalajs.dom.experimental.cachestorage._ +import org.scalajs.dom.raw.{ErrorEvent, EventInit, WorkerGlobalScope} import org.scalajs.dom.webgl.RenderingContext import org.scalajs.dom.{Event, EventTarget, MessageEvent, MessagePort} -import org.scalajs.dom.raw.EventInit @js.native sealed trait FrameType extends js.Any @@ -608,70 +608,6 @@ trait Clients extends js.Object { def claim(): js.Promise[Unit] = js.native } -/** - * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] - * of ServiceWorker whatwg spec. - */ -@js.native -@JSGlobal -abstract class Cache extends js.Object { - def `match`(request: RequestInfo, - options: js.UndefOr[ - CacheQueryOptions] = js.native): js.Promise[js.UndefOr[Response]] = js.native - - def matchAll(request: RequestInfo = js.native, - options: js.UndefOr[ - CacheQueryOptions] = js.native): js.Promise[js.Array[Response]] = js.native - - def add(request: RequestInfo): js.Promise[Unit] = js.native - - def addAll(requests: js.Array[RequestInfo]): js.Promise[Unit] = js.native - - def put(request: RequestInfo, - response: Response): js.Promise[Unit] = js.native - - def delete(request: RequestInfo, - options: js.UndefOr[ - CacheQueryOptions] = js.native): js.Promise[Boolean] = js.native - - def keys(request: js.UndefOr[RequestInfo] = js.native, - options: js.UndefOr[ - CacheQueryOptions] = js.native): js.Promise[js.Array[Request]] -} - -/** - * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] - * of ServiceWorker whatwg spec. - */ -@js.native -trait CacheQueryOptions extends js.Object { - var ignoreSearch: Boolean = js.native // false - - var ignoreMethod: Boolean = js.native // false - - var ignoreVary: Boolean = js.native //false - - var cacheName: String = js.native -} - -/** - * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache-storage ¶5.5 cache]] - * of ServiceWorker whatwg spec. - */ -@js.native -trait CacheStorage extends js.Object { - def `match`(request: RequestInfo, - options: CacheQueryOptions = js.native): js.Promise[js.Any] = js.native - - def has(cacheName: String): js.Promise[Boolean] = js.native - - def open(cacheName: String): js.Promise[Cache] = js.native - - def delete(cacheName: String): js.Promise[Boolean] = js.native - - def keys(): js.Promise[js.Array[String]] = js.native -} - /** * The ServiceWorkerGlobalScope interface of the ServiceWorker API represents * the global execution context of a service worker. @@ -694,13 +630,6 @@ trait CacheStorage extends js.Object { @js.native trait ServiceWorkerGlobalScope extends WorkerGlobalScope { - /** - * Returns the CacheStorage object associated with the service worker. - * - * MDN - */ - override def caches: CacheStorage = js.native - /** * Returns the Clients object associated with the service worker. * @@ -769,3 +698,32 @@ trait ServiceWorkerGlobalScope extends WorkerGlobalScope { object ServiceWorkerGlobalScope extends js.Object { def self: ServiceWorkerGlobalScope = js.native } + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] + * of ServiceWorker whatwg spec. + */ +@deprecated("Use org.scalajs.dom.experimental.cachestorage.Cache", "1.2.0") +@js.native +@JSGlobal +abstract class Cache extends org.scalajs.dom.experimental.cachestorage.Cache + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]] + * of ServiceWorker whatwg spec. + */ +@deprecated("Use org.scalajs.dom.experimental.cachestorage.CacheQueryOptions", + "1.2.0") +@js.native +trait CacheQueryOptions + extends org.scalajs.dom.experimental.cachestorage.CacheQueryOptions + +/** + * See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache-storage ¶5.5 cache]] + * of ServiceWorker whatwg spec. + */ +@deprecated("Use org.scalajs.dom.experimental.cachestorage.CacheStorage", + "1.2.0") +@js.native +trait CacheStorage + extends org.scalajs.dom.experimental.cachestorage.CacheStorage diff --git a/src/main/scala/org/scalajs/dom/idb.scala b/src/main/scala/org/scalajs/dom/idb.scala index 4af7329fd..d847abad2 100644 --- a/src/main/scala/org/scalajs/dom/idb.scala +++ b/src/main/scala/org/scalajs/dom/idb.scala @@ -8,7 +8,6 @@ object idb { @inline def Cursor = raw.IDBCursor type CursorWithValue = raw.IDBCursorWithValue type Database = raw.IDBDatabase - type Environment = raw.IDBEnvironment type Factory = raw.IDBFactory type Index = raw.IDBIndex type KeyRange = raw.IDBKeyRange @@ -19,4 +18,8 @@ object idb { type Transaction = raw.IDBTransaction @inline def Transaction = raw.IDBTransaction type VersionChangeEvent = raw.IDBVersionChangeEvent + @deprecated( + "Removed. This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible. See https://developer.mozilla.org/en-US/docs/Web/API/IDBEnvironment", + "1.2.0") + type Environment = raw.IDBEnvironment } diff --git a/src/main/scala/org/scalajs/dom/raw/Idb.scala b/src/main/scala/org/scalajs/dom/raw/Idb.scala index 750400318..80a453610 100644 --- a/src/main/scala/org/scalajs/dom/raw/Idb.scala +++ b/src/main/scala/org/scalajs/dom/raw/Idb.scala @@ -356,25 +356,6 @@ class IDBCursorWithValue extends IDBCursor { def value: js.Any = js.native } -/** - * The IDBEvironment interface of the IndexedDB API provides asynchronous access - * to a client-side database. It is implemented by window and Worker objects. - * - * MDN - */ -@js.native -trait IDBEnvironment extends js.Object { - - /** - * an IDBRequest object that communicates back to the requesting application - * through events. This design means that any number of requests can be active on any - * database at a time. - * - * MDN - */ - def indexedDB: IDBFactory = js.native -} - /** * The IDBKeyRange interface of the IndexedDB API represents a continuous interval * over some data type that is used for keys. Records can be retrieved from object @@ -816,3 +797,26 @@ class IDBRequest extends EventTarget { */ def result: js.Any = js.native } + +/** + * The IDBEvironment interface of the IndexedDB API provides asynchronous access + * to a client-side database. It is implemented by window and Worker objects. + * + * MDN + */ +@deprecated( + "Removed. This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible. See https://developer.mozilla.org/en-US/docs/Web/API/IDBEnvironment", + "1.2.0") +@js.native +trait IDBEnvironment extends js.Object { + + /** + * an IDBRequest object that communicates back to the requesting application + * through events. This design means that any number of requests can be active on any + * database at a time. + * + * MDN + */ + @deprecated("Use window.indexedDB", "1.2.0") + def indexedDB: IDBFactory = js.native +} diff --git a/src/main/scala/org/scalajs/dom/raw/OffscreenCanvas.scala b/src/main/scala/org/scalajs/dom/raw/OffscreenCanvas.scala new file mode 100644 index 000000000..187b85c8e --- /dev/null +++ b/src/main/scala/org/scalajs/dom/raw/OffscreenCanvas.scala @@ -0,0 +1,58 @@ +package org.scalajs.dom.raw + +import scala.scalajs.js +import scala.scalajs.js.annotation.JSGlobal + +/** + * The OffscreenCanvas interface provides a canvas that can be rendered off + * screen. + * It is available in both the window and worker contexts. + * + * MDN + */ +@js.native +@JSGlobal +class OffscreenCanvas(var width: Double, var height: Double) + extends js.Object { + + /** + * Returns a rendering context for the offscreen canvas. + * + * MDN + */ + def getContext(contextType: String): js.Dynamic = js.native + def getContext(contextType: String, + contextAttributes: WebGLContextAttributes): js.Dynamic = js.native + def getContext(contextType: String, + contextAttributes: TwoDContextAttributes): js.Dynamic = js.native + + /** + * Creates a Blob object representing the image contained in the canvas. + * + * MDN + */ + def convertToBlob( + options: ConvertToBlobOptions = ???): js.Promise[Blob] = js.native + + /** + * Creates an ImageBitmap object from the most recently rendered image of + * the OffscreenCanvas. + * + * MDN + */ + def transferToImageBitmap(): ImageBitmap = js.native +} + +trait TwoDContextAttributes extends js.Object { + var alpha: js.UndefOr[Boolean] = js.undefined + + var willReadFrequently: js.UndefOr[Boolean] = js.undefined + + var storage: js.UndefOr[String] = js.undefined +} + +trait ConvertToBlobOptions extends js.Object { + var `type`: js.UndefOr[String] = js.undefined + + var quality: js.UndefOr[Double] = js.undefined +} diff --git a/src/main/scala/org/scalajs/dom/raw/WebWorkers.scala b/src/main/scala/org/scalajs/dom/raw/WebWorkers.scala index cd58e053d..9a941cf12 100644 --- a/src/main/scala/org/scalajs/dom/raw/WebWorkers.scala +++ b/src/main/scala/org/scalajs/dom/raw/WebWorkers.scala @@ -107,17 +107,7 @@ class Worker(stringUrl: String) extends AbstractWorker { * MDN */ @js.native -trait WorkerGlobalScope extends EventTarget { - - /** - * The caches read-only property of the WorkerGlobalScope interface returns - * the CacheStorage object associated with the current worker context. - * This object enables service worker functionality such as storing assets - * for offline use, and generating custom responses to requests. - * - * MDN - */ - def caches: js.Any = js.native +trait WorkerGlobalScope extends EventTarget with WindowOrWorkerGlobalScope { /** * The self read-only property of the WorkerGlobalScope interface returns a diff --git a/src/main/scala/org/scalajs/dom/raw/WindowOrWorkerGlobalScope.scala b/src/main/scala/org/scalajs/dom/raw/WindowOrWorkerGlobalScope.scala new file mode 100644 index 000000000..3584b4282 --- /dev/null +++ b/src/main/scala/org/scalajs/dom/raw/WindowOrWorkerGlobalScope.scala @@ -0,0 +1,142 @@ +package org.scalajs.dom.raw + +import scala.scalajs.js +import scala.scalajs.js.| +import scala.scalajs.js.annotation._ +import org.scalajs.dom.experimental.cachestorage.CacheStorage +import org.scalajs.dom.experimental.{RequestInfo, RequestInit, Response} + +/** + * The WindowOrWorkerGlobalScope mixin describes several features common to the + * Window and WorkerGlobalScope interfaces. + * + * Note: WindowOrWorkerGlobalScope is a mixin and not an interface; you can't + * actually create an object of type WindowOrWorkerGlobalScope. + * + * MDN + */ +@js.native +trait WindowOrWorkerGlobalScope extends WindowBase64 with WindowTimers { + import WindowOrWorkerGlobalScope._ + + /** + * Returns the CacheStorage object associated with the current context. + * This object enables functionality such as storing assets for offline use, + * and generating custom responses to requests. + * + * MDN + */ + def caches: js.UndefOr[CacheStorage] = js.native + + /** + * Returns a boolean value that indicates whether a SharedArrayBuffer can be + * sent via a Window.postMessage() call. + * + * MDN + */ + def crossOriginIsolated: Boolean = js.native + + /** + * Provides a mechanism for applications to asynchronously access + * capabilities of indexed databases. + * + * MDN + */ + def indexedDB: js.UndefOr[IDBFactory] = js.native + + /** + * Returns a boolean indicating whether the current context is secure or not. + * + * MDN + */ + def isSecureContext: Boolean = js.native + + /** + * Returns the origin of the global scope, serialized as a string. + * + * MDN + */ + def origin: String = js.native //should be USVString + + /** + * Starts the process of fetching a resource from the network. + * + * MDN + */ + def fetch(info: RequestInfo, + init: RequestInit = null): js.Promise[Response] = js.native + + /** + * Enqueues a microtask—a short function to be executed after execution of + * the JavaScript code completes and control isn't being returned to a + * JavaScript caller, but before handling callbacks and other tasks. + * + * This lets your code run without interfering with other, possibly higher + * priority, code, but before the browser runtime regains control, + * potentially depending upon the work you need to complete. + * + * MDN + */ + def queueMicrotask(function: js.Function0[Any]): Unit = js.native + + /** + * Accepts a variety of different image sources, and returns a Promise which + * resolves to an ImageBitmap. + * Optionally the source is cropped to the rectangle of pixels originating at + * (sx, sy) with width sw, and height sh. + * + * MDN + */ + def createImageBitmap( + image: CreateImageBitmapInput): js.Promise[ImageBitmap] = js.native + + def createImageBitmap(image: CreateImageBitmapInput, + options: CreateImageBitmapOptions): js.Promise[ImageBitmap] = js.native + + def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, + sw: Double, sh: Double): js.Promise[ImageBitmap] = js.native + + def createImageBitmap(image: CreateImageBitmapInput, sx: Double, sy: Double, + sw: Double, sh: Double, + options: CreateImageBitmapOptions): js.Promise[ImageBitmap] = js.native +} + +/** + * The ImageBitmap interface represents a bitmap image which can be drawn to a + * <canvas> without undue latency. + * It can be created from a variety of source objects using the + * createImageBitmap() factory method. + * ImageBitmap provides an asynchronous and resource efficient pathway to + * prepare textures for rendering in WebGL. + * + * MDN + */ +@js.native +trait ImageBitmap extends js.Object { + + /** + * An unsigned long representing the height, in CSS pixels, of the ImageData. + */ + def height: Double = js.native + + /** + * An unsigned long representing the width, in CSS pixels, of the ImageData. + */ + def width: Double = js.native +} + +trait CreateImageBitmapOptions extends js.Object { + var imageOrientation: js.UndefOr[String] = js.undefined + var premultiplyAlpha: js.UndefOr[String] = js.undefined + var colorSpaceConversion: js.UndefOr[String] = js.undefined + var resizeWidth: js.UndefOr[Double] = js.undefined + var resizeHeight: js.UndefOr[Double] = js.undefined + var resizeQuality: js.UndefOr[String] = js.undefined +} + +object WindowOrWorkerGlobalScope { + + type CreateImageBitmapInput = + HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas + +} diff --git a/src/main/scala/org/scalajs/dom/raw/lib.scala b/src/main/scala/org/scalajs/dom/raw/lib.scala index d19613eef..48edfec3c 100644 --- a/src/main/scala/org/scalajs/dom/raw/lib.scala +++ b/src/main/scala/org/scalajs/dom/raw/lib.scala @@ -2083,8 +2083,7 @@ trait WindowSessionStorage extends js.Object { @JSGlobal class Window extends EventTarget with WindowLocalStorage with WindowSessionStorage - with WindowTimers with WindowBase64 with IDBEnvironment - with WindowConsole { + with WindowOrWorkerGlobalScope with WindowConsole { var ondragend: js.Function1[DragEvent, _] = js.native /**