Index: LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html |
diff --git a/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html b/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html |
index 2328448d4e8d4de8f508684bff120a7adb456b88..54f2e87fc7657c3a696ac416302343e52e91d9ac 100644 |
--- a/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html |
+++ b/LayoutTests/media/encrypted-media/encrypted-media-lifetime-mediakeysession-reference.html |
@@ -39,7 +39,13 @@ |
assert_equals(typeof mediaKeys.createSession, 'function'); |
// 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. |
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 2, 'MediaKeys.create()'); |
// Create 3 sessions. |
mediaKeySession1 = mediaKeys.createSession(); |
@@ -47,19 +53,23 @@ |
}).then(function() { |
assert_true(mediaKeySession1.sessionId && mediaKeySession1.sessionId.length > 0); |
// Should be 1 MediaKeySession. |
- assert_equals(numActiveDOMObjectsCreated(), 1, 'mediaKeys.createSession(1)'); |
+ // numActiveDOMObjectsCreated() <= 4 (1 is a ScriptPromiseResolver owned by |
+ // ContentDecryptionModuleResultPromise and the other is MediaKeySession). |
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 4, 'MediaKeys.createSession(1)'); |
mediaKeySession2 = mediaKeys.createSession(); |
return mediaKeySession2.generateRequest(initDataType, initData); |
}).then(function() { |
assert_true(mediaKeySession2.sessionId && mediaKeySession2.sessionId.length > 0); |
// Should be 2 MediaKeySessions. |
- assert_equals(numActiveDOMObjectsCreated(), 2, 'mediaKeys.createSession(2)'); |
+ // numActiveDOMObjectsCreated() <= 6 (ditto) |
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 6, 'mediaKeys.createSession(2)'); |
mediaKeySession3 = mediaKeys.createSession(); |
return mediaKeySession3.generateRequest(initDataType, initData); |
}).then(function() { |
assert_true(mediaKeySession3.sessionId && mediaKeySession3.sessionId.length > 0); |
// Should be 3 MediaKeySessions. |
- assert_equals(numActiveDOMObjectsCreated(), 3, 'mediaKeys.createSession(3)'); |
+ // numActiveDOMObjectsCreated() <= 8 (ditto) |
+ assert_less_than_equal(numActiveDOMObjectsCreated(), 8, 'mediaKeys.createSession(3)'); |
// Run gc(). All sessions should remain as we have a |
// reference to each one. However, running gc() |