Title: [186177] trunk
Revision
186177
Author
[email protected]
Date
2015-07-01 08:54:41 -0700 (Wed, 01 Jul 2015)

Log Message

[MSE] Failures on W3C media-source tests regarding MIME types
https://bugs.webkit.org/show_bug.cgi?id=146499

Reviewed by Eric Carlson.

Source/WebCore:

Tests: http/tests/media/media-source/SourceBuffer-abort-readyState.html
       http/tests/media/media-source/SourceBuffer-abort-removed.html
       http/tests/media/media-source/SourceBuffer-abort-updating.html
       http/tests/media/media-source/SourceBuffer-abort.html

Multiple failures in the W3C media-source test suite due to two failures in isTypeSupported MIME type handling:
- MIME types without codec strings were being rejected.
- MIME types with codec strings which are rejected by the system are being reported as supported.

For the first, stop rejecting MIME types with non-existent codec strings. For MIME types which do have non-empty
codec strings, treat a "Maybe" response as unsupported.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isTypeSupported):

LayoutTests:

Import four new tests from the w3c test suite <https://github.com/w3c/web-platform-tests.git>.

* http/tests/media/media-source/SourceBuffer-abort-readyState.html: Added.
* http/tests/media/media-source/SourceBuffer-abort-removed.html: Added.
* http/tests/media/media-source/SourceBuffer-abort-updating.html: Added.
* http/tests/media/media-source/SourceBuffer-abort.html: Added.
* http/tests/media/white.mp4: Added.
* http/tests/media/white.webm: Added.
* platform/mac/TestExpectations:
* platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt: Added.
* platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
* platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt: Added.
* platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt: Added.
* platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (186176 => 186177)


--- trunk/LayoutTests/ChangeLog	2015-07-01 15:44:39 UTC (rev 186176)
+++ trunk/LayoutTests/ChangeLog	2015-07-01 15:54:41 UTC (rev 186177)
@@ -1,3 +1,25 @@
+2015-07-01  Jer Noble  <[email protected]>
+
+        [MSE] Failures on W3C media-source tests regarding MIME types
+        https://bugs.webkit.org/show_bug.cgi?id=146499
+
+        Reviewed by Eric Carlson.
+
+        Import four new tests from the w3c test suite <https://github.com/w3c/web-platform-tests.git>.
+
+        * http/tests/media/media-source/SourceBuffer-abort-readyState.html: Added.
+        * http/tests/media/media-source/SourceBuffer-abort-removed.html: Added.
+        * http/tests/media/media-source/SourceBuffer-abort-updating.html: Added.
+        * http/tests/media/media-source/SourceBuffer-abort.html: Added.
+        * http/tests/media/white.mp4: Added.
+        * http/tests/media/white.webm: Added.
+        * platform/mac/TestExpectations:
+        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt: Added.
+        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
+        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt: Added.
+        * platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt: Added.
+        * platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt: Added.
+
 2015-06-30  Gyuyoung Kim  <[email protected]>
 
         [EFL] Unreviewed gardening.

Added: trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html (0 => 186177)


--- trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+<head>
+  <meta charset='utf-8'>
+  <title>SourceBuffer#abort() when readyState attribute is not in the "open"</title>
+  <script src=""
+  <script src=""
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+var contents = {'/media/white.webm': 'video/webm; codecs="vorbis,vp8"',
+                '/media/white.mp4' : 'video/mp4'};
+
+//check the browser supports the MIME used in this test
+function isTypeSupported(mime) {
+    if(!MediaSource.isTypeSupported(mime)) {
+        this.step(function() {
+            assert_unreached("Browser doesn't support the MIME used in this test: " + mime);
+        });
+        this.done();
+        return false;
+    }
+    return true;
+}
+function GET(url, processBody) {
+    var xhr = new XMLHttpRequest();
+    xhr.open('GET', url, true);
+    xhr.responseType = 'arraybuffer';
+    xhr.send();
+    xhr._onload_ = function(e) {
+        if (xhr.status != 200) {
+            alert("Unexpected status code " + xhr.status + " for " + url);
+            return false;
+        }
+        processBody(new Uint8Array(xhr.response));
+    };
+}
+function mediaTest(file, mime) {
+    async_test(function(t) {
+        if(!isTypeSupported.bind(t)(mime)) {
+            return;
+        }
+        GET(file, function(data) {
+            var mediaSource = new MediaSource();
+            var sourceBuffer = null;
+            mediaSource.addEventListener('sourceopen', function(e) {
+                sourceBuffer = mediaSource.addSourceBuffer(mime);
+                mediaSource.endOfStream();
+                assert_equals(mediaSource.readyState, 'ended',
+                              'mediaSource.readyState is "ended" after endOfStream()');
+            });
+            mediaSource.addEventListener('sourceended', t.step_func_done(function(e) {
+                assert_throws({name: 'InvalidStateError'}, function() {
+                    sourceBuffer.abort();
+                });
+            }));
+            var video = document.createElement('video');
+            video.src = ""
+        });
+    }, 'SourceBuffer#abort() (' + mime + ') : If the readyState attribute ' +
+       'of the parent media source is not in the "open" state then throw ' +
+       'an INVALID_STATE_ERR exception and abort these steps.');
+}
+for(var file in contents) {
+    mediaTest(file, contents[file]);
+}
+</script>
+</body>
+</html>

