| OLD | NEW |
| 1 var console = null; | 1 var console = null; |
| 2 | 2 |
| 3 function consoleWrite(text) | 3 function consoleWrite(text) |
| 4 { | 4 { |
| 5 if (!console && document.body) { | 5 if (!console && document.body) { |
| 6 console = document.createElement('div'); | 6 console = document.createElement('div'); |
| 7 document.body.appendChild(console); | 7 document.body.appendChild(console); |
| 8 } | 8 } |
| 9 var span = document.createElement('span'); | 9 var span = document.createElement('span'); |
| 10 span.appendChild(document.createTextNode(text)); | 10 span.appendChild(document.createTextNode(text)); |
| 11 span.appendChild(document.createElement('br')); | 11 span.appendChild(document.createElement('br')); |
| 12 console.appendChild(span); | 12 console.appendChild(span); |
| 13 } | 13 } |
| 14 | 14 |
| 15 // FIXME: Detect EME support rather than just general container support. | |
| 16 // http://crbug.com/441585 | |
| 17 // For now, assume that implementations that support a container type for clear | |
| 18 // content and are running these tests also support that container with EME. | |
| 19 // Because this code creates an ActiveDOMObject, which could break the lifetime | |
| 20 // tests, we must run it before the actual tests run and save the results for | |
| 21 // use in the tests. | |
| 22 var element = new Audio(); | |
| 23 var isWebMSupported = ('' != element.canPlayType('video/webm')); | |
| 24 var isCencSupported = ('' != element.canPlayType('video/mp4')); | |
| 25 // Force the ActiveDOMObject to be deleted before the tests run. | |
| 26 element = null; | |
| 27 asyncGC(); | |
| 28 | |
| 29 function isInitDataTypeSupported(initDataType) | |
| 30 { | |
| 31 var result = false; | |
| 32 switch (initDataType) { | |
| 33 case 'webm': | |
| 34 result = isWebMSupported; | |
| 35 break; | |
| 36 case 'cenc': | |
| 37 result = isCencSupported; | |
| 38 break; | |
| 39 default: | |
| 40 result = false; | |
| 41 } | |
| 42 | |
| 43 return result; | |
| 44 } | |
| 45 | |
| 46 | |
| 47 function getInitDataType() | 15 function getInitDataType() |
| 48 { | 16 { |
| 49 if (isInitDataTypeSupported('webm')) | 17 return (MediaKeys.isTypeSupported('org.w3.clearkey', 'video/webm')) ? 'webm'
: 'cenc'; |
| 50 return 'webm'; | |
| 51 if (isInitDataTypeSupported('cenc')) | |
| 52 return 'cenc'; | |
| 53 throw 'No supported Initialization Data Types'; | |
| 54 } | 18 } |
| 55 | 19 |
| 56 function getInitData(initDataType) | 20 function getInitData(initDataType) |
| 57 { | 21 { |
| 58 // FIXME: This should be dependent on initDataType. | 22 // FIXME: This should be dependent on initDataType. |
| 59 return new Uint8Array([ 0, 1, 2, 3, 4, 5, 6, 7 ]); | 23 return new Uint8Array([ 0, 1, 2, 3, 4, 5, 6, 7 ]); |
| 60 } | 24 } |
| 61 | 25 |
| 62 function waitForEventAndRunStep(eventName, element, func, stepTest) | 26 function waitForEventAndRunStep(eventName, element, func, stepTest) |
| 63 { | 27 { |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 return stringToUint8Array(decoded_key); | 137 return stringToUint8Array(decoded_key); |
| 174 } | 138 } |
| 175 catch (o) { | 139 catch (o) { |
| 176 // Not valid JSON, so return message untouched as Uint8Array. | 140 // Not valid JSON, so return message untouched as Uint8Array. |
| 177 // This is for backwards compatibility. | 141 // This is for backwards compatibility. |
| 178 // FIXME: Remove this once the code is switched to return JSON all | 142 // FIXME: Remove this once the code is switched to return JSON all |
| 179 // the time. | 143 // the time. |
| 180 return new Uint8Array(message); | 144 return new Uint8Array(message); |
| 181 } | 145 } |
| 182 } | 146 } |
| OLD | NEW |