jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | <html> |
| 3 | <head> |
jer.noble@apple.com | af0a6dd | 2013-08-09 00:07:23 +0000 | [diff] [blame] | 4 | <title>WebKitMediaKeys</title> |
jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 5 | <script src=../video-test.js></script> |
| 6 | <script> |
| 7 | function stringToUint8Array(str) |
| 8 | { |
| 9 | var arr=[]; |
| 10 | for(var i=0,j=str.length;i<j;++i) |
| 11 | arr[i]=str.charCodeAt(i); |
| 12 | return new Uint8Array(arr); |
| 13 | } |
| 14 | |
| 15 | var mediaKeys; |
| 16 | var mediaKeySession; |
| 17 | var initData = stringToUint8Array('mock'); |
| 18 | var invalidKey = stringToUint8Array('invalid'); |
| 19 | var validKey = stringToUint8Array('key'); |
| 20 | |
| 21 | function runTest() |
| 22 | { |
| 23 | // Initialize the MockCDM. It supports the key system 'com.apple.mock', the |
| 24 | // mime type 'video/mock'. It requires init data to begin with 'mock', and |
| 25 | // keys to begin with 'key'. |
| 26 | if (internals) |
| 27 | internals.initializeMockCDM(); |
| 28 | |
jer.noble@apple.com | af0a6dd | 2013-08-09 00:07:23 +0000 | [diff] [blame] | 29 | run('mediaKeys = new WebKitMediaKeys("com.webcore.mock")'); |
jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 30 | run('mediaKeySession = mediaKeys.createSession("video/mock", initData)'); |
| 31 | waitForEvent('webkitkeymessage', keyMessage, false, false, mediaKeySession); |
| 32 | waitForEvent('webkitkeyerror', keyError, false, false, mediaKeySession); |
| 33 | waitForEvent('webkitkeyadded', null, true, false, mediaKeySession); |
| 34 | } |
| 35 | |
| 36 | function keyMessage(event) |
| 37 | { |
jer.noble@apple.com | 3b9fdc8 | 2013-08-09 00:40:01 +0000 | [diff] [blame] | 38 | run('mediaKeySession.update(invalidKey)'); |
jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 39 | } |
| 40 | |
| 41 | function keyError(event) |
| 42 | { |
jer.noble@apple.com | 3b9fdc8 | 2013-08-09 00:40:01 +0000 | [diff] [blame] | 43 | run('mediaKeySession.update(validKey)'); |
jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 44 | } |
| 45 | </script> |
| 46 | </head> |
| 47 | <body onload="runTest()"> |
jer.noble@apple.com | af0a6dd | 2013-08-09 00:07:23 +0000 | [diff] [blame] | 48 | <p>This tests the events created by WebKitMediaKeys.</p> |
jer.noble@apple.com | 09c10fb | 2013-02-08 23:31:29 +0000 | [diff] [blame] | 49 | </html> |