Added: trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html (0 => 186177)


--- trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,52 @@
+<!doctype html>
+<html>
+<head>
+  <meta charset='utf-8'>
+  <title>SourceBuffer#abort() for already removed buffer from parent media source</title>
+  <script src=""
+  <script src=""
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+var mimes = ['video/webm; codecs="vorbis,vp8"', 'video/mp4'];
+
+//check the browser supports the MIME used in this test
+function isTypeSupported(mime) {
+    if(!MediaSource.isTypeSupported(mime)) {
+        this.step(function() {
+            assert_unreached("Browser doesn't support the MIME used in this test: " + mime);
+        });
+        this.done();
+        return false;
+    }
+    return true;
+}
+function mediaTest(mime) {
+    async_test(function(t) {
+        if(!isTypeSupported.bind(t)(mime)) {
+            return;
+        }
+        var mediaSource = new MediaSource();
+        mediaSource.addEventListener('sourceopen', t.step_func_done(function(e) {
+            var sourceBuffer = mediaSource.addSourceBuffer(mime);
+            mediaSource.removeSourceBuffer(sourceBuffer);
+            assert_throws({name: 'InvalidStateError'},
+                          function() {
+                              sourceBuffer.abort();
+                          },
+                          'SourceBuffer#abort() after removing the SourceBuffer object');
+        }), false);
+        var video = document.createElement('video');
+        video.src = ""
+    }, 'SourceBuffer#abort (' + mime + ') : ' +
+       'if this object has been removed from the sourceBuffers attribute of the parent media source, ' +
+       'then throw an INVALID_STATE_ERR exception and abort these steps.');
+}
+mimes.forEach(function(mime) {
+    mediaTest(mime);
+});
+</script>
+</body>
+</html>

Added: trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html (0 => 186177)


--- trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,92 @@
+<!doctype html>
+<html>
+<head>
+  <meta charset='utf-8'>
+  <title>Check SourceBuffer#abort() when the updating attribute is true</title>
+  <script src=""
+  <script src=""
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+var contents = {'/media/white.webm': 'video/webm; codecs="vorbis,vp8"',
+                '/media/white.mp4' : 'video/mp4'};
+
+function GET(url, processBody) {
+    var xhr = new XMLHttpRequest();
+    xhr.open('GET', url, true);
+    xhr.responseType = 'arraybuffer';
+    xhr.send();
+    xhr._onload_ = function(e) {
+        if (xhr.status != 200) {
+            alert("Unexpected status code " + xhr.status + " for " + url);
+            return false;
+        }
+        processBody(new Uint8Array(xhr.response));
+    };
+}
+//check the browser supports the MIME used in this test
+function isTypeSupported(mime) {
+    if(!MediaSource.isTypeSupported(mime)) {
+        this.step(function() {
+            assert_unreached("Browser doesn't support the MIME used in this test: " + mime);
+        });
+        this.done();
+        return false;
+    }
+    return true;
+}
+function mediaTest(file, mime) {
+    async_test(function(t) {
+        if(!isTypeSupported.bind(t)(mime)) {
+            return;
+        }
+        GET(file, function(data) {
+            var mediaSource = new MediaSource();
+            var num_updateend = 0;
+            var events = [];
+            mediaSource.addEventListener('sourceopen', t.step_func(function(e) {
+                var sourceBuffer = mediaSource.addSourceBuffer(mime);
+                assert_equals(sourceBuffer.updating, false);
+                sourceBuffer.addEventListener('updatestart', t.step_func(function(e) {
+                    events.push('updatestart');
+                    //abort when sourceBuffer#updating is true
+                    sourceBuffer.abort();
+
+                    assert_equals(sourceBuffer.updating, false,
+                                  'Check updating value after calling abort.');
+                    assert_equals(sourceBuffer.appendWindowStart, 0);
+                    assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY);
+                }));
+                sourceBuffer.addEventListener('update', t.step_func(function(e) {
+                    assert_unreached("Can't touch this");
+                }));
+                sourceBuffer.addEventListener('updateend', function(e) {
+                    events.push('updateend');
+                    mediaSource.endOfStream();
+                });
+                sourceBuffer.addEventListener('abort', function(e) {
+                    events.push('abort');
+                });
+                sourceBuffer.addEventListener('error', t.step_func(function(e) {
+                    assert_unreached("Can't touch this");
+                }));
+                sourceBuffer.appendBuffer(data);
+            }));
+            mediaSource.addEventListener('sourceended', t.step_func_done(function(e) {
+                assert_array_equals(events,
+                                    ['updatestart', 'abort', 'updateend'],
+                                    'Check the sequence of fired events.');
+            }));
+            var video = document.createElement('video');
+            video.src = ""
+        });
+    }, 'SourceBuffer#abort() (' + mime + ') : Check the algorithm when the updating attribute is true.');
+}
+for(var file in contents) {
+    mediaTest(file, contents[file]);
+}
+</script>
+</body>
+</html>

Added: trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html (0 => 186177)


--- trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+<head>
+  <meta charset='utf-8'>
+  <title>Check the values of appendWindowStart and appendWindowEnd after abort()</title>
+  <script src=""
+  <script src=""
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+var mimes = ['video/webm; codecs="vorbis,vp8"', 'video/mp4'];
+
+mimes.forEach(function(mime) {
+    async_test(function() {
+        assert_true(MediaSource.isTypeSupported(mime),
+                    "Browser doesn't support the MIME used in this test: " + mime);
+
+        var mediaSource = new MediaSource();
+        mediaSource.addEventListener('sourceopen', this.step_func_done(function(e) {
+            var sourceBuffer = mediaSource.addSourceBuffer(mime);
+            sourceBuffer.abort();
+            assert_equals(sourceBuffer.appendWindowStart, 0);
+            assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY);
+        }));
+
+        var video = document.createElement('video');
+        video.src = ""
+    }, 'SourceBuffer#abort() (' + mime + '): Check the values of appendWindowStart and appendWindowEnd.');
+});
+</script>
+</body>
+</html>

Added: trunk/LayoutTests/http/tests/media/white.mp4 (0 => 186177)


