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..5d7f640adad6f12e88b735234695d8fccde9d32b 100644 |
--- a/chrome/test/data/media/eme_player.html |
+++ b/chrome/test/data/media/eme_player.html |
@@ -6,28 +6,27 @@ |
<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> |
+ <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 +59,37 @@ |
<script src='eme_player_js/app_loader.js' type='text/javascript'></script> |
<script type='text/javascript'> |
TestConfig.updateDocument(); |
- function Play () { |
+ |
+ function onTimeUpdate(e) { |
+ var video = e.target; |
+ 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(); |
- }; |
+ var 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); |