Index: content/test/data/media/encrypted_media_utils.js |
diff --git a/content/test/data/media/encrypted_media_utils.js b/content/test/data/media/encrypted_media_utils.js |
deleted file mode 100644 |
index 8fb3f97205073a76f645f485ccc9915076cee9fe..0000000000000000000000000000000000000000 |
--- a/content/test/data/media/encrypted_media_utils.js |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-var keySystem = QueryString.keysystem; |
-var mediaFile = QueryString.mediafile; |
-var mediaType = QueryString.mediatype || 'video/webm; codecs="vorbis, vp8"'; |
-var useMSE = QueryString.usemse == 1; |
- |
-// Default key used to encrypt many media files used in browser tests. |
-var KEY = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14, 0xd2, 0x7b, |
- 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4, 0xae, 0x3c]); |
-// KEY_ID constant used as init data while encrypting test media files. |
-var KEY_ID = getInitDataFromKeyId("0123456789012345"); |
-// Heart beat message header. |
-var HEART_BEAT_HEADER = 'HEARTBEAT'; |
-var EXTERNAL_CLEAR_KEY_KEY_SYSTEM = "org.chromium.externalclearkey"; |
-// Note that his URL has been normalized from the one in clear_key_cdm.cc. |
-var EXTERNAL_CLEAR_KEY_HEARTBEAT_URL = |
- 'http://test.externalclearkey.chromium.org/'; |
- |
-function isHeartbeatMessage(msg) { |
- if (msg.length < HEART_BEAT_HEADER.length) |
- return false; |
- for (var i = 0; i < HEART_BEAT_HEADER.length; ++i) { |
- if (String.fromCharCode(msg[i]) != HEART_BEAT_HEADER[i]) |
- return false; |
- } |
- return true; |
-} |
- |
-function loadEncryptedMediaFromURL(video) { |
- return loadEncryptedMedia(video, mediaFile, keySystem, KEY, useMSE); |
-} |
- |
-function loadEncryptedMedia(video, mediaFile, keySystem, key, useMSE, |
- appendSourceCallbackFn) { |
- var keyRequested = false; |
- var sourceOpened = false; |
- // Add properties to enable verification that events occurred. |
- video.receivedKeyAdded = false; |
- video.receivedHeartbeat = false; |
- video.isHeartbeatExpected = keySystem === EXTERNAL_CLEAR_KEY_KEY_SYSTEM; |
- video.receivedKeyMessage = false; |
- |
- if (!(video && mediaFile && keySystem && key)) { |
- failTest('Missing parameters in loadEncryptedMedia().'); |
- return; |
- } |
- |
- function onNeedKey(e) { |
- if (keyRequested) |
- return; |
- keyRequested = true; |
- console.log('onNeedKey', e); |
- try { |
- video.webkitGenerateKeyRequest(keySystem, e.initData); |
- } |
- catch(error) { |
- setResultInTitle(error.name); |
- } |
- } |
- |
- function onKeyAdded(e) { |
- e.target.receivedKeyAdded = true; |
- } |
- |
- function onKeyMessage(e) { |
- video.receivedKeyMessage = true; |
- if (!e.keySystem || e.keySystem != keySystem) { |
- failTest('keymessage with unexpected keySystem: ' + e.keySystem); |
- return; |
- } |
- |
- if (!e.sessionId) { |
- failTest('keymessage without a sessionId: ' + e.sessionId); |
- return; |
- } |
- |
- if (!e.message) { |
- failTest('keymessage without a message: ' + e.message); |
- return; |
- } |
- |
- if (isHeartbeatMessage(e.message)) { |
- console.log('onKeyMessage - heartbeat', e); |
- e.target.receivedHeartbeat = true; |
- verifyHeartbeatMessage(e); |
- return; |
- } |
- |
- // No tested key system returns defaultURL in for key request messages. |
- if (e.defaultURL) { |
- failTest('keymessage unexpectedly has defaultURL: ' + e.defaultURL); |
- return; |
- } |
- |
- // keymessage in response to generateKeyRequest. Reply with key. |
- console.log('onKeyMessage - key request', e); |
- var initData = e.message; |
- if (mediaType.indexOf('mp4') != -1) |
- initData = KEY_ID; // Temporary hack for Clear Key in v0.1. |
- video.webkitAddKey(keySystem, key, initData); |
- } |
- |
- function verifyHeartbeatMessage(e) { |
- // Only External Clear Key sends a HEARTBEAT message. |
- if (e.keySystem != EXTERNAL_CLEAR_KEY_KEY_SYSTEM) { |
- failTest('Unexpected heartbeat from ' + e.keySystem); |
- return; |
- } |
- |
- if (e.defaultURL != EXTERNAL_CLEAR_KEY_HEARTBEAT_URL) { |
- failTest('Heartbeat message with unexpected defaultURL: ' + e.defaultURL); |
- return; |
- } |
- } |
- |
- video.addEventListener('webkitneedkey', onNeedKey); |
- video.addEventListener('webkitkeymessage', onKeyMessage); |
- video.addEventListener('webkitkeyerror', function() { |
- setResultInTitle("KeyError"); |
- }); |
- video.addEventListener('webkitkeyadded', onKeyAdded); |
- installTitleEventHandler(video, 'error'); |
- |
- if (useMSE) { |
- var mediaSource = loadMediaSource(mediaFile, mediaType, |
- appendSourceCallbackFn); |
- video.src = window.URL.createObjectURL(mediaSource); |
- } else { |
- video.src = mediaFile; |
- } |
-} |
- |
-function getInitDataFromKeyId(keyID) { |
- var init_key_id = new Uint8Array(keyID.length); |
- for(var i = 0; i < keyID.length; i++) { |
- init_key_id[i] = keyID.charCodeAt(i); |
- } |
- return init_key_id; |
-} |