Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Unified Diff: third_party/WebKit/LayoutTests/shapedetection/detectface-HTMLVideoElement.html

Issue 2455973007: FaceDetection: add support for <video> input (Closed)
Patch Set: xianglu@ comments Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/shapedetection/detectface-HTMLVideoElement.html
diff --git a/third_party/WebKit/LayoutTests/shapedetection/detectface-HTMLVideoElement.html b/third_party/WebKit/LayoutTests/shapedetection/detectface-HTMLVideoElement.html
new file mode 100644
index 0000000000000000000000000000000000000000..7293ad767c99d96d89c9d3e307ba806c311a6732
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/shapedetection/detectface-HTMLVideoElement.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/mojo-helpers.js"></script>
+<script src="resources/mock-shapedetection.js"></script>
+<script>
+
+// This test verifies that FaceDetector.detect works on an HTMLVideoElement.
+// Uses the mock mojo server implemented in mock-shapedetection.js.
+async_test(function(t) {
+ var video = document.createElement('video');
+ video.src = "../imported/wpt/media/white.webm";
+ video.loop = true;
+ video.autoplay = true;
+ video.onerror = this.unreached_func("<video> error");
+ video.onplay = this.step_func(function() {
+ var theMock = null;
+ mockShapeDetectionReady
+ .then(mock => {
+ theMock = mock;
+ return new FaceDetector();
+ })
+ .catch(error => {
+ assert_unreached("Error creating MockShapeDetection: " + error);
+ })
+ .then(detector => {
+ return detector.detect(video);
+ })
+ .then(faceDetectionResult => {
+ const imageReceivedByMock = theMock.getFrameData();
+ assert_equals(imageReceivedByMock.byteLength, 307200,
+ "Image length");
+ const WHITE_PIXEL = 0xFFFFFFFF;
+ assert_equals(imageReceivedByMock[0], WHITE_PIXEL, "Pixel color");
+ assert_equals(faceDetectionResult.length, 3, "Number of faces");
+ t.done();
+ })
+ .catch(error => {
+ assert_unreached("Error during detect(img): " + error);
+ });
+ });
+
+ video.load();
+
+}, 'exercises the ShapeDetection API detect(HTMLVideoElement)');
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698