| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>WebKitMediaKeys</title> |
| <script src=../video-test.js></script> |
| <script src=../../resources/gc.js></script> |
| <script> |
| function stringToUint8Array(str) |
| { |
| var arr=[]; |
| for(var i=0,j=str.length;i<j;++i) |
| arr[i]=str.charCodeAt(i); |
| return new Uint8Array(arr); |
| } |
| |
| var mediaKeys; |
| var mediaKeySession; |
| var initData = stringToUint8Array('mock'); |
| |
| function runTest() |
| { |
| // Initialize the MockCDM. It supports the key system 'com.apple.mock', the |
| // mime type 'video/mock'. It requires init data to begin with 'mock', and |
| // keys to begin with 'key'. |
| if (internals) |
| internals.initializeMockCDM(); |
| |
| run('mediaKeys = new WebKitMediaKeys("com.webcore.mock")'); |
| run('mediaKeySession = mediaKeys.createSession("video/mock", initData)'); |
| run('delete mediaKeySession'); |
| run('gc()'); |
| waitForEvent('webkitkeymessage', null, true, false, mediaKeySession); |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>This tests that the MediaKeySession object is not garbage collected when associated with an open mediaKeys object.</p> |
| </body> |
| </html> |