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

Side by Side Diff: LayoutTests/media/track/regions-webvtt/text-track-region-display.html

Issue 25798003: Enable WebVTT regions for runtime testing, updated tests and minor fixes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 7 years, 2 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
6 <script src=../../media-controls.js></script>
7 <script src=../../media-file.js></script>
8 <script src=../../video-test.js></script>
9 <script>
10 var testTrack;
11 var region;
12 var container;
13 var totalVisibleLines;
14
15 var seekTimes = [0.2, 0.5, 1.0, 2.3, 3.0];
16 var crtSeekTime = 0;
17
18 function countVisibleLines(cueElement)
19 {
20 var cueRect = cueElement.getBoundingClientRect();
21 var regionRect = region.getBoundingClientRect();
22
23 var linesMatch = cueElement.textContent.match(/\n/g);
24 var linesCount = 1 + (linesMatch == null ? 0 : linesMatch.length);
25 var lineHeight = cueRect.height / linesCount;
26
27 var visibleLines = 0;
28 for (i = 0; i < linesCount; ++i) {
29 var lineTop = cueRect.top + i * lineHeight;
30 var lineBottom = cueRect.top + (i+1) * lineHeight;
31
32 if (lineTop >= regionRect.top && lineBottom <= regionRect.bottom)
33 visibleLines++;
34 }
35
36 return visibleLines;
37 }
38
39 function testRegionsDisplay()
40 {
41 testTrack = video.textTracks[0];
42
43 consoleWrite("** The text track has only one region **");
44 testExpected("testTrack.regions.length", 1);
45
46 try {
47 region = textTrackDisplayElement(video, 'region');
48 container = textTrackDisplayElement(video, 'region-container');
49 } catch(e) {
50 consoleWrite(e);
51 }
52
53 consoleWrite("<br>** Inspecting cues displayed within region**");
54
55 waitForEvent("seeked", inspectRegionTree);
56 seekVideo();
57 }
58
59 function seekVideo()
60 {
61 consoleWrite("");
62 run("video.currentTime = " + seekTimes[crtSeekTime++]);
63 }
64
65 function inspectRegionTree()
66 {
67 consoleWrite("Total cues in region: " + container.children.length);
68 totalVisibleLines = 0;
69
70 for (var i = 0; i < container.children.length; ++i) {
71 var cue = container.children[i];
72 var cueVisibleLines = countVisibleLines(cue);
73 consoleWrite("Cue content is: " + cue.textContent);
74 consoleWrite("Cue lines visible from this cue: " + cueVisibleLin es);
75
76 totalVisibleLines += cueVisibleLines;
77 }
78
79 testExpected("totalVisibleLines <= testTrack.regions[0].height", tru e);
80
81 if (crtSeekTime == seekTimes.length)
82 endTest();
83 else
84 seekVideo();
85 }
86
87 function startTest()
88 {
89 if (!window.TextTrackRegion) {
90 failTest();
91 return;
92 }
93
94 findMediaElement();
95
96 video.src = findMediaFile('video', '../../content/test');
97 waitForEvent('canplaythrough', testRegionsDisplay);
98 }
99
100 </script>
101 </head>
102 <body>
103 <p>Tests default rendering for TextTrackCues that belong to a TextTrackR egion.</p>
104 <video controls>
105 <track src="../captions-webvtt/captions-regions.vtt" kind="captions" default onload="startTest()">
106 </video>
107 </body>
108 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698