| Index: third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js
|
| diff --git a/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js b/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js
|
| index 7da412966c110ad85e2eddf65b67ef795f8e3a90..38d1c9912ce5398e3dab4f02d95fa27cf3436b0a 100644
|
| --- a/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js
|
| +++ b/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js
|
| @@ -182,28 +182,28 @@ function dumpKeyStatuses(keyStatuses)
|
| }
|
|
|
| // Verify that |keyStatuses| contains just the keys in |keys.expected|
|
| -// and none of the keys in |keys.unexpected|. All keys should have status
|
| -// 'usable'. Example call: verifyKeyStatuses(mediaKeySession.keyStatuses,
|
| -// { expected: [key1], unexpected: [key2] });
|
| -function verifyKeyStatuses(keyStatuses, keys)
|
| -{
|
| - var expected = keys.expected || [];
|
| - var unexpected = keys.unexpected || [];
|
| -
|
| - // |keyStatuses| should have same size as number of |keys.expected|.
|
| - assert_equals(keyStatuses.size, expected.length);
|
| -
|
| - // All |keys.expected| should be found.
|
| - expected.map(function(key) {
|
| - assert_true(keyStatuses.has(key));
|
| - assert_equals(keyStatuses.get(key), 'usable');
|
| - });
|
| -
|
| - // All |keys.unexpected| should not be found.
|
| - unexpected.map(function(key) {
|
| - assert_false(keyStatuses.has(key));
|
| - assert_equals(keyStatuses.get(key), undefined);
|
| - });
|
| +// and none of the keys in |keys.unexpected|. All expected keys should have
|
| +// status |status|. Example call: verifyKeyStatuses(mediaKeySession.keyStatuses,
|
| +// { expected: [key1], unexpected: [key2] }, 'usable');
|
| +function verifyKeyStatuses(keyStatuses, keys, status) {
|
| + var expected = keys.expected || [];
|
| + var unexpected = keys.unexpected || [];
|
| + status = status || 'usable';
|
| +
|
| + // |keyStatuses| should have same size as number of |keys.expected|.
|
| + assert_equals(keyStatuses.size, expected.length);
|
| +
|
| + // All |keys.expected| should be found.
|
| + expected.map(function(key) {
|
| + assert_true(keyStatuses.has(key));
|
| + assert_equals(keyStatuses.get(key), status);
|
| + });
|
| +
|
| + // All |keys.unexpected| should not be found.
|
| + unexpected.map(function(key) {
|
| + assert_false(keyStatuses.has(key));
|
| + assert_equals(keyStatuses.get(key), undefined);
|
| + });
|
| }
|
|
|
| // Encodes |data| into base64url string. There is no '=' padding, and the
|
| @@ -314,6 +314,18 @@ function createClearKeyMediaKeysAndInitializeWithOneKey(keyId, key)
|
| });
|
| }
|
|
|
| +// Convert an event into a promise. When |event| is fired on |object|,
|
| +// call |func| to handle the event and either resolve or reject the promise.
|
| +// The event is only fired once.
|
| +function waitForSingleEvent(object, event, func) {
|
| + return new Promise(function(resolve, reject) {
|
| + object.addEventListener(event, function listener(e) {
|
| + object.removeEventListener(event, listener);
|
| + func(e, resolve, reject);
|
| + });
|
| + });
|
| +};
|
| +
|
| // Play the specified |content| on |video|. Returns a promise that is resolved
|
| // after the video plays for |duration| seconds.
|
| function playVideoAndWaitForTimeupdate(video, content, duration)
|
|
|