mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-03-19 19:50:52 +00:00
* Try to enable all webidls * Separate out unavailable webidl files by reason. * Create record of fully tested WebIDL files * Update notes to reflect new situation with web-idl * Make a blank ident fail, disable the necessary widls. It turns out that all the blank idents came from blank enum variants, which is allowed in webidl apparently.
102 lines
3.3 KiB
Plaintext
Vendored
102 lines
3.3 KiB
Plaintext
Vendored
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this IDL file is
|
|
* http://dev.w3.org/2011/webrtc/editor/getusermedia.html
|
|
*
|
|
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
|
* liability, trademark and document use rules apply.
|
|
*/
|
|
|
|
// These two enums are in the spec even though they're not used directly in the
|
|
// API due to https://www.w3.org/Bugs/Public/show_bug.cgi?id=19936
|
|
// Their binding code is used in the implementation.
|
|
|
|
enum VideoFacingModeEnum {
|
|
"user",
|
|
"environment",
|
|
"left",
|
|
"right"
|
|
};
|
|
|
|
enum MediaSourceEnum {
|
|
"camera",
|
|
"screen",
|
|
"application",
|
|
"window",
|
|
"browser",
|
|
"microphone",
|
|
"audioCapture",
|
|
"other"
|
|
// If values are added, adjust n_values in Histograms.json (2 places)
|
|
};
|
|
|
|
typedef (long or ConstrainLongRange) ConstrainLong;
|
|
typedef (double or ConstrainDoubleRange) ConstrainDouble;
|
|
typedef (boolean or ConstrainBooleanParameters) ConstrainBoolean;
|
|
typedef (DOMString or sequence<DOMString> or ConstrainDOMStringParameters) ConstrainDOMString;
|
|
|
|
// Note: When adding new constraints, remember to update the SelectSettings()
|
|
// function in MediaManager.cpp to make OverconstrainedError's constraint work!
|
|
|
|
dictionary MediaTrackConstraintSet {
|
|
ConstrainLong width;
|
|
ConstrainLong height;
|
|
ConstrainDouble frameRate;
|
|
ConstrainDOMString facingMode;
|
|
DOMString mediaSource = "camera";
|
|
long long browserWindow;
|
|
boolean scrollWithPage;
|
|
ConstrainDOMString deviceId;
|
|
ConstrainLong viewportOffsetX;
|
|
ConstrainLong viewportOffsetY;
|
|
ConstrainLong viewportWidth;
|
|
ConstrainLong viewportHeight;
|
|
ConstrainBoolean echoCancellation;
|
|
ConstrainBoolean noiseSuppression;
|
|
ConstrainBoolean autoGainControl;
|
|
ConstrainLong channelCount;
|
|
|
|
// Deprecated with warnings:
|
|
ConstrainBoolean mozNoiseSuppression;
|
|
ConstrainBoolean mozAutoGainControl;
|
|
};
|
|
|
|
dictionary MediaTrackConstraints : MediaTrackConstraintSet {
|
|
sequence<MediaTrackConstraintSet> advanced;
|
|
};
|
|
|
|
enum MediaStreamTrackState {
|
|
"live",
|
|
"ended"
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface MediaStreamTrack : EventTarget {
|
|
readonly attribute DOMString kind;
|
|
readonly attribute DOMString id;
|
|
[NeedsCallerType]
|
|
readonly attribute DOMString label;
|
|
attribute boolean enabled;
|
|
readonly attribute boolean muted;
|
|
attribute EventHandler onmute;
|
|
attribute EventHandler onunmute;
|
|
readonly attribute MediaStreamTrackState readyState;
|
|
attribute EventHandler onended;
|
|
MediaStreamTrack clone ();
|
|
void stop ();
|
|
// MediaTrackCapabilities getCapabilities ();
|
|
MediaTrackConstraints getConstraints ();
|
|
[NeedsCallerType]
|
|
MediaTrackSettings getSettings ();
|
|
|
|
[Throws, NeedsCallerType]
|
|
Promise<void> applyConstraints (optional MediaTrackConstraints constraints);
|
|
// attribute EventHandler onoverconstrained;
|
|
|
|
[ChromeOnly]
|
|
void mutedChanged(boolean muted);
|
|
};
|