mirror of
https://github.com/servo/servo.git
synced 2025-10-03 18:19:14 +01:00
75 lines
2.5 KiB
HTML
75 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body>
|
|
<canvas id='canvas' width=10 height=10/>
|
|
</body>
|
|
<script>
|
|
|
|
const constraints = { whiteBalanceMode : "manual",
|
|
exposureMode : "continuous",
|
|
focusMode : "single-shot",
|
|
|
|
exposureCompensation : 133.77,
|
|
colorTemperature : 6000,
|
|
iso : 120.0,
|
|
|
|
brightness : 3,
|
|
contrast : 4,
|
|
saturation : 5,
|
|
sharpness : 6,
|
|
focusDistance : 7,
|
|
|
|
zoom : 3.141592
|
|
// TODO: torch https://crbug.com/700607.
|
|
};
|
|
|
|
var canvas = document.getElementById('canvas');
|
|
var context = canvas.getContext("2d");
|
|
context.fillStyle = "red";
|
|
context.fillRect(0, 0, 10, 10);
|
|
|
|
// These tests verify that MediaStreamTrack.getConstraints() exists and that,
|
|
// returns the constraints passed beforehand with applyConstraints.
|
|
var makeAsyncTest = function(c) {
|
|
async_test(function(t) {
|
|
var stream = canvas.captureStream();
|
|
var videoTrack = stream.getVideoTracks()[0];
|
|
|
|
const constraintsIn = { advanced : [ c ]};
|
|
|
|
// Method applyConstraints() will fail since there is no Image Capture
|
|
// service in this Layout Test, but |constraintsIn| should be cached.
|
|
videoTrack.applyConstraints(constraintsIn)
|
|
.then(() => { /* ignore */ })
|
|
.catch((e) => { /* ignore */ })
|
|
.then(() => {
|
|
const constraintsOut = videoTrack.getConstraints();
|
|
assert_object_equals(constraintsOut, constraintsIn, "constraints");
|
|
t.done();
|
|
});
|
|
|
|
// Clear constraints by sending an empty constraint set.
|
|
videoTrack.applyConstraints({})
|
|
.then(() => {
|
|
const constraintsOut = videoTrack.getConstraints();
|
|
assert_object_equals(constraintsOut, {}, "constraints");
|
|
t.done();
|
|
});
|
|
});
|
|
};
|
|
|
|
// Send each line of |constraints| in turn and then the whole dictionary.
|
|
for (key in constraints) {
|
|
var one_constraint = {};
|
|
one_constraint[key] = constraints[key];
|
|
generate_tests(
|
|
makeAsyncTest,
|
|
[[ 'MediaStreamTrack.getConstraints(), key: ' + key, one_constraint ]]);
|
|
}
|
|
|
|
generate_tests(makeAsyncTest, [[
|
|
'MediaStreamTrack.getConstraints(), complete ', constraints
|
|
]]);
|
|
|
|
</script>
|