The ConstrainDOMString dictionary is used to specify a constraint for a property whose value is a string. It allows you to specify one or more exact string values from which one must be the parameter's value, or a set of ideal values which should be used if possible. You can also specify a single string (or an array of strings) which the user agent will do its best to match once all more stringent constraints have been applied.
Properties
The value of a ConstrainDOMString can be any of the following:
- A single DOMString
- An array of DOMStringobjects
- An object with one or both of the following properties:
- exact
- Either a single DOMStringwhich must be the value of the property, or an array ofDOMStringobjects one of which must be the property's value. If the property can't be set to one of the listed values, matching will fail.
- ideal
- Either a single DOMStringor an arrray ofDOMStrings specifying ideal values for the property. If possible, one of the listed values will be used, but if it's not possible, the user agent will use the closest possible match.
Specifications
| Specification | Status | Comment | 
|---|---|---|
| Media Capture and Streams The definition of 'ConstrainDOMString' in that specification. | Editor's Draft | Initial definition | 
Technically, ConstrainDOMString is actually based on an intermediary dictionary named ConstrainDOMStringParameters, which adds exact and ideal to DOMString. However, for the sake of documentation clarity, the intermediate type (present only because of quirks in WebIDL syntax) is ignored here.
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Microsoft Edge | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|---|
| Basic support | (Yes) | 50 (50) | No support | ? | No support | ? | 
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android | 
|---|---|---|---|---|---|---|---|
| Basic support | ? | (Yes) | 50.0 (50) | No support | No support | ? | (Yes) |