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

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

Issue 568033003: Implement MediaKeySession close() and remove() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 2 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 after release() without references< /title> 4 <title>Test MediaKeySession lifetime after release() without references< /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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // Should be 2 MediaKeySessions. 49 // Should be 2 MediaKeySessions.
50 assert_equals(numActiveDOMObjectsCreated(), 2, 'mediaKeys.cr eateSession(2)'); 50 assert_equals(numActiveDOMObjectsCreated(), 2, 'mediaKeys.cr eateSession(2)');
51 }).then(function(result) { 51 }).then(function(result) {
52 // Run gc(). All sessions should remain as we have a 52 // Run gc(). All sessions should remain as we have a
53 // reference to each one. 53 // reference to each one.
54 return createGCPromise(); 54 return createGCPromise();
55 }).then(function(result) { 55 }).then(function(result) {
56 // Should be just the 2 MediaKeySessions. 56 // Should be just the 2 MediaKeySessions.
57 assert_equals(numActiveDOMObjectsCreated(), 2, 'After gc()') ; 57 assert_equals(numActiveDOMObjectsCreated(), 2, 'After gc()') ;
58 58
59 // Release the sessions. Once the close() event is received, 59 // Close the sessions. Once the close() event is received,
60 // they should get garbage collected as there are no JS 60 // they should get garbage collected as there are no JS
61 // references to them. 61 // references to them.
62 var promise = mediaKeySession1.release(); 62 var promise = mediaKeySession1.close();
63 mediaKeySession1 = null; 63 mediaKeySession1 = null;
64 return promise; 64 return promise;
65 }).then(function(result) { 65 }).then(function(result) {
66 // Give time so that the close event can be processed by 66 // Give time so that the close event can be processed by
67 // MediaKeySession. 67 // MediaKeySession.
68 return delayToAllowEventProcessingPromise(); 68 return delayToAllowEventProcessingPromise();
69 }).then(function(result) { 69 }).then(function(result) {
70 return createGCPromise(); 70 return createGCPromise();
71 }).then(function(result) { 71 }).then(function(result) {
72 // Should be just mediaKeySession2. 72 // Should be just mediaKeySession2.
73 assert_equals(numActiveDOMObjectsCreated(), 1); 73 assert_equals(numActiveDOMObjectsCreated(), 1);
74 var promise = mediaKeySession2.release(); 74 var promise = mediaKeySession2.close();
75 mediaKeySession2 = null; 75 mediaKeySession2 = null;
76 return promise; 76 return promise;
77 }).then(function(result) { 77 }).then(function(result) {
78 // Provide time for the mediaKeySession2 close event to be 78 // Provide time for the mediaKeySession2 close event to be
79 // handled. 79 // handled.
80 return delayToAllowEventProcessingPromise(); 80 return delayToAllowEventProcessingPromise();
81 }).then(function(result) { 81 }).then(function(result) {
82 return createGCPromise(); 82 return createGCPromise();
83 }).then(function(result) { 83 }).then(function(result) {
84 assert_equals(numActiveDOMObjectsCreated(), 0); 84 assert_equals(numActiveDOMObjectsCreated(), 0);
85 assert_not_equals(mediaKeys, null); 85 assert_not_equals(mediaKeys, null);
86 test.done(); 86 test.done();
87 }).catch(function(error) { 87 }).catch(function(error) {
88 forceTestFailureFromPromise(test, error); 88 forceTestFailureFromPromise(test, error);
89 }); 89 });
90 }, 'MediaKeySession lifetime after release() without references'); 90 }, 'MediaKeySession lifetime after release() without references');
91 </script> 91 </script>
92 </body> 92 </body>
93 </html> 93 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698