3. Terminology
The EventHandler
interface, representing a callback used for event handlers, is defined in [HTML].
The concepts queue a task and networking task source are defined in [HTML].
The concept fire an event is defined in [DOM].
The terms event, event handlers and event handler event types are defined in [HTML].
Performance
.timeOrigin
and Performance
.now
()
are defined in [hr-time].
The terms serializable objects, serialization steps, and deserialization steps are defined in [HTML].
The terms MediaStream
, MediaStreamTrack
, and MediaStreamConstraints
are defined in [GETUSERMEDIA]. Note that MediaStream
is extended in § 9.2 MediaStream in this document while MediaStreamTrack
is extended in § 9.3 MediaStreamTrack in this document.
The term Blob
is defined in [FILEAPI].
The term media description is defined in [RFC4566].
The term media transport is defined in [RFC7656].
The term generation is defined in [RFC8838] Section 2.
The terms stats object and monitored object are defined in [WEBRTC-STATS].
When referring to exceptions, the terms throw and created are defined in [WEBIDL].
The callback VoidFunction
is defined in [WEBIDL].
The term “throw” is used as specified in [INFRA]: it terminates the current processing steps.
The terms fulfilled, rejected, resolved, pending and settled used in the context of Promises are defined in [ECMASCRIPT-6.0].
The terms bundle, bundle-only and bundle-policy are defined in [RFC8829].
The AlgorithmIdentifier is defined in [WebCryptoAPI].
Note
The general principles for Javascript APIs apply, including the principle of run-to-completion and no-data-races as defined in [API-DESIGN-PRINCIPLES]. That is, while a task is running, external events do not influence what’s visible to the Javascript application. For example, the amount of data buffered on a data channel will increase due to “send” calls while Javascript is executing, and the decrease due to packets being sent will be visible after a task checkpoint.
It is the responsibility of the user agent to make sure the set of values presented to the application is consistent - for instance that getContributingSources() (which is synchronous) returns values for all sources measured at the same time.