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

Unified Diff: third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html

Issue 2056053003: Change MediaKeys.setServerCertificate() to return Promise<boolean> (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changes Created 4 years, 6 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-syntax.html
diff --git a/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html b/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html
index 76b536846fa1668da4011cae130a87890a85cb12..6d395b2032048633bbc17a313e27839be3a97499 100644
--- a/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html
+++ b/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html
@@ -936,16 +936,6 @@
{
exception: 'InvalidAccessError',
func: function(mk) { return mk.setServerCertificate(new Uint8Array(0)); }
- },
- // Valid calls, but not supported by Clear Key.
- {
- exception: 'NotSupportedError',
- func: function(mk) { var cert = new Uint8Array(200); assert_true(ArrayBuffer.isView(cert)); return mk.setServerCertificate(cert); }
- },
- {
- // Pass in ArrayBuffer
- exception: 'NotSupportedError',
- func: function(mk) { var cert = new Uint8Array(200); assert_false(ArrayBuffer.isView(cert.buffer)); return mk.setServerCertificate(cert.buffer); }
}
];
@@ -967,8 +957,51 @@
});
}, 'Test MediaKeys setServerCertificate() exceptions.');
- // FIXME: Add test for successful setServerCertificate(). Note that
- // Clear Key does not support it.
+ // All calls to |func| in this group are expected to resolve.
+ var kSetServerCertificateTestCases = [
+ {
+ // Pass in ArrayBufferView
+ func: function(mk) {
+ var cert = new Uint8Array(200);
+ assert_true(ArrayBuffer.isView(cert));
+ return mk.setServerCertificate(cert);
+ },
+ expected: false,
+ },
+ {
+ // Pass in ArrayBuffer
+ func: function(mk) {
+ var buffer = new ArrayBuffer(200);
+ assert_false(ArrayBuffer.isView(buffer));
+ return mk.setServerCertificate(buffer);
+ },
+ expected: false,
+ }
+ ];
+
+ async_test(function(test)
+ {
+ var expected_result;
+ navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).then(function(access) {
+ return access.createMediaKeys();
+ }).then(function(mediaKeys) {
+ var promises = kSetServerCertificateTestCases.map(function(testCase) {
+ return testCase.func.call(null, mediaKeys);
+ });
+ expected_result = kSetServerCertificateTestCases.map(function(testCase) {
+ return testCase.expected;
+ });
+
+ assert_not_equals(promises.length, 0);
+ return Promise.all(promises);
+ }).then(function(result) {
+ assert_array_equals(result, expected_result);
+ test.done();
+ }).catch(function(error) {
+ forceTestFailureFromPromise(test, error, 'setServerCertificate() test failed');
+ });
+ }, 'Test MediaKeys setServerCertificate().');
+
// FIXME: Add syntax checks for MediaKeys.IsTypeSupported().
// FIXME: Add syntax checks for MediaKeyError and MediaKeySession events.

Powered by Google App Engine
This is Rietveld 408576698