| 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()
|
|
|