| 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.
|
| + 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');
|
|
|