recursal/MDN huggingface dataset:
EXT\_disjoint\_timer\_query: getQueryEXT() method
=================================================

 The **`EXT_disjoint_timer_query.getQueryEXT()`** method of the
 WebGL API returns information about a query
 target.

Syntax
------


```js
getQueryEXT(target, pname)
```

### Parameters

`target`

 A `GLenum` specifying the target of the time query. Must be
 `ext.TIMESTAMP_EXT` or `ext.TIME_ELAPSED_EXT`.


`pname`

 A `GLenum` specifying which information to return. Must be
 `ext.CURRENT_QUERY_EXT` or `ext.QUERY_COUNTER_BITS_EXT`.


### Return value

Depends on `pname`:

* If `pname` is `ext.CURRENT_QUERY_EXT`: A
 `WebGLQuery` object, which is the currently active query for the
 given target.
* If `pname` is `ext.QUERY_COUNTER_BITS_EXT`: A
 `GLint` indicating the number of bits used to hold the query result for
 the given target.
Examples
--------


```js
const ext = gl.getExtension("EXT\_disjoint\_timer\_query");
const startQuery = ext.createQueryEXT();
ext.queryCounterEXT(startQuery, ext.TIMESTAMP\_EXT);

const currentQuery = ext.getQueryEXT(ext.TIMESTAMP\_EXT, ext.CURRENT\_QUERY\_EXT);
```

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

| Specification |
| --- |
| WebGL EXT\_disjoint\_timer\_query Extension Specification  |

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

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

See also
--------

* `WebGLRenderingContext.getExtension()`
* `WebGLQuery`
* `EXT_disjoint_timer_query`
EXT\_disjoint\_timer\_query: getQueryObjectEXT() method
=======================================================

 The **`EXT_disjoint_timer_query.getQueryObjectEXT()`** method
 of the WebGL API returns the state of a
 query object.

Syntax
------


```js
getQueryObjectEXT(query, pname)
```

### Parameters

`query`

A `WebGLQuery` object from which to return information.

`pname`

 A `GLenum` specifying which information to return. Must be
 `ext.QUERY_RESULT_EXT` or `ext.QUERY_RESULT_AVAILABLE_EXT`.


### Return value

Depends on `pname`:

* If `pname` is `ext.QUERY_RESULT_EXT`: A
 `GLuint64EXT` containing the query result.
* If `pname` is `ext.QUERY_RESULT_AVAILABLE_EXT`: A
 `GLboolean` indicating whether or not a query result is available.
Examples
--------


```js
const ext = gl.getExtension("EXT\_disjoint\_timer\_query");
const query = ext.createQueryEXT();
ext.beginQueryEXT(ext.TIME\_ELAPSED\_EXT, query);

// Draw
ext.endQueryEXT(ext.TIME\_ELAPSED\_EXT);

// At some point in the future, after returning control to the browser
const available = ext.getQueryObjectEXT(query, ext.QUERY\_RESULT\_AVAILABLE\_EXT);
const disjoint = gl.getParameter(ext.GPU\_DISJOINT\_EXT);

if (available && !disjoint) {
  // See how much time the rendering of the object took in nanoseconds.
  const timeElapsed = ext.getQueryObjectEXT(query, ext.QUERY\_RESULT\_EXT);
}
```

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

| Specification |
| --- |
| WebGL EXT\_disjoint\_timer\_query Extension Specification  |

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

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

See also
--------

* `WebGLRenderingContext.getExtension()`
* `WebGLQuery`
* `EXT_disjoint_timer_query`
EXT\_disjoint\_timer\_query: isQueryEXT() method
================================================

 The **`EXT_disjoint_timer_query.isQueryEXT()`** method of the
 WebGL API returns `true` if the
 passed object is a `WebGLQuery` object.

Syntax
------


```js
isQueryEXT(query)
```

### Parameters

`query`

A `WebGLQuery` object to test.

### Return value

 A `GLboolean` indicating whether the given object is a
 `WebGLQuery` object (`true`) or not
 (`false`).

Examples
--------


```js
const ext = gl.getExtension("EXT\_disjoint\_timer\_query");
const query = ext.createQueryEXT();

// …

ext.isQueryEXT(query);
```

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

