mirror of
https://github.com/servo/servo.git
synced 2025-09-05 20:48:22 +01:00
Update web-platform-tests to revision dc5cbf088edcdb266541d4e5a76149a2c6e716a0
This commit is contained in:
parent
1d40075f03
commit
079092dfea
2381 changed files with 90360 additions and 17722 deletions
|
@ -0,0 +1,75 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>Encrypted Media Extensions: persistent-license, retrieve and playback, ClearKey</title>
|
||||
<link rel="help" href="https://w3c.github.io/encrypted-media/">
|
||||
|
||||
<!-- Helper scripts for Encrypted Media Extensions tests -->
|
||||
<script src=/encrypted-media/util/utils.js></script>
|
||||
<script src=/encrypted-media/util/fetch.js></script>
|
||||
<script src=/encrypted-media/util/utf8.js></script>
|
||||
<script src=/encrypted-media/util/testmediasource.js></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id='log'></div>
|
||||
|
||||
<div id='video'>
|
||||
<video id="videoelement" width="200px"></video>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Wait for a message from the main window with details of our task
|
||||
window.addEventListener( 'message', function( event ) {
|
||||
|
||||
var config = event.data.config,
|
||||
configuration = { initDataTypes: [ config.initDataType ],
|
||||
audioCapabilities: [ { contentType: config.audioType } ],
|
||||
videoCapabilities: [ { contentType: config.videoType } ],
|
||||
sessionTypes: [ 'persistent-license' ] },
|
||||
assertions = [ ];
|
||||
|
||||
var _mediaKeySession;
|
||||
|
||||
config.video = document.getElementById('videoelement');
|
||||
|
||||
function onComplete() {
|
||||
window.opener.postMessage(assertions, '*');
|
||||
}
|
||||
|
||||
function onFailure(error) {
|
||||
assertions.push( { actual: false, expected: true, message: error.toString() } );
|
||||
onComplete();
|
||||
}
|
||||
|
||||
function onTimeupdate(event) {
|
||||
if ( config.video.currentTime > ( config.duration || 1 ) ) {
|
||||
config.video.pause();
|
||||
_mediaKeySession.close()
|
||||
}
|
||||
}
|
||||
|
||||
navigator.requestMediaKeySystemAccess(config.keysystem, [ configuration ] )
|
||||
.then(function(access) {
|
||||
return access.createMediaKeys();
|
||||
}).then(function(mediaKeys) {
|
||||
config.video.setMediaKeys(mediaKeys);
|
||||
config.video.addEventListener('timeupdate', onTimeupdate, true);
|
||||
_mediaKeySession = mediaKeys.createSession( 'persistent-license' );
|
||||
_mediaKeySession.closed.then(onComplete);
|
||||
return _mediaKeySession.load(event.data.sessionId);
|
||||
}).then(function( success ) {
|
||||
if ( !success ) throw new DOMException( 'Could not load session' );
|
||||
return testmediasource(config);
|
||||
}).then(function(source) {
|
||||
config.video.src = URL.createObjectURL(source);
|
||||
config.video.play();
|
||||
})
|
||||
.catch(onFailure);
|
||||
} );
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue