Index: chrome/test/data/media/eme_player.html |
diff --git a/chrome/test/data/media/eme_player.html b/chrome/test/data/media/eme_player.html |
index 82f12448ee82e69349d8349d3b7200138af8e034..5d01b4afdf6ef124bbe5dfaeeeb80fc73baecb64 100644 |
--- a/chrome/test/data/media/eme_player.html |
+++ b/chrome/test/data/media/eme_player.html |
@@ -6,28 +6,28 @@ |
<body style='font-family:"Lucida Console", Monaco, monospace; font-size:14px'> |
<i>Clearkey works only with content encrypted using bear key.</i><br><br> |
<table> |
- <tr> |
+ <tr title='URL param mediaFile=...'> |
<td><label for='mediaFile'>Encrypted video URL:</label></td> |
<td><input id='mediaFile' type='text' size='64'></td> |
</tr> |
- <tr> |
+ <tr title='URL param licenseServerURL=...'> |
<td><label for='licenseServer'>License sever URL:</label></td> |
<td><input id='licenseServer' type='text' size='64'></td> |
</tr> |
- <tr> |
+ <tr title='URL param keySystem=...'> |
<td><label for='keySystemList'>Key system:</label></td> |
<td><select id='keySystemList'></select></td> |
</tr> |
- <tr> |
+ <tr title='URL param mediaType=...'> |
<td><label for='mediaTypeList'>Media type:</label></td> |
<td><select id='mediaTypeList'></select></td> |
</tr> |
- <tr> |
+ <tr title='URL param usePrefixedEME=1|0'> |
<td><label for='usePrefixedEME'>EME API version:</label></td> |
<td><select id='usePrefixedEME'></select> |
</td> |
</tr> |
- <tr> |
+ <tr title='URL param useSRC=1|0'> |
<td><label for='useSRC'>Load media by:</label></td> |
<td> |
<select id='useSRC'> |
@@ -60,10 +60,40 @@ |
<script src='eme_player_js/app_loader.js' type='text/javascript'></script> |
<script type='text/javascript'> |
TestConfig.updateDocument(); |
- function Play () { |
+ // Global video element used to access default video element from browser |
ddorwin
2014/05/30 17:42:56
Where/how does the browser do this?
If this is for
shadi
2014/05/31 00:31:37
The browser test checks for video.receivedKeyMessa
|
+ // tests. It is set in Play() function on document load. |
+ var video = null; |
jrummell
2014/05/29 21:45:05
Why have a global var 'video'? onTimeUpdate() crea
shadi
2014/05/31 00:31:37
It was for the browser test code. As commented abo
|
+ |
+ function onTimeUpdate(e) { |
+ var video = e.target; |
ddorwin
2014/05/30 17:42:56
Better to avoid shadowing the global. Is there a s
shadi
2014/05/31 00:31:37
No need for global anymore. The style guide sugges
|
+ if (video.currentTime < 1) |
+ return; |
+ // For loadSession() tests, addKey() will not be called after |
+ // loadSession() (the key is loaded internally). Do not check keyadded |
+ // and heartbeat for these tests. |
+ if (!TestConfig.sessionToLoad) { |
+ // keyadded may be fired around the start of playback; check for it |
+ // after a delay to avoid timing issues. |
+ if (TestConfig.usePrefixedEME && !video.receivedKeyAdded) |
+ Utils.failTest('Key added event not received.'); |
+ if (TestConfig.keySystem == EXTERNAL_CLEARKEY && |
+ !video.receivedHeartbeat) |
+ Utils.failTest('Heartbeat keymessage event not received.'); |
+ } |
+ video.removeEventListener('ended', Utils.failTest); |
+ Utils.installTitleEventHandler(video, 'ended'); |
+ video.removeEventListener('timeupdate', onTimeUpdate); |
+ } |
+ |
+ function Play() { |
TestConfig.init(); |
- TestApp.play(); |
- }; |
+ video = TestApp.loadPlayer(); |
+ Utils.resetTitleChange(); |
+ // Ended should not fire before onTimeUpdate. |
+ video.addEventListener('ended', Utils.failTest); |
+ video.addEventListener('timeupdate', onTimeUpdate); |
+ video.play(); |
+ } |
function toggleDisplay(id) { |
var element = document.getElementById(id); |