| Specification |
| --- |
| WebGL EXT\_disjoint\_timer\_query Extension Specification  |

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

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

See also
--------

* `WebGLRenderingContext.getExtension()`
* `WebGLQuery`
* `EXT_disjoint_timer_query`
RTCRtpTransceiver: mid property
===============================

 The read-only `RTCRtpTransceiver` interface's
 **`mid`** property specifies the negotiated media ID
 (`mid`) which the local and remote peers have agreed upon to uniquely
 identify the stream's pairing of sender and receiver.

Value
-----

 A string which uniquely identifies the pairing of source and
 destination of the transceiver's stream. Its value is taken from the media ID of the SDP
 m-line. This value is `null` if negotiation has not completed.

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

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtptransceiver-mid |

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

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

See also
--------

* Introduction to the Real-time Transport Protocol (RTP)
RTCRtpTransceiver: stop() method
================================

 The **`stop()`** method in the `RTCRtpTransceiver` interface permanently stops the transceiver by stopping both the associated `RTCRtpSender` and
 `RTCRtpReceiver`.

Syntax
------


```js
stop()
```

### Parameters

None.

### Return value

None (`undefined`).

### Exceptions

`InvalidStateError` `DOMException`

Thrown if the `RTCPeerConnection`, of which the transceiver is a member, is closed.

Description
-----------

 When you call `stop()` on a transceiver, the sender immediately stops sending media and each of its RTP streams are closed using the RTCP `"BYE"` message.
 The receiver then stops receiving media; the receiver's `track` is stopped, and the transceiver's `direction` is changed to `stopped`.
 Renegotiation is triggered by sending a `negotiationneeded` event to the transceiver's `RTCPeerConnection`, so that the connection can adapt to the change.

 The method does nothing if the transceiver is already stopped.
 You can check whether it has stopped by comparing `currentDirection` to `"stopped"`.

**Note:** Earlier versions of the specification used the deprecated `stopped` 
Deprecated
 property to indicate if the transceiver has stopped.

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

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtcrtptransceiver-stop |

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

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

See also
--------

* WebRTC API
* Introduction to the Real-time Transport Protocol (RTP)
* `MediaStreamTrack`
RTCRtpTransceiver: stopped property
===================================

**Deprecated:** 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 the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

**Note:** Instead of using this deprecated property, compare `currentDirection` to `"stopped"`.

The read-only **`stopped`** property on the `RTCRtpTransceiver` interface indicates whether or not the transceiver's associated sender and receiver have both been stopped.

The transceiver is stopped if the `stop()` method has been called or if a change to either the local or the remote description has caused the transceiver to be stopped for some reason.

Value
-----

 A Boolean value which is `true` if the transceiver's
 `sender` will no longer send data, and its
 `receiver` will no longer receive data. If
 either or both are still at work, the result is `false`.

Usage notes
-----------

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

This feature is not part of any current specification. It is no longer on track to become a standard.

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

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

See also
--------

* WebRTC API
* Introduction to the Real-time Transport Protocol (RTP)
RTCRtpTransceiver: sender property
==================================

 The read-only **`sender`** property
 of WebRTC's `RTCRtpTransceiver` interface indicates the
 `RTCRtpSender` responsible for encoding and sending outgoing media data
 for the transceiver's stream.

Value
-----

 An `RTCRtpSender` object used to encode and send media whose media ID
 matches the current value of `mid`.

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

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtcrtptransceiver-sender |

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

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

See also
--------

* Introduction to the Real-time Transport Protocol (RTP)
* `RTCRtpSender`
RTCRtpTransceiver: currentDirection property
============================================

The read-only `RTCRtpTransceiver` property **`currentDirection`** is a string which indicates the current negotiated directionality of the transceiver.

The directionality indicates whether the transceiver will offer to send and/or receive RTP data, or whether it is inactive or stopped and won't send or receive data.

 The transceiver's preferred directionality can be set and read using the `direction` property.
 Changing the `direction` triggers a renegotiation, which may eventually result in the `currentDirection` also changing.

Value
-----

The value is initially `null`, prior to negotiation using an offer/answer.

