Index: LayoutTests/http/tests/media/media-source/mediasource-config-changes.js |
diff --git a/LayoutTests/http/tests/media/media-source/mediasource-config-changes.js b/LayoutTests/http/tests/media/media-source/mediasource-config-changes.js |
index f8342480abda2e6d22a6d7d04e4056a69a0bc711..b24ac9f4be935bdeb80d65b228e3cea6c1569fca 100644 |
--- a/LayoutTests/http/tests/media/media-source/mediasource-config-changes.js |
+++ b/LayoutTests/http/tests/media/media-source/mediasource-config-changes.js |
@@ -1,3 +1,12 @@ |
+// Extract & return the resolution string from a filename, if any. |
+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.
|
+ resolution = filename.replace(/^.*[^0-9]([0-9]+x[0-9]+)[^0-9].*$/, "$1"); |
+ if (resolution != filename) { |
+ return resolution; |
vsevik
2013/12/13 13:04:43
nit: 4 spaces indent
Ami GONE FROM CHROMIUM
2013/12/13 17:48:43
Done.
|
+ } |
+ return ""; |
+} |
+ |
function appendBuffer(test, sourceBuffer, data) |
{ |
test.expectEvent(sourceBuffer, "update"); |
@@ -14,6 +23,8 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description) |
mediaElement.pause(); |
test.failOnEvent(mediaElement, 'error'); |
test.endOnEvent(mediaElement, 'ended'); |
+ var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != resolutionFromFilename(manifestFilenameB); |
+ var expectedResizeEventCount = 0; |
MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA) |
{ |
@@ -30,6 +41,7 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description) |
// Add the second buffer starting at 0.5 second. |
sourceBuffer.timestampOffset = 0.5; |
appendBuffer(test, sourceBuffer, dataB); |
+ ++expectedResizeEventCount; |
}); |
test.waitForExpectedEvents(function() |
@@ -37,6 +49,7 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description) |
// Add the first buffer starting at 1 second. |
sourceBuffer.timestampOffset = 1; |
appendBuffer(test, sourceBuffer, dataA); |
+ ++expectedResizeEventCount; |
}); |
test.waitForExpectedEvents(function() |
@@ -44,6 +57,7 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description) |
// Add the second buffer starting at 1.5 second. |
sourceBuffer.timestampOffset = 1.5; |
appendBuffer(test, sourceBuffer, dataB); |
+ ++expectedResizeEventCount; |
}); |
test.waitForExpectedEvents(function() |
@@ -52,6 +66,12 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description) |
mediaSource.duration = 2; |
mediaSource.endOfStream(); |
+ 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
|
+ for (var i = 0; i < expectedResizeEventCount; ++i) { |
+ test.expectEvent(mediaElement, "resize"); |
+ } |
+ } |
+ |
mediaElement.play(); |
}); |
}); |