Chromium Code Reviews| 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'); |
|
xhwang
2017/04/25 16:43:48
nit: Since we are already using a dictionary for t
jrummell
2017/04/25 17:54:10
Good idea, except I think it needs to be { expecte
|
| +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) |