--- trunk/LayoutTests/http/tests/media/white.mp4	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/white.mp4	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,97 @@
+ ftypmp42mp42mp41isomiso2free\xFEmdat	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,\xD8\xFF\xFF\xD4\xDCE\xE9\xBD\xE6\xD9H\xB7\x96,\xD8 \xD9#\xEE\xEFx264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=60 keyint_min=6 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=2048 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2048 vbv_bufsize=1228 nal_hrd=none ip_ratio=1.40 aq=1:1.00\x80?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC
 4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x93	P\x9E\xA7jA\x92	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x92	P\x9F\xB5tA\x93	P\x9F\xB7jA\x93	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F
 \xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x93	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x92	P\x9E=tA\x92	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x93	P\x9E\xA7jA\x92	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P
 +A\x9F\x96E,\xFF\x92	P\x9F\xB5tA\x93	P\x9F\xB7jA\x93	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x82\xBF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAB	PA\x9EBx\x82\xFF\x92	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x93	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x92
 	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\xDAE,\xFF\x92	P\x9F\xF9tA\x93	P\x9F\xFBjA\x93	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EE,\xFF\x93	P\x9E=tA\x92	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EBE,\xFF\x92	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x93	P\x9E
 \xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	PA\x9F\xDAB\xFF\x92	P\x9F\xF9i_\xFF\x93	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\
 x92	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x92	P\x9E=tA\x93	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9
 EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x8
 2\xBF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x80	0+A\x9A$lA\xFE֌\xB0\xAB	PA\x9EBx\x82\xFF\x92	P\x9EatA\x93	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x92	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92
 	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x93	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EE,\xFF\x93	P\x9E=tA\x92	P\x9E?jA\x92	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EBE,\xFF\x92	P\x9EatA\x93	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x92	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA
 \x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x93	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x80	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x92	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x93	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,
 \xFF\x92	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x93	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x93	P\x9E=tA\x93	P\x9E?jA\x92	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x92	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x93	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x
 9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x92	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x93	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92kmoovlmvhd˾\xBF\x95˾\xBF\x95\xE8'@\xF7trak\tkhd˾\xBF\x95˾\xBF\x95'@@\xF0\x93mdia mdhd˾\xBF\x95˾\xBF\x95\xB8u0-hdlrvideVideoHandler>minf
 vmhd$dinfdrefurl \xFEstbl\xAAstsd\x9Aavc1@\xF0HH\xFF\xFF0avcCd\xFF\xE1gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,btrt\x92stts,d$stss=y\xB5\xF1stsc\xC4stsz,Jnn
 nn	pctts,,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8
 \xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\x
 FF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8
 \xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,
 \xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8\xC0stco,0z\x91\xA6\xBB\xD0\xED.Kbw\x8C\xA9\xC0\xD5\xEA3He|\x91\xA6\xC3\xDA\xEF!8Mb\x96\xAB\xC0\xDD\xF4	;Rg|\x99\xB0\xC5\xDA\xF7#8Ul\x81\x96\xB3\xC8\xDE	L	c	x	\x8D	\xA2	\xBF
 	\xD6	\xEB
+
+
+4
+I
+^
+{
+\x92
+\xA7
+\xBC
+\xD9
+\xF07Ncx\x95\xAC\xC1\xD6\xF3
+4Qh}\x92\xAF\xC6\xDB\xF0+++$+9+N+k+\x82+\x97+\xAC+\xC9+\xE0+\xF5
+'>Sh\x85\x9A\xB05J_t\x91\xA8\xBD\xD2\xEF0Mdy\x8E\xAB\xC2\xD7\xEC	 5Jg~\x93\xA8\xC5\xDC\xF1#:Od\x81\x98\xAD\xC2\xDF\xF6 =Ti~\x9B\xB2\xC7\xDC\xF9%:Wl\x82\xF01Fcz\x8F\xA4\xC1\xD8\xED6K`}\x94\xA9\xBE\xDB\xF29Pez\x97\xAE\xC3\xD8\xF5!6Sj\x94\xB1\xC8\xDD\xF2&;Pm\x84\x99\xAE\xCB\xE2\xF7)>T\xC2\xD9\xEE5Lav\x93\xAA\xBF\xD4\xF12Of{\x90\xAD\xC4\xD9\xEE"7Li\x80\x95\xAA\xC7\xDE\xF3%<Qf\x83\x9A\xAF\xC4\xE1\xF8+"?Vk
 \x80\x9D\xB4\xC9\xDE\xFB 
\ No newline at end of file

Added: trunk/LayoutTests/http/tests/media/white.webm (0 => 186177)


