Interface BrowserBehavior

interface BrowserBehavior {
    deviceName(): string;
    hasChromiumWebRTC(): boolean;
    hasFirefoxWebRTC(): boolean;
    isSupported(): boolean;
    majorVersion(): number;
    name(): string;
    osName(): string;
    osVersion(): string;
    requiresBundlePolicy(): RTCBundlePolicy;
    requiresCheckForSdpConnectionAttributes(): boolean;
    requiresIceCandidateGatheringTimeoutWorkaround(): boolean;
    requiresNoExactMediaStreamConstraints(): boolean;
    supportedVideoCodecs(): Promise<string[]>;
    supportsCanvasCapturedStreamPlayback(): boolean;
    supportsSetSinkId(): boolean;
    supportString(): string;
    updateWithHighEntropyValues(alwaysOverride: true): Promise<void>;
    version(): string;
}

Hierarchy (View Summary)

Implemented by

Methods

  • Returns whether the browser requires an ICE connection gathering timeout workaround

    Returns boolean

  • Updates internal values using the User-Agent Client Hints API. If the API is not available, resolves without making changes.

    Parameters

    • alwaysOverride: true

      indicates if the values should be updated even if they were already set. Examples of value changes:

      • osName: "Mac OS" → "macOS"
      • osVersion: "10.15" → "15.7.1"
      • browserName: "Chrome" → "Google Chrome"
      • browserVersion: "120.0.0.0" → "120.0.6099.129"

    Returns Promise<void>

    Promise that resolves when update is complete