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

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

Issue 1021473002: Oilpan: adjust encrypted-media expectations following r192054. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-release-noreference.html ('k') | no next file » | 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 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 return mediaKeySession; 57 return mediaKeySession;
58 }); 58 });
59 }); 59 });
60 } 60 }
61 61
62 // Create a few MediaKeys + MediaKeySession objects. Only keep 62 // Create a few MediaKeys + MediaKeySession objects. Only keep
63 // a reference to the last one created. 63 // a reference to the last one created.
64 createMediaKeyWithMediaKeySession().then(function(mediaKeySessio n) { 64 createMediaKeyWithMediaKeySession().then(function(mediaKeySessio n) {
65 // Should be 1 MediaKeySession. 65 // Should be 1 MediaKeySession.
66 // In non-Oilpan, numActiveDOMObjectsCreate() == 1. 66 // In non-Oilpan, numActiveDOMObjectsCreate() == 1.
67 // In Oilpan, numActiveDOMObjectsCreated() <= 4. 67 // In Oilpan, numActiveDOMObjectsCreated() <= 5.
68 // (1 MediaKeysInitializer, 68 // (1 MediaKeysInitializer,
69 // 1 MediaKeySystemAccessInitializer, 69 // 1 MediaKeySystemAccessInitializer (navigator.requestMedi aKeySystemAccess() use above),
70 // 1 MediaKeySystemAccessInitializer (isInitDataSupported() (via getSupportedInitDataType())),
70 // 1 ContentDecryptionModuleResultPromise and 71 // 1 ContentDecryptionModuleResultPromise and
71 // 1 MediaKeySession). 72 // 1 MediaKeySession).
72 assert_less_than_equal(numActiveDOMObjectsCreated(), 4); 73 assert_less_than_equal(numActiveDOMObjectsCreated(), 5);
73 return createMediaKeyWithMediaKeySession(); 74 return createMediaKeyWithMediaKeySession();
74 }).then(function(mediaKeySession) { 75 }).then(function(mediaKeySession) {
75 // Should be 2 MediaKeySessions. 76 // Should be 2 MediaKeySessions.
76 // In non-Oilpan, numActiveDOMObjectsCreate() == 2. 77 // In non-Oilpan, numActiveDOMObjectsCreate() == 2.
77 // In Oilpan, numActiveDOMObjectsCreate() <= 8. 78 // In Oilpan, numActiveDOMObjectsCreate() <= 10.
78 // (2 MediaKeysInitializer, 79 // (2 MediaKeysInitializer,
79 // 2 MediaKeySystemAccessInitializer, 80 // 4 MediaKeySystemAccessInitializer,
80 // 2 ContentDecryptionModuleResultPromise and 81 // 2 ContentDecryptionModuleResultPromise and
81 // 2 MediaKeySession). 82 // 2 MediaKeySession).
82 assert_less_than_equal(numActiveDOMObjectsCreated(), 8); 83 assert_less_than_equal(numActiveDOMObjectsCreated(), 10);
83 return createMediaKeyWithMediaKeySession(); 84 return createMediaKeyWithMediaKeySession();
84 }).then(function(mediaKeySession) { 85 }).then(function(mediaKeySession) {
85 // Should be 3 MediaKeySessions. 86 // Should be 3 MediaKeySessions.
86 // In non-Oilpan, numActiveDOMObjectsCreate() == 3. 87 // In non-Oilpan, numActiveDOMObjectsCreate() == 3.
87 // In Oilpan, numActiveDOMObjectsCreate() <= 12. 88 // In Oilpan, numActiveDOMObjectsCreate() <= 15.
88 // (3 MediaKeysInitializer, 89 // (3 MediaKeysInitializer,
89 // 3 MediaKeySystemAccessInitializer, 90 // 6 MediaKeySystemAccessInitializer,
90 // 3 ContentDecryptionModuleResultPromise and 91 // 3 ContentDecryptionModuleResultPromise and
91 // 3 MediaKeySession). 92 // 3 MediaKeySession).
92 assert_less_than_equal(numActiveDOMObjectsCreated(), 12); 93 assert_less_than_equal(numActiveDOMObjectsCreated(), 15);
93 return createMediaKeyWithMediaKeySession(); 94 return createMediaKeyWithMediaKeySession();
94 }).then(function(mediaKeySession) { 95 }).then(function(mediaKeySession) {
95 // Should be 4 MediaKeySessions. 96 // Should be 4 MediaKeySessions.
96 // In non-Oilpan, numActiveDOMObjectsCreate() == 4. 97 // In non-Oilpan, numActiveDOMObjectsCreate() == 4.
97 // In Oilpan, numActiveDOMObjectsCreate() <= 16. 98 // In Oilpan, numActiveDOMObjectsCreate() <= 20.
98 // (4 MediaKeysInitializer, 99 // (4 MediaKeysInitializer,
99 // 4 MediaKeySystemAccessInitializer, 100 // 8 MediaKeySystemAccessInitializer,
100 // 4 ContentDecryptionModuleResultPromise and 101 // 4 ContentDecryptionModuleResultPromise and
101 // 4 MediaKeySession). 102 // 4 MediaKeySession).
102 assert_less_than_equal(numActiveDOMObjectsCreated(), 16); 103 assert_less_than_equal(numActiveDOMObjectsCreated(), 20);
103 return createMediaKeyWithMediaKeySession(); 104 return createMediaKeyWithMediaKeySession();
104 }).then(function(mediaKeySession) { 105 }).then(function(mediaKeySession) {
105 // Should be 5 MediaKeySessions. 106 // Should be 5 MediaKeySessions.
106 // In non-Oilpan, numActiveDOMObjectsCreate() == 5. 107 // In non-Oilpan, numActiveDOMObjectsCreate() == 5.
107 // In Oilpan, numActiveDOMObjectsCreate() <= 20. 108 // In Oilpan, numActiveDOMObjectsCreate() <= 25.
108 // (5 MediaKeysInitializer, 109 // (5 MediaKeysInitializer,
109 // 5 MediaKeySystemAccessInitializer, 110 // 10 MediaKeySystemAccessInitializer,
110 // 5 ContentDecryptionModuleResultPromise and 111 // 5 ContentDecryptionModuleResultPromise and
111 // 5 MediaKeySession). 112 // 5 MediaKeySession).
112 assert_less_than_equal(numActiveDOMObjectsCreated(), 20); 113 assert_less_than_equal(numActiveDOMObjectsCreated(), 25);
113 114
114 // |mediaKeys| refers to the most recently created MediaKeys 115 // |mediaKeys| refers to the most recently created MediaKeys
115 // object. 116 // object.
116 // 117 //
117 // In order for the MediaKeySession objects to have no 118 // In order for the MediaKeySession objects to have no
118 // outstanding activity so that they can be garbage 119 // outstanding activity so that they can be garbage
119 // collected, it needs time to process any pending events. 120 // collected, it needs time to process any pending events.
120 // As a "message" event is generated when a new session is 121 // As a "message" event is generated when a new session is
121 // created, we need to allow the event to run (we're not 122 // created, we need to allow the event to run (we're not
122 // doing anything with the event in this test). 123 // doing anything with the event in this test).
123 return delayToAllowEventProcessingPromise(); 124 return delayToAllowEventProcessingPromise();
124 }).then(function(result) { 125 }).then(function(result) {
125 // In non-Oilpan, numActiveDOMObjectsCreated() == 5 126 // In non-Oilpan, numActiveDOMObjectsCreated() == 5
126 // (5 MediaKeySession objects). 127 // (5 MediaKeySession objects).
127 // In Oilpan, numActiveDOMObjectsCreated() <= 21 128 // In Oilpan, numActiveDOMObjectsCreated() <= 28
128 // (5 MediaKeysInitializer, 129 // (5 MediaKeysInitializer,
129 // 5 MediaKeySystemAccessInitializer, 130 // 12 MediaKeySystemAccessInitializer,
130 // 5 ContentDecryptionModuleResultPromise, 131 // 5 ContentDecryptionModuleResultPromise,
131 // 5 MediaKeySession, and 132 // 5 MediaKeySession, and
132 // 1 DOMTimer (in delayToAllowEventProcessingPromise)) 133 // 1 DOMTimer (in delayToAllowEventProcessingPromise))
133 assert_true(numActiveDOMObjectsCreated() >= 5); 134 assert_true(numActiveDOMObjectsCreated() >= 5);
134 assert_less_than_equal(numActiveDOMObjectsCreated(), 21); 135 assert_less_than_equal(numActiveDOMObjectsCreated(), 28);
135 136
136 // As we only have a reference (|mediaKeys|) to the last 137 // As we only have a reference (|mediaKeys|) to the last
137 // created MediaKeys object, the other 4 MediaKeys objects 138 // created MediaKeys object, the other 4 MediaKeys objects
138 // are available to be garbage collected. 139 // are available to be garbage collected.
139 // 140 //
140 // Since MediaKeySessions remain alive as long as MediaKeys 141 // Since MediaKeySessions remain alive as long as MediaKeys
141 // is around, it is possible that gc() checks the 142 // is around, it is possible that gc() checks the
142 // MediaKeySession object first, and doesn't collect it 143 // MediaKeySession object first, and doesn't collect it
143 // since MediaKeys hasn't been collected yet. Thus run gc() 144 // since MediaKeys hasn't been collected yet. Thus run gc()
144 // twice, to ensure that the unreferenced MediaKeySession 145 // twice, to ensure that the unreferenced MediaKeySession
(...skipping 20 matching lines...) Expand all
165 }).then(function(result) { 166 }).then(function(result) {
166 assert_less_than_equal(numActiveDOMObjectsCreated(), 1); 167 assert_less_than_equal(numActiveDOMObjectsCreated(), 1);
167 test.done(); 168 test.done();
168 }).catch(function(error) { 169 }).catch(function(error) {
169 forceTestFailureFromPromise(test, error); 170 forceTestFailureFromPromise(test, error);
170 }); 171 });
171 }, 'Multiple MediaKeys lifetime'); 172 }, 'Multiple MediaKeys lifetime');
172 </script> 173 </script>
173 </body> 174 </body>
174 </html> 175 </html>
OLDNEW
« no previous file with comments | « LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-release-noreference.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698