Index: third_party/WebKit/LayoutTests/fast/imagecapture/MediaStreamTrack-getConstraints.html |
diff --git a/third_party/WebKit/LayoutTests/fast/imagecapture/MediaStreamTrack-getConstraints.html b/third_party/WebKit/LayoutTests/fast/imagecapture/MediaStreamTrack-getConstraints.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c2b604a357d0227b2a65bf06821d2ea35d57f8e9 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/imagecapture/MediaStreamTrack-getConstraints.html |
@@ -0,0 +1,67 @@ |
+<!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, |
+ |
+ 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(); |
+ }); |
+ |
+ }); |
+}; |
+ |
+// 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> |