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

Side by Side Diff: LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html

Issue 441063003: Run microtasks at the end of each worker task. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 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
« no previous file with comments | « no previous file | LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-release.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Test MediaKeys lifetime when adding a session</title> 4 <title>Test MediaKeys lifetime when adding a session</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>
(...skipping 20 matching lines...) Expand all
31 31
32 function numActiveDOMObjectsCreated() 32 function numActiveDOMObjectsCreated()
33 { 33 {
34 return window.internals.activeDOMObjectCount(document) - sta rtingActiveDOMObjectCount; 34 return window.internals.activeDOMObjectCount(document) - sta rtingActiveDOMObjectCount;
35 } 35 }
36 36
37 // Create a MediaKeys object with a session. 37 // Create a MediaKeys object with a session.
38 MediaKeys.create('org.w3.clearkey').then(function(result) { 38 MediaKeys.create('org.w3.clearkey').then(function(result) {
39 mediaKeys = result; 39 mediaKeys = result;
40 40
41 // Verify MediaKeys are not an ActiveDOMObject. However, the 41 // Verify MediaKeys are not an ActiveDOMObject.
42 // PromiseResolver objects used by MediaKeys/MediaKeySession 42 assert_equals(numActiveDOMObjectsCreated(), 0, 'MediaKeys.cr eate()');
43 // are ActiveDOMObjects, and they stay active until the end
44 // of the promise.
45 assert_equals(numActiveDOMObjectsCreated(), 1, 'MediaKeys.cr eate()');
46 43
47 var initDataType = getInitDataType(); 44 var initDataType = getInitDataType();
48 return mediaKeys.createSession(initDataType, getInitData(ini tDataType)); 45 return mediaKeys.createSession(initDataType, getInitData(ini tDataType));
49 }).then(function(mediaKeySession) { 46 }).then(function(mediaKeySession) {
50 // 1 MediaKeySession + 1 PromiseResolver. 47 // 1 MediaKeySession.
51 assert_equals(numActiveDOMObjectsCreated(), 2, 'MediaKeys.cr eateSession()'); 48 assert_equals(numActiveDOMObjectsCreated(), 1, 'MediaKeys.cr eateSession()');
52 49
53 // Run gc(), should not affect MediaKeys object nor the 50 // Run gc(), should not affect MediaKeys object nor the
54 // session since we still have a reference to it. 51 // session since we still have a reference to it.
55 return createGCPromise(); 52 return createGCPromise();
56 }).then(function(result) { 53 }).then(function(result) {
57 assert_equals(mediaKeys.keySystem, 'org.w3.clearkey'); 54 assert_equals(mediaKeys.keySystem, 'org.w3.clearkey');
58 // Ensure that MediaKeySession (but not PromiseResolver) is 55 // Ensure that MediaKeySession (but not PromiseResolver) is
59 // still around. 56 // still around.
60 assert_equals(numActiveDOMObjectsCreated(), 1, 'After gc()') ; 57 assert_equals(numActiveDOMObjectsCreated(), 1, 'After gc()') ;
61 58
(...skipping 12 matching lines...) Expand all
74 }).then(function(result) { 71 }).then(function(result) {
75 assert_equals(numActiveDOMObjectsCreated(), 0); 72 assert_equals(numActiveDOMObjectsCreated(), 0);
76 test.done(); 73 test.done();
77 }).catch(function(error) { 74 }).catch(function(error) {
78 forceTestFailureFromPromise(test, error); 75 forceTestFailureFromPromise(test, error);
79 }); 76 });
80 }, 'MediaKeys lifetime with session'); 77 }, 'MediaKeys lifetime with session');
81 </script> 78 </script>
82 </body> 79 </body>
83 </html> 80 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-release.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698