After negotiation the value is a string with one of the following values:

`"sendrecv"`

Transceiver offers to send and receive RTP data:

* `RTCRtpSender`: Offers to send RTP data, and will do so if the remote peer accepts the connection and at least one of the sender's encodings is active.
* `RTCRtpReceiver`: Offers to receive RTP data, and does so if the remote peer accepts.

`"sendonly"`

Transceiver offers to send but not receive RTP data:

* `RTCRtpSender`: Offers to send RTP data, and will do so if the remote peer accepts the connection and at least one of the sender's encodings is active.
* `RTCRtpReceiver`: Does *not* offer to receive RTP data and will not do so.

`"recvonly"`

Transceiver offers to receive but not set RTP data:

* `RTCRtpSender`: Does *not* offer to send RTP data, and will not do so.
* `RTCRtpReceiver`: Offers to receive RTP data, and will do so if the remote peer offers.

`"inactive"`

Transceiver is inactive:

* `RTCRtpSender`: Does *not* offer to send RTP data, and will not do so.
* `RTCRtpReceiver`: Does *not* offer to receive RTP data and will not do so.

`"stopped"`

 This is the terminal state of the transceiver.
 The transceiver is stopped and will not send or receive RTP data or offer to do so.


* `RTCRtpSender`: Does *not* offer to send RTP data, and will not do so.
* `RTCRtpReceiver`: Does *not* offer to receive RTP data and will not do so.

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

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtcrtptransceiver-currentdirection |

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

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

See also
--------

* `RTCRtpTransceiver.direction`
RTCRtpTransceiver: receiver property
====================================

 The read-only **`receiver`** property
 of WebRTC's `RTCRtpTransceiver` interface indicates the
 `RTCRtpReceiver` responsible for receiving and decoding incoming media
 data for the transceiver's stream.

Value
-----

 An `RTCRtpReceiver` object which is responsible for receiving and decoding
 incoming media data whose media ID is the same as the current value of
 `mid`.

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

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtcrtptransceiver-receiver |

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

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

See also
--------

* Introduction to the Real-time Transport Protocol (RTP)
* `RTCRtpReceiver`
WorkerLocation: toString() method
=================================

The **`toString()`** stringifier method of a `WorkerLocation` object returns a string containing the serialized `URL` for the worker's location. It is a synonym for `WorkerLocation.href`.

Syntax
------


```js
toString()
```

### Parameters

None.

### Return value

None (`undefined`).

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web
const result = location.toString(); // Returns 'https://developer.mozilla.org/en-US/docs/Web'
```

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: hash property
=============================

The **`hash`** property of a `WorkerLocation` object returns the `hash` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/hash#examples
const result = location.hash; // Returns '#examples'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-hash |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: pathname property
=================================

The **`pathname`** property of a `WorkerLocation` object returns the `pathname` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web
const result = location.pathname; // Returns '/en-US/docs/Web'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-pathname |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: protocol property
=================================

The **`protocol`** property of a `WorkerLocation` object returns the `protocol` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web
const result = location.protocol; // Returns 'https:'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-protocol |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: origin property
===============================

The **`origin`** property of a `WorkerLocation` object returns the worker's `origin`.

Value
-----

A string.

Examples
--------


```js
// On this page, returns the origin
const result = self.location.origin; // Returns:'https://developer.mozilla.org:443'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-origin |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: host property
=============================

The **`host`** property of a `WorkerLocation` object returns the `host` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page http://localhost:8080/
const result = location.host; // Returns 'localhost:8080'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-host |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: port property
=============================

The **`port`** property of a `WorkerLocation` object returns the `port` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page http://localhost:8080/
const result = location.port; // Returns '8080'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-port |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: hostname property
=================================

The **`hostname`** property of a `WorkerLocation` object returns the `hostname` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page http://localhost:8080/
const result = location.hostname; // Returns 'localhost'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-hostname |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: search property
===============================

The **`search`** property of a `WorkerLocation` object returns the `search` part of the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web?t=67
const result = location.search; // Returns:'?t=67'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-search |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
WorkerLocation: href property
=============================

