The concepts and networking task source are defined in [].

    The concept fire an event is defined in [].

    The terms event, and event handler event types are defined in [].

    Performance. and Performance.() are defined in [hr-time].

    The terms , serialization steps, and are defined in [HTML].

    The term is defined in [FILEAPI].

    The term media description is defined in [].

    The term media transport is defined in [RFC7656].

    The term generation is defined in [] Section 2.

    The terms stats object and are defined in [WEBRTC-STATS].

    The callback is defined in [WEBIDL].

    The term “throw” is used as specified in []: 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 [].

    The AlgorithmIdentifier is defined in [].

    The general principles for Javascript APIs apply, including the principle of run-to-completion and no-data-races as defined in []. 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.