Index: LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html |
diff --git a/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html b/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html |
index 6ab4bb750278a08e25315d23933c23ff59bee585..565f20e39f16a0c1be80a166c594febbfe5142b4 100644 |
--- a/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html |
+++ b/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html |
@@ -42,17 +42,28 @@ |
mediaKeys = result; |
// Verify MediaKeys are not an ActiveDOMObject. |
- assert_equals(numActiveDOMObjectsCreated(), 0, 'MediaKeys.create()'); |
+ // MediaKeys are not an ActiveDOMObject, but when creating MediaKeys, |
+ // creating ScriptPromiseResolvers, which are ActiveDOMObjects. |
+ // so numActiveDOMObjetsCreated() <= 2 (1 is MediaKeysInitializer and |
+ // the other is MediaKeySystemAccessInitializer). |
+ // When enabling oilpan, the ScriptPromiseResolvers are not destroyed |
+ // immediately. So numActiveDOMObjectsCreate() <= 2. |
haraken
2014/12/16 13:52:45
Simplify the comment.
// In non-Oilpan, numActive
tasak
2014/12/17 08:40:08
Done.
|
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 2, 'MediaKeys.create()'); |
var initDataType = getInitDataType(); |
var mediaKeySession = mediaKeys.createSession(); |
return mediaKeySession.generateRequest(initDataType, getInitData(initDataType)); |
}).then(function() { |
// 1 MediaKeySession. |
- assert_equals(numActiveDOMObjectsCreated(), 1, 'MediaKeys.createSession()'); |
+ // numActiveDOMObjectsCreated() <= 4 (1 is a ScriptPromiseResolver owned by |
+ // ContentDecryptionModuleResultPromise and the other is MediaKeySession). |
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 4, 'MediaKeys.createSession(1)'); |
// Run gc(), should not affect MediaKeys object nor the |
// session since we still have a reference to it. |
+ |
+ // When enabling oilpan GC, the in-active ScriptPromiseResolvers will be |
+ // destroyed. |
return createGCPromise(); |
}).then(function(result) { |
assert_equals(typeof mediaKeys.createSession, 'function'); |