The **`href`** property of a `WorkerLocation` object returns a string containing the serialized `URL` for the worker's location.

Value
-----

A string.

Examples
--------


```js
// In a Web worker, on the page https://developer.mozilla.org/en-US/docs/Web
const result = location.href; // Returns 'https://developer.mozilla.org/en-US/docs/Web'
```

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

| Specification |
| --- |
| HTML Standard # dom-workerlocation-href |

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

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

See also
--------

* The `WorkerLocation` interface it belongs to.
ClipboardEvent: ClipboardEvent() constructor
============================================

The **`ClipboardEvent()`** constructor returns a new `ClipboardEvent`, representing an event providing information related to modification of the clipboard, that is `cut`, `copy`, and `paste` events.

Syntax
------


```js
new ClipboardEvent(type)
new ClipboardEvent(type, options)
```

### Parameters

`type`

 A string with the name of the type of the `ClipboardEvent`.
 It is case-sensitive and browsers set it to `copy`, `cut`, or `paste`.


`options` Optional

An object that, *in addition of the properties defined in `Event()`*, has the following properties:

`clipboardData` Optional

A `DataTransfer` object containing the data concerned by the clipboard event. It defaults to `null`.

`dataType` 
Non-standard
 Optional

A string containing the MIME-type of the data contained in the `data` argument. It defaults to `""`.

`data` 
Non-standard
 Optional

A string containing the data concerned by the clipboard event. It defaults to `""`.


### Return value

A new `ClipboardEvent` object.

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

| Specification |
| --- |
| Clipboard API and events # dom-clipboardevent-clipboardevent |

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

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

See also
--------

* Copy-related events: `copy`, `cut`, `paste`
* The `ClipboardEvent` interface it belongs to.
* Clipboard API
ClipboardEvent: clipboardData property
======================================

The **`clipboardData`** property of the `ClipboardEvent` interface holds a `DataTransfer` object, which can be used to:

* specify what data should be put into the clipboard from the `cut` and `copy` event handlers, typically with a `setData(format, data)` call;
* obtain the data to be pasted from the `paste` event handler, typically with a `getData(format)` call.

See the `cut`, `copy`, and `paste` events documentation for more information.

Value
-----

A `DataTransfer` object.

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

| Specification |
| --- |
| Clipboard API and events # clipboardevent-clipboarddata |

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

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

See also
--------

* Copy-related events: `copy`, `cut`, `paste`
* The `ClipboardEvent` interface it belongs to.
* Clipboard API
GPUUncapturedErrorEvent: GPUUncapturedErrorEvent() constructor
==============================================================

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

 The **`GPUUncapturedErrorEvent()`** constructor creates a new
 `GPUUncapturedErrorEvent` object instance.

Syntax
------


```js
new GPUUncapturedErrorEvent(type, options)
```

### Parameters

`type`

An enumerated value specifying the type of error. Possible values are:

`"internal"`

The error is a `GPUInternalError`.

`"out-of-memory"`

The error is a `GPUOutOfMemoryError`.

`"validation"`

The error is a `GPUValidationError`.


`options`

An object, which can contain the following properties:

`error`

A `GPUError` object instance providing access to the details of the error.


Examples
--------

A developer would not manually use the constructor to create a `GPUUncapturedErrorEvent` object. The user agent uses this constructor to create an appropriate object when the `GPUDevice` `uncapturederror` event fires to allow capturing of an unexpected error.

See the main `GPUUncapturedErrorEvent` page for an example.

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

| Specification |
| --- |
| WebGPU # dom-gpuuncapturederrorevent-gpuuncapturederrorevent |

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

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

See also
--------

* The WebGPU API
* WebGPU Error Handling best practices
GPUUncapturedErrorEvent: error property
=======================================

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

 The **`error`** read-only property of the
 `GPUUncapturedErrorEvent` interface is a `GPUError` object instance providing access to the details of the error.

Value
-----

A `GPUError` object instance.

Examples
--------

See the main `GPUUncapturedErrorEvent` page for an example.

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

| Specification |
| --- |
| WebGPU # dom-gpuuncapturederroreventinit-error |

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

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

See also
--------

* The WebGPU API
* WebGPU Error Handling best practices