Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / media / test / data / eme_player_js / prefixed_widevine_player.js
blobf558f5f61ea40ed874a56ee2dba0a6e5e406a8f0
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Widevine player responsible for playing media using Widevine key system
6 // and prefixed EME API.
7 function PrefixedWidevinePlayer(video, testConfig) {
8   this.video = video;
9   this.testConfig = testConfig;
12 PrefixedWidevinePlayer.prototype.init = function() {
13   // Returns a promise.
14   return PlayerUtils.initEMEPlayer(this);
17 PrefixedWidevinePlayer.prototype.registerEventListeners = function() {
18   // Returns a promise.
19   return PlayerUtils.registerPrefixedEMEEventListeners(this);
22 PrefixedWidevinePlayer.prototype.onWebkitKeyMessage = function(message) {
23   function onSuccess(response) {
24     var key = new Uint8Array(response);
25     Utils.timeLog('Adding key to sessionID: ' + message.sessionId, key);
26     message.target.webkitAddKey(this.testConfig.keySystem,
27                                 key,
28                                 new Uint8Array(1),
29                                 message.sessionId);
30   }
31   Utils.sendRequest('POST', 'arraybuffer', message.message,
32                     this.testConfig.licenseServerURL, onSuccess,
33                     this.testConfig.forceInvalidResponse);