recursal/MDN huggingface dataset:
AuthenticatorAttestationResponse
================================

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The **`AuthenticatorAttestationResponse`** interface of the Web Authentication API is the result of a WebAuthn credential registration. It contains information about the credential that the server needs to perform WebAuthn assertions, such as its credential ID and public key.

An `AuthenticatorAttestationResponse` object instance is available in the `response` property of a `PublicKeyCredential` object returned by a successful `CredentialsContainer.create()` call.

This interface inherits from `AuthenticatorResponse`.

AuthenticatorResponse

AuthenticatorAttestationResponse

**Note:** This interface is restricted to top-level contexts. Use of its features from within an `<iframe>` element will not have any effect.

Instance properties
-------------------

*Also inherits properties from its parent, `AuthenticatorResponse`.*

`AuthenticatorAttestationResponse.attestationObject` Read only 

An `ArrayBuffer` containing authenticator data and an attestation statement for a new key pair generated by the authenticator.

`AuthenticatorResponse.clientDataJSON` Read only 

Inherited from `AuthenticatorResponse`, this property contains the JSON-compatible serialization of the data passed from the browser to the authenticator in order to generate this credential — i.e., when `CredentialsContainer.create()` is called with a `publicKey` option. This data contains some information from the options passed into the `create()` call, and some information controlled by the browser.

Instance methods
----------------

`AuthenticatorAttestationResponse.getAuthenticatorData()`

Returns an `ArrayBuffer` containing the authenticator data contained within the `AuthenticatorAttestationResponse.attestationObject` property.

`AuthenticatorAttestationResponse.getPublicKey()`

Returns an `ArrayBuffer` containing the DER `SubjectPublicKeyInfo` of the new credential (see Subject Public Key Info), or `null` if this is not available.

`AuthenticatorAttestationResponse.getPublicKeyAlgorithm()`

Returns a number that is equal to a COSE Algorithm Identifier, representing the cryptographic algorithm used for the new credential.

`AuthenticatorAttestationResponse.getTransports()`

Returns an array of strings describing which transport methods (e.g., `usb`, `nfc`) are believed to be supported with the authenticator. The array may be empty if the information is not available.

Examples
--------

See Creating a public key credential using the WebAuthn API for a detailed example.

Specifications
--------------

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # authenticatorattestationresponse |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `AuthenticatorAssertionResponse`: the interface for the type of response given when retrieving an existing credential
* `AuthenticatorResponse`: the parent interface
SVGGraphicsElement
==================

The **`SVGGraphicsElement`** interface represents SVG elements whose primary purpose is to directly render graphics into a group.

EventTarget

Node

Element

SVGElement

SVGGraphicsElementInstance properties
-------------------

*This interface also inherits properties from its parent, `SVGElement`.*

`SVGGraphicsElement.requiredExtensions` Read only 

An `SVGStringList` reflecting the `requiredExtensions` attribute of the given element.

`SVGGraphicsElement.systemLanguage` Read only 

An `SVGStringList` reflecting the `systemLanguage` attribute of the given element.

`SVGGraphicsElement.transform` Read only 

An `SVGAnimatedTransformList` reflecting the computed value of the `transform` property and its corresponding `transform` attribute of the given element.

Instance methods
----------------

*This interface also inherits methods from its parent, `SVGElement`.*

`SVGGraphicsElement.getBBox()`

Returns a `DOMRect` representing the computed bounding box of the current element.

`SVGGraphicsElement.getCTM()`

Returns a `DOMMatrix` representing the matrix that transforms the current element's coordinate system to its SVG viewport's coordinate system.

`SVGGraphicsElement.getScreenCTM()`

Returns a `DOMMatrix` representing the matrix that transforms the current element's coordinate system to the coordinate system of the SVG viewport for the SVG document fragment.

Events
------

Listen to these events using `addEventListener()` or by assigning an event listener to the equivalent `on...` handler property.

`copy`

Fired when the user initiates a copy action through the browser's user interface.

`cut`

Fired when the user has initiated a "cut" action through the browser's user interface.

`paste`

Fires when the user has initiated a "paste" action through the browser's user interface.

Specifications
--------------

| Specification |
| --- |
| Scalable Vector Graphics (SVG) 2 # InterfaceSVGGraphicsElement |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
EncodedVideoChunk
=================

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

* Learn more
* See full compatibility
* Report feedback
The **`EncodedVideoChunk`** interface of the WebCodecs API represents a chunk of encoded video data.

Constructor
-----------

`EncodedVideoChunk()`

Creates a new `EncodedVideoChunk` object.

Instance properties
-------------------

`EncodedVideoChunk.type` Read only 

Returns a string indicating whether this chunk of data is a key chunk.

`EncodedVideoChunk.timestamp` Read only 

Returns an integer representing the timestamp of the video in microseconds.

`EncodedVideoChunk.duration` Read only 

Returns an integer representing the duration of the video in microseconds.

`EncodedVideoChunk.byteLength` Read only 

Returns an integer representing the length of the video in bytes.

Instance methods
----------------

`EncodedVideoChunk.copyTo()`

Copies the encoded video data.

Specifications
--------------

| Specification |
| --- |
| WebCodecs # encodedvideochunk-interface |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
AesGcmParams
============

The **`AesGcmParams`** dictionary of the Web Crypto API represents the object that should be passed as the `algorithm` parameter into `SubtleCrypto.encrypt()`, `SubtleCrypto.decrypt()`, `SubtleCrypto.wrapKey()`, or `SubtleCrypto.unwrapKey()`, when using the AES-GCM algorithm.

For details of how to supply appropriate values for this parameter, see the specification for AES-GCM: NIST SP800-38D, in particular section 5.2.1.1 on Input Data.

Instance properties
-------------------

`name`

A string. This should be set to `AES-GCM`.

`iv`

An `ArrayBuffer`, a `TypedArray`, or a `DataView` with the initialization vector. This must be unique for every encryption operation carried out with a given key. Put another way: never reuse an IV with the same key. The AES-GCM specification recommends that the IV should be 96 bits long, and typically contains bits from a random number generator. Section 8.2 of the specification outlines methods for constructing IVs. Note that the IV does not have to be secret, just unique: so it is OK, for example, to transmit it in the clear alongside the encrypted message.

`additionalData` Optional

An `ArrayBuffer`, a `TypedArray`, or a `DataView`. This contains additional data that will not be encrypted but will be authenticated along with the encrypted data. If `additionalData` is given here then the same data must be given in the corresponding call to `decrypt()`: if the data given to the `decrypt()` call does not match the original data, the decryption will throw an exception. This gives you a way to authenticate associated data without having to encrypt it.

The bit length of `additionalData` must be smaller than `2^64 - 1`.

The `additionalData` property is optional and may be omitted without compromising the security of the encryption operation.

`tagLength` Optional

A `Number`. This determines the size in bits of the authentication tag generated in the encryption operation and used for authentication in the corresponding decryption.

According to the Web Crypto specification this must have one of the following values: 32, 64, 96, 104, 112, 120, or 128. The AES-GCM specification recommends that it should be 96, 104, 112, 120 or 128, although 32 or 64 bits may be acceptable in some applications: Appendix C of the specification provides additional guidance here.

`tagLength` is optional and defaults to 128 if it is not specified.

Examples
--------

See the examples for `SubtleCrypto.encrypt()` and `SubtleCrypto.decrypt()`.

Specifications
--------------

| Specification |
| --- |
| Web Cryptography API # dfn-AesGcmParams |

Browser compatibility
---------------------

Browsers that support the "AES-GCM" algorithm for the `SubtleCrypto.encrypt()`, `SubtleCrypto.decrypt()`, `SubtleCrypto.wrapKey()`, or `SubtleCrypto.unwrapKey()` methods will support this type.

See also
--------

* `SubtleCrypto.encrypt()`.
* `SubtleCrypto.decrypt()`.
* `SubtleCrypto.wrapKey()`.
* `SubtleCrypto.unwrapKey()`.
PresentationAvailability
========================

**Experimental:** **This is an experimental technology**  
Check the Browser compatibility table carefully before using this in production.

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

A **`PresentationAvailability`** object is associated with available presentation displays and represents the *presentation display availability* for a presentation request. If the controlling user agent can monitor the list of available presentation displays in the background (without a pending request to `start()`), the `PresentationAvailability` object *MUST* be implemented in a controlling browsing context.

The `value` attribute *MUST* return the last value it was set to. The value is updated by the monitor the list of available presentation displays algorithm.

The `onchange` attribute is an event handler whose corresponding event handler event type is `change`.

EventTarget

PresentationAvailabilityInstance properties
-------------------

`PresentationAvailability.value` Read only  
Experimental

A boolean value indicating whether the given presentation display is available. The `value` attribute *MUST* return the last value it was set to.

### Event

`change` 
Experimental

Indicates that the availability of the presentation display has changed.

Instance methods
----------------

None.

Specifications
--------------

