Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Unified Diff: third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-utils.js

Issue 2831963003: EME: Allow temporary sessions to be removed for ClearKey only. (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698