<!DOCTYPE HTML> <html> <head> <title>Video element src attribute must match src list - positive test</title> <script src='/resources/testharness.js'></script> <script src='/resources/testharnessreport.js'></script> </head> <body> <h1>Video element in media-src list - redirect test</h1> <div id='log'></div> <p>This test tests a buggy interaction in Chrome 46. Two hosts (self and www2) are both allowed as media-src, but only one (self) is allowed for connect-src. If a video src starts on an allowed host (self), and is redirected to another allowed media-src host, it should succeed. But a bug causes the redirect to be done in a fetch context to which connect-src is being applied instead, so the load is blocked. (This test passes in Firefox 45, modulo an event listener not firing.)</p> <script> var src_test = async_test("In-policy async video src"); var src_redir_test = async_test("in-policy async video src w/redir") var source_test = async_test("In-policy async video source element"); var source_redir_test = async_test("In-policy async video source element w/redir"); function media_loaded(t) { t.done(); } function media_error_handler(t) { t.step( function () { assert_unreached("Media error handler shouldn't be triggered for allowed domain."); }); t.done(); } </script> <video id="videoObject" width="320" height="240" controls onloadeddata="media_loaded(source_test)"> <source id="videoSourceObject" type="video/mp4" onerror="media_error_handler(source_test)" src="http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> </video> <video id="videoObject2" width="320" height="240" controls onerror="media_error_handler(src_test)" onloadeddata="media_loaded(src_test)" src="http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> <video id="videoObject3" width="320" height="240" controls onloadeddata="media_loaded(source_redir_test)"> <source id="videoSourceObject" type="video/mp4" onerror="media_error_handler(source_test)" src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> </video> <video id="videoObject2" width="320" height="240" controls onerror="media_error_handler(src_redir_test)" onloadeddata="media_loaded(src_redir_test)" src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> <script async defer src="../support/checkReport.sub.js?reportExists=false"> </script> </body> </html>