The ConstrainBoolean dictionary is used to specify a constraint for a property whose value is a Boolean value. You can specify an exact value which must be matched, an ideal value that should be matched if at all possible, and a fallback value to attempt to match once all more specific constraints have been applied.


A Boolean which indicates a value the property must have.
A Boolean value indicating the ideal, but not required, value the property should ideally have. If possible, this value will be used, but the user agent will use the other value if it needs to in order to come up with a workable configuration.

You can also specify the value of the property as simply true or false, in which case the user agent will use that value if possible once all efforts have been made to match the exact and ideal values for other properties.


Specification Status Comment
Media Capture and Streams
The definition of 'ConstrainBoolean' in that specification.
Candidate Recommendation Initial definition

Technically, ConstrainBoolean is actually based on an intermediary dictionary named ConstrainBooleanParameters, which adds exact and ideal to the simple Boolean type. However, for the sake of documentation clarity, the intermediate type (present only because of quirks in WebIDL syntax) is ignored here.

Browser compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
ConstrainBooleanChrome Full support YesEdge Full support ≤79Firefox Full support 50IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 50Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes


Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown

See also