Commit b4c0e5d0 authored by sandersd's avatar sandersd Committed by Commit bot

Extend player_utils.js to support "encrypted" event in addition to "needkey".

BUG=224786

Review URL: https://codereview.chromium.org/605243004

Cr-Commit-Position: refs/heads/master@{#297295}
parent 4fd320de
...@@ -16,6 +16,7 @@ PlayerUtils.registerDefaultEventListeners = function(player) { ...@@ -16,6 +16,7 @@ PlayerUtils.registerDefaultEventListeners = function(player) {
// event listeners to be named onEventName. // event listeners to be named onEventName.
var eventListenerMap = { var eventListenerMap = {
'needkey': 'onNeedKey', 'needkey': 'onNeedKey',
'encrypted': 'onEncrypted',
'webkitneedkey': 'onWebkitNeedKey', 'webkitneedkey': 'onWebkitNeedKey',
'webkitkeymessage': 'onWebkitKeyMessage', 'webkitkeymessage': 'onWebkitKeyMessage',
'webkitkeyadded': 'onWebkitKeyAdded', 'webkitkeyadded': 'onWebkitKeyAdded',
...@@ -37,7 +38,7 @@ PlayerUtils.registerDefaultEventListeners = function(player) { ...@@ -37,7 +38,7 @@ PlayerUtils.registerDefaultEventListeners = function(player) {
}; };
PlayerUtils.registerEMEEventListeners = function(player) { PlayerUtils.registerEMEEventListeners = function(player) {
player.video.addEventListener('needkey', function(message) { var encrypted_handler = function(message) {
function addMediaKeySessionListeners(mediaKeySession) { function addMediaKeySessionListeners(mediaKeySession) {
mediaKeySession.addEventListener('message', function(message) { mediaKeySession.addEventListener('message', function(message) {
...@@ -53,22 +54,25 @@ PlayerUtils.registerEMEEventListeners = function(player) { ...@@ -53,22 +54,25 @@ PlayerUtils.registerEMEEventListeners = function(player) {
}); });
} }
Utils.timeLog('Creating new media key session for contentType: ' + // TODO(sandersd): Stop checking contentType once we complete the switch to
message.contentType + ', initData: ' + // using the 'encrypted' event.
Utils.getHexString(message.initData)); var init_data_type = message.initDataType || message.contentType;
Utils.timeLog('Creating new media key session for initDataType: ' +
init_data_type + ', initData: ' +
Utils.getHexString(new Uint8Array(message.initData)));
try { try {
if (message.target.mediaKeys.createSession.length == 0) { if (message.target.mediaKeys.createSession.length == 0) {
// FIXME(jrummell): Remove this test (and else branch) once blink // FIXME(jrummell): Remove this test (and else branch) once blink
// uses the new API. // uses the new API.
var session = message.target.mediaKeys.createSession(); var session = message.target.mediaKeys.createSession();
addMediaKeySessionListeners(session); addMediaKeySessionListeners(session);
session.generateRequest(message.contentType, message.initData) session.generateRequest(init_data_type, message.initData)
.catch(function(error) { .catch(function(error) {
Utils.failTest(error, KEY_ERROR); Utils.failTest(error, KEY_ERROR);
}); });
} else { } else {
var session = message.target.mediaKeys.createSession( var session = message.target.mediaKeys.createSession(
message.contentType, message.initData); init_data_type, message.initData);
session.then(addMediaKeySessionListeners) session.then(addMediaKeySessionListeners)
.catch(function(error) { .catch(function(error) {
Utils.failTest(error, KEY_ERROR); Utils.failTest(error, KEY_ERROR);
...@@ -77,7 +81,16 @@ PlayerUtils.registerEMEEventListeners = function(player) { ...@@ -77,7 +81,16 @@ PlayerUtils.registerEMEEventListeners = function(player) {
} catch (e) { } catch (e) {
Utils.failTest(e); Utils.failTest(e);
} }
}); }
// TODO(sandersd): Stop registering 'needkey' after it is renamed to
// 'encrypted'.
if (player.video.onencrypted) {
player.video.addEventListener('encrypted', encrypted_handler);
} else {
player.video.addEventListener('needkey', encrypted_handler);
}
this.registerDefaultEventListeners(player); this.registerDefaultEventListeners(player);
try { try {
Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem); Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment