| Index: LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html
|
| diff --git a/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html b/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html
|
| index 4bfa79aba862ff86cebcce268b7775f779a9f9f6..3a95e4ad0a4a774e3c7e10d5a6cb6c4b052fd84a 100644
|
| --- a/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html
|
| +++ b/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html
|
| @@ -14,8 +14,8 @@
|
| async_test(function(test)
|
| {
|
| var video = document.getElementById('testVideo');
|
| - var isSessionCreated = false;
|
| var isUpdatePromiseResolved = false;
|
| + var encryptedEventCount = 0;
|
|
|
| var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14, 0xd2, 0x7b,
|
| 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4, 0xae, 0x3c]);
|
| @@ -26,11 +26,13 @@
|
| assert_true(event instanceof window.MediaEncryptedEvent);
|
| assert_equals(event.type, 'encrypted');
|
|
|
| - // The same decryption key is shared by all streams so
|
| - // only create a shared session once.
|
| - if (isSessionCreated)
|
| + // The same decryption key is shared by all streams so only
|
| + // create a shared session once. To avoid timing issues with
|
| + // the "message" event being received before the second
|
| + // "encrypted" event, only create the session on the second
|
| + // event.
|
| + if (++encryptedEventCount != 2)
|
| return;
|
| - isSessionCreated = true;
|
|
|
| var mediaKeySession = video.mediaKeys.createSession();
|
| waitForEventAndRunStep('message', mediaKeySession, onMessage, test);
|
|
|