Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(832)

Unified Diff: chrome/test/data/media/eme_player_js/player.js

Issue 308553002: Integrate browser tests with new EME player. (Closed) Base URL: http://git.chromium.org/chromium/src.git@eme_player
Patch Set: Add support for FileIO and LoadSession test cases Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/media/eme_player_js/player.js
diff --git a/chrome/test/data/media/eme_player_js/player.js b/chrome/test/data/media/eme_player_js/player.js
index 64c3b7bb13714f1dd04276877e3ec9511f9a7d65..206c591910a24e0171e6eacd9b79d285c5f36049 100644
--- a/chrome/test/data/media/eme_player_js/player.js
+++ b/chrome/test/data/media/eme_player_js/player.js
@@ -14,12 +14,13 @@ function InitPlayer(player, video) {
'webkitneedkey': 'onWebkitNeedKey',
'webkitkeymessage': 'onWebkitKeyMessage',
'webkitkeyadded': 'onWebkitKeyAdded',
+ 'webkitkeyerror': 'onWebkitKeyError',
'error': 'onError',
'abort': 'onAbort'
};
// List of events that fail tests.
- var failingEvents = ['error', 'onAbort'];
+ var failingEvents = ['error', 'abort'];
for (eventName in eventListenerMap) {
video.addEventListener(eventName,
@@ -40,7 +41,7 @@ function InitPlayer(player, video) {
}
function InitEMEPlayer(player, video) {
- player.onNeedKey = function(message) {
+ video.addEventListener('needkey', function(message) {
Utils.timeLog('Creating new media key session for contentType: ' +
message.contentType + ', initData: ' +
Utils.getHexString(message.initData));
@@ -48,13 +49,20 @@ function InitEMEPlayer(player, video) {
var mediaKeySession = message.target.mediaKeys.createSession(
message.contentType, message.initData);
mediaKeySession.addEventListener('message', player.onMessage);
+ mediaKeySession.addEventListener('message', function(message) {
+ video.receivedKeyMessage = true;
+ if (Utils.isHeartBeatMessage(message.message)) {
+ Utils.timeLog('MediaKeySession onMessage - heart beat', message);
+ video.receivedHeartbeat = true;
+ }
+ });
mediaKeySession.addEventListener('error', function(error) {
- Utils.failTest(error);
+ Utils.failTest(error, KEY_ERROR);
});
} catch (e) {
Utils.failTest(e);
}
- };
+ });
InitPlayer(player, video);
try {
@@ -66,17 +74,40 @@ function InitEMEPlayer(player, video) {
}
function InitPrefixedEMEPlayer(player, video) {
- player.onWebkitNeedKey = function(message) {
+ video.addEventListener('webkitneedkey', function(message) {
+ var initData = message.initData;
+ if (TestConfig.sessionToLoad) {
+ Utils.timeLog('Loading session: ' + TestConfig.sessionToLoad)
+ initData = Utils.convertToUint8Array(
+ PREFIXED_API_LOAD_SESSION_HEADER + TestConfig.sessionToLoad);
+ }
Utils.timeLog(TestConfig.keySystem + ' Generate key request, initData: ' +
- Utils.getHexString(message.initData));
- message.target.webkitGenerateKeyRequest(
- TestConfig.keySystem, message.initData);
- };
+ Utils.getHexString(initData));
+ try {
+ message.target.webkitGenerateKeyRequest(TestConfig.keySystem, initData);
+ } catch(e) {
+ Utils.failTest(e);
+ }
+ });
- player.onWebkitKeyAdded = function(message) {
+ video.addEventListener('webkitkeyadded', function(message) {
Utils.timeLog('onWebkitKeyAdded', message);
- message.target.hasKeyAdded = true;
- };
+ message.target.receivedKeyAdded = true;
+ });
+
+ video.addEventListener('webkitkeyerror', function(error) {
+ Utils.timeLog('onWebkitKeyError', error);
+ Utils.failTest(error, KEY_ERROR);
+ });
+
+ video.addEventListener('webkitkeymessage', function(message) {
+ Utils.timeLog('onWebkitKeyMessage', message);
+ message.target.receivedKeyMessage = true;
+ if (Utils.isHeartBeatMessage(message.message)) {
+ Utils.timeLog('onWebkitKeyMessage - heart beat', message);
+ message.target.receivedHeartbeat = true;
+ }
+ });
InitPlayer(player, video);
}

Powered by Google App Engine
This is Rietveld 408576698