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

Side by Side Diff: chrome/test/data/media/eme_player_js/player.js

Issue 332323003: Revert of Integrate browser tests with new EME player. (Closed) Base URL: http://git.chromium.org/chromium/src.git@eme_player
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Prepares a video element for playback by setting default event handlers 5 // Prepares a video element for playback by setting default event handlers
6 // and source attribute. 6 // and source attribute.
7 function InitPlayer(player, video) { 7 function InitPlayer(player, video) {
8 Utils.timeLog('Registering video event handlers.'); 8 Utils.timeLog('Registering video event handlers.');
9 9
10 // Map from event name to event listener function name. It is common for 10 // Map from event name to event listener function name. It is common for
11 // event listeners to be named onEventName. 11 // event listeners to be named onEventName.
12 var eventListenerMap = { 12 var eventListenerMap = {
13 'needkey': 'onNeedKey', 13 'needkey': 'onNeedKey',
14 'webkitneedkey': 'onWebkitNeedKey', 14 'webkitneedkey': 'onWebkitNeedKey',
15 'webkitkeymessage': 'onWebkitKeyMessage', 15 'webkitkeymessage': 'onWebkitKeyMessage',
16 'webkitkeyadded': 'onWebkitKeyAdded', 16 'webkitkeyadded': 'onWebkitKeyAdded',
17 'webkitkeyerror': 'onWebkitKeyError',
18 'error': 'onError', 17 'error': 'onError',
19 'abort': 'onAbort' 18 'abort': 'onAbort'
20 }; 19 };
21 20
22 // List of events that fail tests. 21 // List of events that fail tests.
23 var failingEvents = ['error', 'abort']; 22 var failingEvents = ['error', 'onAbort'];
24 23
25 for (eventName in eventListenerMap) { 24 for (eventName in eventListenerMap) {
26 video.addEventListener(eventName, 25 video.addEventListener(eventName,
27 player[eventListenerMap[eventName]] || function(){}); 26 player[eventListenerMap[eventName]] || function(){});
28 } 27 }
29 28
30 for (var i = 0; i < failingEvents.length; i++) { 29 for (var i = 0; i < failingEvents.length; i++) {
31 video.addEventListener(failingEvents[i], Utils.failTest); 30 video.addEventListener(failingEvents[i], Utils.failTest);
32 } 31 }
33 32
34 if (TestConfig.useSRC) { 33 if (TestConfig.useSRC) {
35 Utils.timeLog('Loading media using src.'); 34 Utils.timeLog('Loading media using src.');
36 video.src = TestConfig.mediaFile; 35 video.src = TestConfig.mediaFile;
37 } else { 36 } else {
38 var mediaSource = MediaSourceUtils.loadMediaSourceForTest(); 37 var mediaSource = MediaSourceUtils.loadMediaSourceForTest();
39 video.src = window.URL.createObjectURL(mediaSource); 38 video.src = window.URL.createObjectURL(mediaSource);
40 } 39 }
41 } 40 }
42 41
43 function InitEMEPlayer(player, video) { 42 function InitEMEPlayer(player, video) {
44 video.addEventListener('needkey', function(message) { 43 player.onNeedKey = function(message) {
45 Utils.timeLog('Creating new media key session for contentType: ' + 44 Utils.timeLog('Creating new media key session for contentType: ' +
46 message.contentType + ', initData: ' + 45 message.contentType + ', initData: ' +
47 Utils.getHexString(message.initData)); 46 Utils.getHexString(message.initData));
48 try { 47 try {
49 var mediaKeySession = message.target.mediaKeys.createSession( 48 var mediaKeySession = message.target.mediaKeys.createSession(
50 message.contentType, message.initData); 49 message.contentType, message.initData);
51 mediaKeySession.addEventListener('message', player.onMessage); 50 mediaKeySession.addEventListener('message', player.onMessage);
52 mediaKeySession.addEventListener('message', function(message) {
53 video.receivedKeyMessage = true;
54 if (Utils.isHeartBeatMessage(message.message)) {
55 Utils.timeLog('MediaKeySession onMessage - heart beat', message);
56 video.receivedHeartbeat = true;
57 }
58 });
59 mediaKeySession.addEventListener('error', function(error) { 51 mediaKeySession.addEventListener('error', function(error) {
60 Utils.failTest(error, KEY_ERROR); 52 Utils.failTest(error);
61 }); 53 });
62 } catch (e) { 54 } catch (e) {
63 Utils.failTest(e); 55 Utils.failTest(e);
64 } 56 }
65 }); 57 };
66 58
67 InitPlayer(player, video); 59 InitPlayer(player, video);
68 try { 60 try {
69 Utils.timeLog('Setting video media keys: ' + TestConfig.keySystem); 61 Utils.timeLog('Setting video media keys: ' + TestConfig.keySystem);
70 video.setMediaKeys(new MediaKeys(TestConfig.keySystem)); 62 video.setMediaKeys(new MediaKeys(TestConfig.keySystem));
71 } catch (e) { 63 } catch (e) {
72 Utils.failTest(e); 64 Utils.failTest(e);
73 } 65 }
74 } 66 }
75 67
76 function InitPrefixedEMEPlayer(player, video) { 68 function InitPrefixedEMEPlayer(player, video) {
77 video.addEventListener('webkitneedkey', function(message) { 69 player.onWebkitNeedKey = function(message) {
78 var initData = message.initData;
79 if (TestConfig.sessionToLoad) {
80 Utils.timeLog('Loading session: ' + TestConfig.sessionToLoad)
81 initData = Utils.convertToUint8Array(
82 PREFIXED_API_LOAD_SESSION_HEADER + TestConfig.sessionToLoad);
83 }
84 Utils.timeLog(TestConfig.keySystem + ' Generate key request, initData: ' + 70 Utils.timeLog(TestConfig.keySystem + ' Generate key request, initData: ' +
85 Utils.getHexString(initData)); 71 Utils.getHexString(message.initData));
86 try { 72 message.target.webkitGenerateKeyRequest(
87 message.target.webkitGenerateKeyRequest(TestConfig.keySystem, initData); 73 TestConfig.keySystem, message.initData);
88 } catch(e) { 74 };
89 Utils.failTest(e);
90 }
91 });
92 75
93 video.addEventListener('webkitkeyadded', function(message) { 76 player.onWebkitKeyAdded = function(message) {
94 Utils.timeLog('onWebkitKeyAdded', message); 77 Utils.timeLog('onWebkitKeyAdded', message);
95 message.target.receivedKeyAdded = true; 78 message.target.hasKeyAdded = true;
96 }); 79 };
97
98 video.addEventListener('webkitkeyerror', function(error) {
99 Utils.timeLog('onWebkitKeyError', error);
100 Utils.failTest(error, KEY_ERROR);
101 });
102
103 video.addEventListener('webkitkeymessage', function(message) {
104 Utils.timeLog('onWebkitKeyMessage', message);
105 message.target.receivedKeyMessage = true;
106 if (Utils.isHeartBeatMessage(message.message)) {
107 Utils.timeLog('onWebkitKeyMessage - heart beat', message);
108 message.target.receivedHeartbeat = true;
109 }
110 });
111 80
112 InitPlayer(player, video); 81 InitPlayer(player, video);
113 } 82 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698