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

Side by Side Diff: LayoutTests/http/tests/media/media-source/mediasource-config-changes.js

Issue 103913010: Add new "resize" event to HTMLMediaElement. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years 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
OLDNEW
1 // Extract & return the resolution string from a filename, if any.
2 function resolutionFromFilename(filename) {
vsevik 2013/12/13 13:04:43 nit: { on the next line
Ami GONE FROM CHROMIUM 2013/12/13 17:48:43 Done.
3 resolution = filename.replace(/^.*[^0-9]([0-9]+x[0-9]+)[^0-9].*$/, "$1");
4 if (resolution != filename) {
5 return resolution;
vsevik 2013/12/13 13:04:43 nit: 4 spaces indent
Ami GONE FROM CHROMIUM 2013/12/13 17:48:43 Done.
6 }
7 return "";
8 }
9
1 function appendBuffer(test, sourceBuffer, data) 10 function appendBuffer(test, sourceBuffer, data)
2 { 11 {
3 test.expectEvent(sourceBuffer, "update"); 12 test.expectEvent(sourceBuffer, "update");
4 test.expectEvent(sourceBuffer, "updateend"); 13 test.expectEvent(sourceBuffer, "updateend");
5 sourceBuffer.appendBuffer(data); 14 sourceBuffer.appendBuffer(data);
6 } 15 }
7 16
8 function mediaSourceConfigChangeTest(directory, idA, idB, description) 17 function mediaSourceConfigChangeTest(directory, idA, idB, description)
9 { 18 {
10 var manifestFilenameA = directory + "/test-" + idA + "-manifest.json"; 19 var manifestFilenameA = directory + "/test-" + idA + "-manifest.json";
11 var manifestFilenameB = directory + "/test-" + idB + "-manifest.json"; 20 var manifestFilenameB = directory + "/test-" + idB + "-manifest.json";
12 mediasource_test(function(test, mediaElement, mediaSource) 21 mediasource_test(function(test, mediaElement, mediaSource)
13 { 22 {
14 mediaElement.pause(); 23 mediaElement.pause();
15 test.failOnEvent(mediaElement, 'error'); 24 test.failOnEvent(mediaElement, 'error');
16 test.endOnEvent(mediaElement, 'ended'); 25 test.endOnEvent(mediaElement, 'ended');
26 var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != re solutionFromFilename(manifestFilenameB);
27 var expectedResizeEventCount = 0;
17 28
18 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(t ypeA, dataA) 29 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(t ypeA, dataA)
19 { 30 {
20 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameB, functi on(typeB, dataB) 31 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameB, functi on(typeB, dataB)
21 { 32 {
22 assert_equals(typeA, typeB, "Media format types match"); 33 assert_equals(typeA, typeB, "Media format types match");
23 34
24 var sourceBuffer = mediaSource.addSourceBuffer(typeA); 35 var sourceBuffer = mediaSource.addSourceBuffer(typeA);
25 36
26 appendBuffer(test, sourceBuffer, dataA); 37 appendBuffer(test, sourceBuffer, dataA);
27 38
28 test.waitForExpectedEvents(function() 39 test.waitForExpectedEvents(function()
29 { 40 {
30 // Add the second buffer starting at 0.5 second. 41 // Add the second buffer starting at 0.5 second.
31 sourceBuffer.timestampOffset = 0.5; 42 sourceBuffer.timestampOffset = 0.5;
32 appendBuffer(test, sourceBuffer, dataB); 43 appendBuffer(test, sourceBuffer, dataB);
44 ++expectedResizeEventCount;
33 }); 45 });
34 46
35 test.waitForExpectedEvents(function() 47 test.waitForExpectedEvents(function()
36 { 48 {
37 // Add the first buffer starting at 1 second. 49 // Add the first buffer starting at 1 second.
38 sourceBuffer.timestampOffset = 1; 50 sourceBuffer.timestampOffset = 1;
39 appendBuffer(test, sourceBuffer, dataA); 51 appendBuffer(test, sourceBuffer, dataA);
52 ++expectedResizeEventCount;
40 }); 53 });
41 54
42 test.waitForExpectedEvents(function() 55 test.waitForExpectedEvents(function()
43 { 56 {
44 // Add the second buffer starting at 1.5 second. 57 // Add the second buffer starting at 1.5 second.
45 sourceBuffer.timestampOffset = 1.5; 58 sourceBuffer.timestampOffset = 1.5;
46 appendBuffer(test, sourceBuffer, dataB); 59 appendBuffer(test, sourceBuffer, dataB);
60 ++expectedResizeEventCount;
47 }); 61 });
48 62
49 test.waitForExpectedEvents(function() 63 test.waitForExpectedEvents(function()
50 { 64 {
51 // Truncate the presentation to a duration of 2 seconds. 65 // Truncate the presentation to a duration of 2 seconds.
52 mediaSource.duration = 2; 66 mediaSource.duration = 2;
53 mediaSource.endOfStream(); 67 mediaSource.endOfStream();
54 68
69 if (mediaElementForResizeExpectation) {
acolwell GONE FROM CHROMIUM 2013/12/13 15:58:12 This doesn't appear to be defined anywhere. I'm as
Ami GONE FROM CHROMIUM 2013/12/13 17:48:43 Done. (had to rework this bit a bit to get the tes
70 for (var i = 0; i < expectedResizeEventCount; ++i) {
71 test.expectEvent(mediaElement, "resize");
72 }
73 }
74
55 mediaElement.play(); 75 mediaElement.play();
56 }); 76 });
57 }); 77 });
58 }); 78 });
59 }, description, { timeout: 10000 } ); 79 }, description, { timeout: 10000 } );
60 }; 80 };
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/media/video-frame-size-change.html » ('j') | LayoutTests/media/video-frame-size-change.html » ('J')

Powered by Google App Engine
This is Rietveld 408576698