| Specification |
| --- |
| Presentation API # interface-presentationavailability |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
SVGAnimatedAngle
================

SVG animated angle interface
----------------------------

The `SVGAnimatedAngle` interface is used for attributes of basic type <angle> which can be animated.

### Interface overview

|  |  |
| --- | --- |
| Also implement | *None* |
| Methods | *None* |
| Properties | * readonly `SVGAngle` `baseVal`
* readonly `SVGAngle` `animVal`
 |
| Normative document | SVG 1.1 (2nd Edition) |

Instance properties
-------------------

| Name | Type | Description |
| --- | --- | --- |
| `baseVal` | `SVGAngle` | The base value of the given attribute before applying any animations. |
| `animVal` | `SVGAngle` | 
 A read only `SVGAngle` representing the current
 animated value of the given attribute. If the given attribute is not
 currently being animated, then the `SVGAngle` will
 have the same contents as `baseVal`. The object referenced by
 `animVal` will always be distinct from the one referenced by
 `baseVal`, even when the attribute is not animated.
  |

Instance methods
----------------

The `SVGAnimatedAngle` interface do not provide any specific methods.

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
IDBCursorWithValue
==================

The **`IDBCursorWithValue`** interface of the IndexedDB API represents a cursor for traversing or iterating over multiple records in a database. It is the same as the `IDBCursor`, except that it includes the `value` property.

The cursor has a source that indicates which index or object store it is iterating over. It has a position within the range, and moves in a direction that is increasing or decreasing in the order of record keys. The cursor enables an application to asynchronously process all the records in the cursor's range.

You can have an unlimited number of cursors at the same time. You always get the same `IDBCursorWithValue` object representing a given cursor. Operations are performed on the underlying index or object store.

**Note:** This feature is available in Web Workers

IDBCursor

IDBCursorWithValueInstance methods
----------------

Inherits methods from its parent interface, `IDBCursor`.

Instance properties
-------------------

Inherits properties from its parent interface, `IDBCursor`.

`IDBCursorWithValue.value` Read only 

Returns the value of the current cursor.

Example
-------

In this example we create a transaction, retrieve an object store, then use a cursor to iterate through all the records in the object store. The cursor does not require us to select the data based on a key; we can just grab all of it. Also note that in each iteration of the loop, you can grab data from the current record under the cursor object using `cursor.value.foo`. For a complete working example, see our IDBCursor example (view example live.)


```js
function displayData() {
  const transaction = db.transaction(["rushAlbumList"], "readonly");
  const objectStore = transaction.objectStore("rushAlbumList");

  objectStore.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
      list.appendChild(listItem);

      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}
```

Specifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-idbcursorwithvalue② |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Using IndexedDB
* Starting transactions: `IDBDatabase`
* Using transactions: `IDBTransaction`
* Setting a range of keys: `IDBKeyRange`
* Retrieving and making changes to your data: `IDBObjectStore`
* Using cursors: `IDBCursor`
* Reference example: To-do Notifications (View the example live).
EXT\_color\_buffer\_half\_float extension
=========================================

The **`EXT_color_buffer_half_float`** extension is part of the WebGL API and adds the ability to render to 16-bit floating-point color buffers.

WebGL extensions are available using the `WebGLRenderingContext.getExtension()` method. For more information, see also Using Extensions in the WebGL tutorial.

**Note:** This extension is available to both, WebGL1 and WebGL2 contexts. On WebGL 2, it's an alternative to using the `EXT_color_buffer_float` extension on platforms that support 16-bit floating point render targets but not 32-bit floating point render targets.

The `OES_texture_half_float` extension implicitly enables this extension.

Constants
---------

`ext.RGBA16F_EXT`

RGBA 16-bit floating-point color-renderable format.

`ext.RGB16F_EXT`

RGB 16-bit floating-point color-renderable format.

`ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT`

?

`ext.UNSIGNED_NORMALIZED_EXT`

?

Extended methods
----------------

This extension extends `WebGLRenderingContext.renderbufferStorage()`:

* The `internalformat` parameter now accepts `ext.RGBA16F_EXT` and `ext.RGBA16F_EXT`.
Examples
--------


```js
const ext = gl.getExtension("EXT\_color\_buffer\_half\_float");

gl.renderbufferStorage(gl.RENDERBUFFER, ext.RGBA16F\_EXT, 256, 256);
```

Specifications
--------------

| Specification |
| --- |
| WebGL EXT\_color\_buffer\_half\_float Extension Specification  |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `WebGLRenderingContext.getExtension()`
* `WebGLRenderingContext.renderbufferStorage()`
* `OES_texture_half_float`
XRDepthInformation
==================

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

