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

Side by Side Diff: LayoutTests/media/encrypted-media/encrypted-media-lifetime-multiple-mediakeys.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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Test multiple MediaKeys lifetimes</title> 4 <title>Test multiple MediaKeys lifetimes</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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 { 46 {
47 return MediaKeys.create('org.w3.clearkey').then(function(res ult) { 47 return MediaKeys.create('org.w3.clearkey').then(function(res ult) {
48 mediaKeys = result; 48 mediaKeys = result;
49 return mediaKeys.createSession(initDataType, initData); 49 return mediaKeys.createSession(initDataType, initData);
50 }); 50 });
51 } 51 }
52 52
53 // Create a few MediaKeys + MediaKeySession objects. Only keep 53 // Create a few MediaKeys + MediaKeySession objects. Only keep
54 // a reference to the last one created. 54 // a reference to the last one created.
55 createMediaKeyWithMediaKeySession().then(function(mediaKeySessio n) { 55 createMediaKeyWithMediaKeySession().then(function(mediaKeySessio n) {
56 // Should be 1 MediaKeySession + 1 PromiseResolver for the 56 // Should be 1 MediaKeySession.
57 // MediaKeySession. 57 assert_equals(numActiveDOMObjectsCreated(), 1);
58 return createMediaKeyWithMediaKeySession();
59 }).then(function(mediaKeySession) {
60 // Should be 2 MediaKeySessions.
58 assert_equals(numActiveDOMObjectsCreated(), 2); 61 assert_equals(numActiveDOMObjectsCreated(), 2);
59 return createMediaKeyWithMediaKeySession(); 62 return createMediaKeyWithMediaKeySession();
60 }).then(function(mediaKeySession) { 63 }).then(function(mediaKeySession) {
61 // Should be 2 MediaKeySessions + 1 PromiseResolver for the 64 // Should be 3 MediaKeySessions.
62 // latest MediaKeySession.
63 assert_equals(numActiveDOMObjectsCreated(), 3); 65 assert_equals(numActiveDOMObjectsCreated(), 3);
64 return createMediaKeyWithMediaKeySession(); 66 return createMediaKeyWithMediaKeySession();
65 }).then(function(mediaKeySession) { 67 }).then(function(mediaKeySession) {
66 // Should be 3 MediaKeySessions + 1 PromiseResolver for the 68 // Should be 4 MediaKeySessions.
67 // latest MediaKeySession.
68 assert_equals(numActiveDOMObjectsCreated(), 4); 69 assert_equals(numActiveDOMObjectsCreated(), 4);
69 return createMediaKeyWithMediaKeySession(); 70 return createMediaKeyWithMediaKeySession();
70 }).then(function(mediaKeySession) { 71 }).then(function(mediaKeySession) {
71 // Should be 4 MediaKeySessions + 1 PromiseResolver for the 72 // Should be 5 MediaKeySessions.
72 // latest MediaKeySession.
73 assert_equals(numActiveDOMObjectsCreated(), 5); 73 assert_equals(numActiveDOMObjectsCreated(), 5);
74 return createMediaKeyWithMediaKeySession();
75 }).then(function(mediaKeySession) {
76 // Should be 5 MediaKeySessions + 1 PromiseResolver for the
77 // latest MediaKeySession.
78 assert_equals(numActiveDOMObjectsCreated(), 6);
79 74
80 // |mediaKeys| refers to the most recently created MediaKeys 75 // |mediaKeys| refers to the most recently created MediaKeys
81 // object. 76 // object.
82 // 77 //
83 // In order for the MediaKeySession objects to have no 78 // In order for the MediaKeySession objects to have no
84 // outstanding activity so that they can be garbage 79 // outstanding activity so that they can be garbage
85 // collected, it needs time to process any pending events. 80 // collected, it needs time to process any pending events.
86 // As a "message" event is generated when a new session is 81 // As a "message" event is generated when a new session is
87 // created, we need to allow the event to run (we're not 82 // created, we need to allow the event to run (we're not
88 // doing anything with the event in this test). 83 // doing anything with the event in this test).
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 }).then(function(result) { 117 }).then(function(result) {
123 assert_equals(numActiveDOMObjectsCreated(), 0); 118 assert_equals(numActiveDOMObjectsCreated(), 0);
124 test.done(); 119 test.done();
125 }).catch(function(error) { 120 }).catch(function(error) {
126 forceTestFailureFromPromise(test, error); 121 forceTestFailureFromPromise(test, error);
127 }); 122 });
128 }, 'Multiple MediaKeys lifetime'); 123 }, 'Multiple MediaKeys lifetime');
129 </script> 124 </script>
130 </body> 125 </body>
131 </html> 126 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698