--- trunk/LayoutTests/http/tests/media/white.webm	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/white.webm	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,97 @@
+ ftypmp42mp42mp41isomiso2free\xFEmdat	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,\xD8\xFF\xFF\xD4\xDCE\xE9\xBD\xE6\xD9H\xB7\x96,\xD8 \xD9#\xEE\xEFx264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=60 keyint_min=6 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=2048 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2048 vbv_bufsize=1228 nal_hrd=none ip_ratio=1.40 aq=1:1.00\x80?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC
 4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x93	P\x9E\xA7jA\x92	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x92	P\x9F\xB5tA\x93	P\x9F\xB7jA\x93	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F
 \xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x93	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x92	P\x9E=tA\x92	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x93	P\x9E\xA7jA\x92	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P
 +A\x9F\x96E,\xFF\x92	P\x9F\xB5tA\x93	P\x9F\xB7jA\x93	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x82\xBF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAB	PA\x9EBx\x82\xFF\x92	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x93	P\x9E\xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x92
 	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\xDAE,\xFF\x92	P\x9F\xF9tA\x93	P\x9F\xFBjA\x93	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EE,\xFF\x93	P\x9E=tA\x92	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EBE,\xFF\x92	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x93	P\x9E
 \xEBjA\x92	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	PA\x9F\xDAB\xFF\x92	P\x9F\xF9i_\xFF\x93	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x81	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\
 x92	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x92	P\x9E=tA\x93	P\x9E?jA\x93	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9
 EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x93	P\x9F-tA\x93	P\x9F/jA\x92	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x8
 2\xBF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x80	0+A\x9A$lA\xFE֌\xB0\xAB	PA\x9EBx\x82\xFF\x92	P\x9EatA\x93	P\x9EcjA\x93	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x92	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA\x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92
 	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x93	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EE,\xFF\x93	P\x9E=tA\x92	P\x9E?jA\x92	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EBE,\xFF\x92	P\x9EatA\x93	P\x9EcjA\x93	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\x86E,\xFF\x93	P\x9E\xA5tA\x92	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\xCAE,\xFF\x92	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FE,\xFF\x93	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FRE,\xFF\x93	P\x9FqtA\x93	P\x9FsjA
 \x92	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x92	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x93	gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,?e\x88\x84\xFF\xFE\xF7Է̲\xEDSo\xB6\xA8\xF7\xA2\x9E&_Cu%\x9B\x96\xC4\xED:\x80\xBA\xF5\xB7\xDBo\xCD\xD1\xA4\xD0@X\xD9\xF6\xD774\xE22=:\x80	0+A\x9A$lA\xFE֌\xB0\xAA	PA\x9EBx\x82\xFF\x93	P\x9EatA\x92	P\x9EcjA\x92	0A\x9AhI\xA8Ah\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x93	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,
 \xFF\x92	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x93	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBCI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9F\xDAE,\xFF\x93	P\x9F\xF9tA\x92	P\x9F\xFBjA\x92	0A\x9B\xE0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9EE,\xFF\x93	P\x9E=tA\x93	P\x9E?jA\x92	0A\x9A$I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9EBE,\xFF\x93	P\x9EatA\x92	P\x9EcjA\x92	0A\x9AhI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9E\x86E,\xFF\x92	P\x9E\xA5tA\x93	P\x9E\xA7jA\x93	0A\x9A\xACI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x
 9E\xCAE,\xFF\x93	P\x9E\xE9tA\x92	P\x9E\xEBjA\x93	0A\x9A\xF0I\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9FE,\xFF\x92	P\x9F-tA\x92	P\x9F/jA\x93	0A\x9B4I\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	P+A\x9FRE,\xFF\x93	P\x9FqtA\x92	P\x9FsjA\x93	0A\x9BxI\xA8Al\x99L/\xFF\xFE֌\xB0\xAB	P+A\x9F\x96E,\xFF\x93	P\x9F\xB5tA\x93	P\x9F\xB7jA\x92	0A\x9B\xBBI\xA8Al\x99L/\xFF\xFE֌\xB0\xAA	PA\x9F\xDAB\xFF\x93	P\x9F\xF9i_\xFF\x92kmoovlmvhd˾\xBF\x95˾\xBF\x95\xE8'@\xF7trak\tkhd˾\xBF\x95˾\xBF\x95'@@\xF0\x93mdia mdhd˾\xBF\x95˾\xBF\x95\xB8u0-hdlrvideVideoHandler>minf
 vmhd$dinfdrefurl \xFEstbl\xAAstsd\x9Aavc1@\xF0HH\xFF\xFF0avcCd\xFF\xE1gd\xAC\xD9AA\xFBsY@\xF1B\x99`h\xEB\xEC\xB2,btrt\x92stts,d$stss=y\xB5\xF1stsc\xC4stsz,Jnn
 nn	pctts,,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8
 \xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\x
 FF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8
 \xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,
 \xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C,\xFF\xFF\xFF8\xFF\xFF\xFF\x9C\xC8\xFF\xFF\xFF8\xC0stco,0z\x91\xA6\xBB\xD0\xED.Kbw\x8C\xA9\xC0\xD5\xEA3He|\x91\xA6\xC3\xDA\xEF!8Mb\x96\xAB\xC0\xDD\xF4	;Rg|\x99\xB0\xC5\xDA\xF7#8Ul\x81\x96\xB3\xC8\xDE	L	c	x	\x8D	\xA2	\xBF
 	\xD6	\xEB
+
+
+4
+I
+^
+{
+\x92
+\xA7
+\xBC
+\xD9
+\xF07Ncx\x95\xAC\xC1\xD6\xF3
+4Qh}\x92\xAF\xC6\xDB\xF0+++$+9+N+k+\x82+\x97+\xAC+\xC9+\xE0+\xF5
+'>Sh\x85\x9A\xB05J_t\x91\xA8\xBD\xD2\xEF0Mdy\x8E\xAB\xC2\xD7\xEC	 5Jg~\x93\xA8\xC5\xDC\xF1#:Od\x81\x98\xAD\xC2\xDF\xF6 =Ti~\x9B\xB2\xC7\xDC\xF9%:Wl\x82\xF01Fcz\x8F\xA4\xC1\xD8\xED6K`}\x94\xA9\xBE\xDB\xF29Pez\x97\xAE\xC3\xD8\xF5!6Sj\x94\xB1\xC8\xDD\xF2&;Pm\x84\x99\xAE\xCB\xE2\xF7)>T\xC2\xD9\xEE5Lav\x93\xAA\xBF\xD4\xF12Of{\x90\xAD\xC4\xD9\xEE"7Li\x80\x95\xAA\xC7\xDE\xF3%<Qf\x83\x9A\xAF\xC4\xE1\xF8+"?Vk
 \x80\x9D\xB4\xC9\xDE\xFB 
\ No newline at end of file

Modified: trunk/LayoutTests/platform/mac/TestExpectations (186176 => 186177)


--- trunk/LayoutTests/platform/mac/TestExpectations	2015-07-01 15:44:39 UTC (rev 186176)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2015-07-01 15:54:41 UTC (rev 186177)
@@ -1115,12 +1115,17 @@
 
 # Passing Media Source tests
 [ Yosemite+ ] http/tests/media/media-source/ [ Skip ]
+[ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-readyState.html [ Pass ]
+[ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-removed.html [ Pass ]
+[ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-updating.html [ Pass ]
+[ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-addsourcebuffer.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-append-buffer.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-closed.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-endofstream-invaliderror.html [ Pass ]
+[ Yosemite+ ] http/tests/media/media-source/mediasource-is-type-supported.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-multiple-attach.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-play.html [ Pass ]
 [ Yosemite+ ] http/tests/media/media-source/mediasource-remove.html [ Pass ]

Added: trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt (0 => 186177)


--- trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,11 @@
+
+FAIL SourceBuffer#abort() (video/webm; codecs="vorbis,vp8"): Check the values of appendWindowStart and appendWindowEnd. assert_true: Browser doesn't support the MIME used in this test: video/webm; codecs="vorbis,vp8" expected true got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_true@http://127.0.0.1:8000/w3c/resources/testharness.js:663:15
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort.html:17:20
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+async_test@http://127.0.0.1:8000/w3c/resources/testharness.js:460:26
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort.html:16:15
+forEach@[native code]
+global code@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort.html:15:14)
+PASS SourceBuffer#abort() (video/mp4): Check the values of appendWindowStart and appendWindowEnd. 
+

Added: trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt (0 => 186177)


--- trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,14 @@
+
+FAIL SourceBuffer#abort() (video/webm; codecs="vorbis,vp8") : If the readyState attribute of the parent media source is not in the "open" state then throw an INVALID_STATE_ERR exception and abort these steps. assert_unreached: Browser doesn't support the MIME used in this test: video/webm; codecs="vorbis,vp8" Reached unreachable code(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_unreached@http://127.0.0.1:8000/w3c/resources/testharness.js:1056:16
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-readyState.html:20:29
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+isTypeSupported@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-readyState.html:19:18
+isTypeSupported@[native code]
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-readyState.html:42:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+async_test@http://127.0.0.1:8000/w3c/resources/testharness.js:460:26
+mediaTest@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-readyState.html:41:15
+global code@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-readyState.html:67:14)
+PASS SourceBuffer#abort() (video/mp4) : If the readyState attribute of the parent media source is not in the "open" state then throw an INVALID_STATE_ERR exception and abort these steps. 
+

Added: trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt (0 => 186177)


--- trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,16 @@
+
+FAIL SourceBuffer#abort (video/webm; codecs="vorbis,vp8") : if this object has been removed from the sourceBuffers attribute of the parent media source, then throw an INVALID_STATE_ERR exception and abort these steps. assert_unreached: Browser doesn't support the MIME used in this test: video/webm; codecs="vorbis,vp8" Reached unreachable code(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_unreached@http://127.0.0.1:8000/w3c/resources/testharness.js:1056:16
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:19:29
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+isTypeSupported@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:18:18
+isTypeSupported@[native code]
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:28:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+async_test@http://127.0.0.1:8000/w3c/resources/testharness.js:460:26
+mediaTest@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:27:15
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:48:14
+forEach@[native code]
+global code@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-removed.html:47:14)
+PASS SourceBuffer#abort (video/mp4) : if this object has been removed from the sourceBuffers attribute of the parent media source, then throw an INVALID_STATE_ERR exception and abort these steps. 
+

Added: trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt (0 => 186177)


--- trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,14 @@
+
+FAIL SourceBuffer#abort() (video/webm; codecs="vorbis,vp8") : Check the algorithm when the updating attribute is true. assert_unreached: Browser doesn't support the MIME used in this test: video/webm; codecs="vorbis,vp8" Reached unreachable code(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_unreached@http://127.0.0.1:8000/w3c/resources/testharness.js:1056:16
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-updating.html:33:29
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+isTypeSupported@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-updating.html:32:18
+isTypeSupported@[native code]
+http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-updating.html:42:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+async_test@http://127.0.0.1:8000/w3c/resources/testharness.js:460:26
+mediaTest@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-updating.html:41:15
+global code@http://127.0.0.1:8000/media/media-source/SourceBuffer-abort-updating.html:88:14)
+PASS SourceBuffer#abort() (video/mp4) : Check the algorithm when the updating attribute is true. 
+

Added: trunk/LayoutTests/platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt (0 => 186177)


--- trunk/LayoutTests/platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt	2015-07-01 15:54:41 UTC (rev 186177)
@@ -0,0 +1,85 @@
+
+PASS Test invalid MIME format "video" 
+PASS Test invalid MIME format "video/" 
+PASS Test invalid MIME format "video/webm" 
+PASS Test invalid MIME format "video/webm;" 
+PASS Test invalid MIME format "video/webm;codecs" 
+PASS Test invalid MIME format "video/webm;codecs=" 
+PASS Test invalid MIME format "video/webm;codecs="" 
+PASS Test invalid MIME format "video/webm;codecs=""" 
+PASS Test invalid MIME format "video/webm;codecs=","" 
+PASS Test invalid mismatch between major type and codec ID "audio/webm;codecs="vp8"" 
+FAIL Test invalid mismatch between major type and codec ID "audio/mp4;codecs="avc1.4d001e"" assert_equals: supported expected false but got true(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:34:28)
+PASS Test invalid mismatch between minor type and codec ID "audio/mp4;codecs="vorbis"" 
+PASS Test invalid mismatch between minor type and codec ID "audio/webm;codecs="mp4a.40.2"" 
+PASS Test invalid mismatch between minor type and codec ID "video/mp4;codecs="vp8"" 
+PASS Test invalid mismatch between minor type and codec ID "video/webm;codecs="mp4a.40.2"" 
+PASS Test invalid mismatch between minor type and codec ID "video/mp4;codecs="vorbis"" 
+PASS Test invalid mismatch between minor type and codec ID "video/webm;codecs="mp4a.40.2"" 
+PASS Test invalid codec ID "audio/mp4;codecs="mp4a"" 
+FAIL Test invalid codec ID "audio/mp4;codecs="mp4a.40"" assert_equals: supported expected false but got true(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:48:28)
+FAIL Test invalid codec ID "audio/mp4;codecs="mp4a.40."" assert_equals: supported expected false but got true(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:48:28)
+PASS Test invalid codec ID "audio/mp4;codecs="mp4a.67.3"" 
+FAIL Test valid WebM type "video/webm;codecs="vp8"" assert_equals: supported expected true but got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:55:28)
+FAIL Test valid WebM type "video/webm;codecs="vorbis"" assert_equals: supported expected true but got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:55:28)
+FAIL Test valid WebM type "video/webm;codecs="vp8,vorbis"" assert_equals: supported expected true but got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:55:28)
+FAIL Test valid WebM type "video/webm;codecs="vorbis, vp8"" assert_equals: supported expected true but got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:55:28)
+FAIL Test valid WebM type "audio/webm;codecs="vorbis"" assert_equals: supported expected true but got false(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2060:37
+assert_equals@http://127.0.0.1:8000/w3c/resources/testharness.js:699:15
+http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:16:36
+step@http://127.0.0.1:8000/w3c/resources/testharness.js:1160:30
+test@http://127.0.0.1:8000/w3c/resources/testharness.js:443:22
+test_type_support@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:14:23
+global code@http://127.0.0.1:8000/media/media-source/mediasource-is-type-supported.html:55:28)
+PASS Test valid MP4 type "video/mp4;codecs="avc1.4d001e"" 
+PASS Test valid MP4 type "video/mp4;codecs="avc1.42001e"" 
+PASS Test valid MP4 type "audio/mp4;codecs="mp4a.40.2"" 
+PASS Test valid MP4 type "audio/mp4;codecs="mp4a.40.5"" 
+PASS Test valid MP4 type "audio/mp4;codecs="mp4a.67"" 
+PASS Test valid MP4 type "video/mp4;codecs="mp4a.40.2"" 
+PASS Test valid MP4 type "video/mp4;codecs="avc1.4d001e,mp4a.40.2"" 
+PASS Test valid MP4 type "video/mp4;codecs="mp4a.40.2 , avc1.4d001e "" 
+PASS Test valid MP4 type "video/mp4;codecs="avc1.4d001e,mp4a.40.5"" 
+

Modified: trunk/Source/WebCore/ChangeLog (186176 => 186177)


--- trunk/Source/WebCore/ChangeLog	2015-07-01 15:44:39 UTC (rev 186176)
+++ trunk/Source/WebCore/ChangeLog	2015-07-01 15:54:41 UTC (rev 186177)
@@ -1,3 +1,25 @@
+2015-07-01  Jer Noble  <[email protected]>
+
+        [MSE] Failures on W3C media-source tests regarding MIME types
+        https://bugs.webkit.org/show_bug.cgi?id=146499
+
+        Reviewed by Eric Carlson.
+
+        Tests: http/tests/media/media-source/SourceBuffer-abort-readyState.html
+               http/tests/media/media-source/SourceBuffer-abort-removed.html
+               http/tests/media/media-source/SourceBuffer-abort-updating.html
+               http/tests/media/media-source/SourceBuffer-abort.html
+
+        Multiple failures in the W3C media-source test suite due to two failures in isTypeSupported MIME type handling:
+        - MIME types without codec strings were being rejected.
+        - MIME types with codec strings which are rejected by the system are being reported as supported.
+
+        For the first, stop rejecting MIME types with non-existent codec strings. For MIME types which do have non-empty
+        codec strings, treat a "Maybe" response as unsupported.
+
+        * Modules/mediasource/MediaSource.cpp:
+        (WebCore::MediaSource::isTypeSupported):
+
 2015-06-30  Alex Christensen  <[email protected]>
 
         Update ANGLE to b11e2483742db884bd0af41f78f528240577356b.

Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp (186176 => 186177)


--- trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp	2015-07-01 15:44:39 UTC (rev 186176)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp	2015-07-01 15:54:41 UTC (rev 186177)
@@ -736,7 +736,7 @@
     String codecs = contentType.parameter("codecs");
 
     // 2. If type does not contain a valid MIME type string, then return false.
-    if (contentType.type().isEmpty() || codecs.isEmpty())
+    if (contentType.type().isEmpty())
         return false;
 
     // 3. If type contains a media type or media subtype that the MediaSource does not support, then return false.
@@ -747,7 +747,12 @@
     parameters.type = contentType.type();
     parameters.codecs = codecs;
     parameters.isMediaSource = true;
-    return MediaPlayer::supportsType(parameters, 0) != MediaPlayer::IsNotSupported;
+    MediaPlayer::SupportsType supported = MediaPlayer::supportsType(parameters, 0);
+
+    if (codecs.isEmpty())
+        return supported != MediaPlayer::IsNotSupported;
+
+    return supported == MediaPlayer::IsSupported;
 }
 
 bool MediaSource::isOpen() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to