**Experimental:** **This is an experimental technology**  
Check the Browser compatibility table carefully before using this in production.

The **`XRDepthInformation`** interface contains information about the distance from the user's device to the real-world geometry in the user's environment.

This interface is the parent of:

`XRCPUDepthInformation`

Depth information from the CPU (returned by `XRFrame.getDepthInformation()`).

`XRWebGLDepthInformation`

Depth information from WebGL (returned by `XRWebGLBinding.getDepthInformation()`).

You will usually interact with these child interfaces. However, `XRDepthInformation` provides some useful properties that are inherited:

Instance properties
-------------------

`XRDepthInformation.height` Read only  
Experimental

Contains the height of the depth buffer (number of rows).

`XRDepthInformation.normDepthBufferFromNormView` Read only  
Experimental

An `XRRigidTransform` that needs to be applied when indexing into the depth buffer. The transformation that the matrix represents changes the coordinate system from normalized view coordinates to normalized depth-buffer coordinates that can then be scaled by depth buffer's `width` and `height` to obtain the absolute depth-buffer coordinates.

`XRDepthInformation.rawValueToMeters` Read only  
Experimental

Contains the scale factor by which the raw depth values must be multiplied in order to get the depths in meters.

`XRDepthInformation.width` Read only  
Experimental

Contains the width of the depth buffer (number of columns).

Instance methods
----------------

None.

Examples
--------

See `XRCPUDepthInformation` and `XRWebGLDepthInformation` for code examples.

Specifications
--------------

| Specification |
| --- |
| WebXR Depth Sensing Module # xrdepthinformation |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `XRCPUDepthInformation`
* `XRWebGLDepthInformation`
* `XRFrame.getDepthInformation()`
ChannelMergerNode
=================

The `ChannelMergerNode` interface, often used in conjunction with its opposite, `ChannelSplitterNode`, reunites different mono inputs into a single output. Each input is used to fill a channel of the output. This is useful for accessing each channels separately, e.g. for performing channel mixing where gain must be separately controlled on each channel.

![Default channel merger node with six mono inputs combining to form a single output.](/en-US/docs/Web/API/ChannelMergerNode/webaudiomerger.png)

If `ChannelMergerNode` has one single output, but as many inputs as there are channels to merge; the number of inputs is defined as a parameter of its constructor and the call to `AudioContext.createChannelMerger()`. In the case that no value is given, it will default to `6`.

Using a `ChannelMergerNode`, it is possible to create outputs with more channels than the rendering hardware is able to process. In that case, when the signal is sent to the `AudioContext.listener` object, supernumerary channels will be ignored.

EventTarget

AudioNode

ChannelMergerNode

|  |  |
| --- | --- |
| Number of inputs | variable; default to `6`. |
| Number of outputs | `1` |
| Channel count mode | `"explicit"` |
| Channel count | `2` (not used in the default count mode) |
| Channel interpretation | `"speakers"` |

Constructor
-----------

`ChannelMergerNode()`

Creates a new `ChannelMergerNode` object instance.

Instance properties
-------------------

*No specific property; inherits properties from its parent, `AudioNode`*.

Instance methods
----------------

*No specific method; inherits methods from its parent, `AudioNode`*.

Example
-------

See `BaseAudioContext.createChannelMerger()` for example code.

Specifications
--------------

| Specification |
| --- |
| Web Audio API # ChannelMergerNode |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Using the Web Audio API
HTMLTitleElement
================

The **`HTMLTitleElement`** interface is implemented by a document's `<title>`. This element inherits all of the properties and methods of the `HTMLElement` interface.

EventTarget

Node

Element

HTMLElement

HTMLTitleElementInstance properties
-------------------

*Inherits properties from its parent, `HTMLElement`.*

`HTMLTitleElement.text`

A string representing the text of the document's title.

Instance methods
----------------

*No specific method; inherits methods from its parent, `HTMLElement`.*

Example
-------

Do not confuse: `document.title` with `document.querySelector('title')`

The former is just a setter/getter method to set or get the inner text value of the document title, while the latter is the `HTMLTitleElement` object. So you cannot write: `document.title.text = "Hello world!";`

Instead, you can simply write: `document.title = "Hello world!";` which is an equivalent to `document.querySelector('title').text = "Hello world!";`

Specifications
--------------

| Specification |
| --- |
| HTML Standard # htmltitleelement |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* The HTML element implementing this interface: `<title>`.