Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html

Issue 1004843003: Use requestMediaKeySystemAccess() to check type support in EME layout tests (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Changes Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Test MediaKeySession lifetime without release()</title> 4 <title>Test MediaKeySession lifetime without release()</title>
5 <script src="encrypted-media-utils.js"></script> 5 <script src="encrypted-media-utils.js"></script>
6 <script src="../../resources/testharness.js"></script> 6 <script src="../../resources/testharness.js"></script>
7 <script src="../../resources/testharnessreport.js"></script> 7 <script src="../../resources/testharnessreport.js"></script>
8 </head> 8 </head>
9 <body> 9 <body>
10 <div id="log"></div> 10 <div id="log"></div>
11 <script> 11 <script>
12 // Since MediaKeySession (but not MediaKeys) are ActiveDOMObjects, 12 // Since MediaKeySession (but not MediaKeys) are ActiveDOMObjects,
13 // we can determine when they are garbage collected. 13 // we can determine when they are garbage collected.
14 // MediaKeySessions remain as long as: 14 // MediaKeySessions remain as long as:
15 // JavaScript has a reference to it 15 // JavaScript has a reference to it
16 // OR (MediaKeys is around 16 // OR (MediaKeys is around
17 // AND the session has not received a close() event) 17 // AND the session has not received a close() event)
18 18
19 async_test(function(test) 19 async_test(function(test)
20 { 20 {
21 var mediaKeys; 21 var mediaKeys;
22 var mediaKeySession1; 22 var mediaKeySession1;
23 var mediaKeySession2; 23 var mediaKeySession2;
24 var mediaKeySession3; 24 var mediaKeySession3;
25 var initDataType = getInitDataType(); 25 var initDataType;
26 var initData = getInitData(initDataType); 26 var initData;
27 var startingActiveDOMObjectCount = window.internals.activeDOMObj ectCount(document); 27 var startingActiveDOMObjectCount = window.internals.activeDOMObj ectCount(document);
28 28
29 function numActiveDOMObjectsCreated() 29 function numActiveDOMObjectsCreated()
30 { 30 {
31 return window.internals.activeDOMObjectCount(document) - sta rtingActiveDOMObjectCount; 31 return window.internals.activeDOMObjectCount(document) - sta rtingActiveDOMObjectCount;
32 } 32 }
33 33
34 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t hen(function(access) { 34 getSupportedInitDataType().then(function(type) {
35 initDataType = type;
36 initData = getInitData(initDataType);
37 return navigator.requestMediaKeySystemAccess('org.w3.clearke y', [{}]);
38 }).then(function(access) {
35 assert_equals(access.keySystem, 'org.w3.clearkey'); 39 assert_equals(access.keySystem, 'org.w3.clearkey');
36 return access.createMediaKeys(); 40 return access.createMediaKeys();
37 }).then(function(result) { 41 }).then(function(result) {
38 mediaKeys = result; 42 mediaKeys = result;
39 assert_equals(typeof mediaKeys.createSession, 'function'); 43 assert_equals(typeof mediaKeys.createSession, 'function');
40 44
41 // Verify MediaKeys are not an ActiveDOMObject. 45 // Verify MediaKeys are not an ActiveDOMObject.
42 // In non-Oilpan, numActiveDOMObjectsCreate() == 0. 46 // In non-Oilpan, numActiveDOMObjectsCreate() == 0.
43 // In Oilpan, numActiveDOMObjetsCreated() <= 2. 47 // In Oilpan, numActiveDOMObjetsCreated() <= 2.
44 // (1 MediaKeysInitializer and 48 // (1 MediaKeysInitializer and
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 }).then(function(result) { 129 }).then(function(result) {
126 assert_less_than_equal(numActiveDOMObjectsCreated(), 1); 130 assert_less_than_equal(numActiveDOMObjectsCreated(), 1);
127 test.done(); 131 test.done();
128 }).catch(function(error) { 132 }).catch(function(error) {
129 forceTestFailureFromPromise(test, error); 133 forceTestFailureFromPromise(test, error);
130 }); 134 });
131 }, 'MediaKeySession lifetime without release()'); 135 }, 'MediaKeySession lifetime without release()');
132 </script> 136 </script>
133 </body> 137 </body>
134 </html> 138 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698