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

Side by Side Diff: third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-keystatuses-multiple-keys.html

Issue 2847803005: Cleanup verifyKeyStatuses() to take KeyId/status pairs (Closed)
Patch Set: Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-keystatuses-multiple-sessions.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Verify MediaKeySession.keyStatuses handles multiple keys</title> 4 <title>Verify MediaKeySession.keyStatuses handles multiple keys</title>
5 <script src="encrypted-media-utils.js"></script> 5 <script src="encrypted-media-utils.js"></script>
6 <script src="../../resources/testharness.js"></script> 6 <script src="../../resources/testharness.js"></script>
7 <script src="../../resources/testharnessreport.js"></script> 7 <script src="../../resources/testharnessreport.js"></script>
8 </head> 8 </head>
9 <body> 9 <body>
10 <script> 10 <script>
11 async_test(function(test) 11 async_test(function(test)
12 { 12 {
13 var mediaKeySession; 13 var mediaKeySession;
14 var initDataType; 14 var initDataType;
15 var initData; 15 var initData;
16 16
17 // Create a list of multiple unique keyIds. 17 // Create a list of multiple unique keyIds.
18 var keyIds = [ stringToUint8Array('keyid'), 18 const keyIds = [
19 stringToUint8Array('a really long keyid'), 19 { keyId: stringToUint8Array('keyid'), status: 'usable' },
20 new Uint8Array([0,1,2,3]), 20 { keyId: stringToUint8Array('a really long keyid'), status: 'usable' },
21 new Uint8Array([0,1,2,3,4]), 21 { keyId: new Uint8Array([0,1,2,3]), status: 'usable' },
22 new Uint8Array([0,1,2,3,4,5]), 22 { keyId: new Uint8Array([0,1,2,3,4]), status: 'usable' },
23 new Uint8Array([0,1,2,3,4,6]), 23 { keyId: new Uint8Array([0,1,2,3,4,5]), status: 'usable' },
24 stringToUint8Array('7'), 24 { keyId: new Uint8Array([0,1,2,3,4,6]), status: 'usable' },
25 stringToUint8Array('8'), 25 { keyId: stringToUint8Array('7'), status: 'usable' },
26 stringToUint8Array('9'), 26 { keyId: stringToUint8Array('8'), status: 'usable' },
27 stringToUint8Array('10'), 27 { keyId: stringToUint8Array('9'), status: 'usable' },
28 stringToUint8Array('11'), 28 { keyId: stringToUint8Array('10'), status: 'usable' },
29 stringToUint8Array('12'), 29 { keyId: stringToUint8Array('11'), status: 'usable' },
30 stringToUint8Array('13'), 30 { keyId: stringToUint8Array('12'), status: 'usable' },
31 stringToUint8Array('14'), 31 { keyId: stringToUint8Array('13'), status: 'usable' },
32 stringToUint8Array('15'), 32 { keyId: stringToUint8Array('14'), status: 'usable' },
33 stringToUint8Array('16'), 33 { keyId: stringToUint8Array('15'), status: 'usable' },
34 stringToUint8Array('17'), 34 { keyId: stringToUint8Array('16'), status: 'usable' },
35 stringToUint8Array('18'), 35 { keyId: stringToUint8Array('17'), status: 'usable' },
36 stringToUint8Array('19'), 36 { keyId: stringToUint8Array('18'), status: 'usable' },
37 stringToUint8Array('20'), 37 { keyId: stringToUint8Array('19'), status: 'usable' },
38 stringToUint8Array('21'), 38 { keyId: stringToUint8Array('20'), status: 'usable' },
39 stringToUint8Array('22'), 39 { keyId: stringToUint8Array('21'), status: 'usable' },
40 stringToUint8Array('23'), 40 { keyId: stringToUint8Array('22'), status: 'usable' },
41 stringToUint8Array('24'), 41 { keyId: stringToUint8Array('23'), status: 'usable' },
42 stringToUint8Array('25') 42 { keyId: stringToUint8Array('24'), status: 'usable' },
43 ]; 43 { keyId: stringToUint8Array('25'), status: 'usable' }
44 ];
44 45
45 46
46 function processKeyStatusesChange(event) 47 function processKeyStatusesChange(event)
47 { 48 {
48 // All 25 keyIds should be returned in keyStatuses. 49 // All 25 keyIds should be returned in keyStatuses.
49 verifyKeyStatuses(mediaKeySession.keyStatuses, { expected: k eyIds, unexpected: [] }); 50 verifyKeyStatuses(mediaKeySession.keyStatuses, keyIds);
50 test.done(); 51 test.done();
51 } 52 }
52 53
53 function processMessage(event) 54 function processMessage(event)
54 { 55 {
55 // No keys added yet. 56 // No keys added yet.
56 assert_equals(mediaKeySession.keyStatuses.size, 0); 57 assert_equals(mediaKeySession.keyStatuses.size, 0);
57 58
58 waitForEventAndRunStep('keystatuseschange', mediaKeySession, processKeyStatusesChange, test); 59 waitForEventAndRunStep('keystatuseschange', mediaKeySession, processKeyStatusesChange, test);
59 60
60 // Use the same key for all 25 keyIds. 61 // Use the same key for all 25 keyIds.
61 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0 x14, 0xd2, 0x7b, 62 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0 x14, 0xd2, 0x7b,
62 0x68, 0xef, 0x12, 0x2a, 0xfc, 0 xe4, 0xae, 0x3c]); 63 0x68, 0xef, 0x12, 0x2a, 0xfc, 0 xe4, 0xae, 0x3c]);
63 var jwks = keyIds.map(function(keyId) { return createJWK(key Id, rawKey); }); 64 var jwks = keyIds.map(function(item) { return createJWK(item .keyId, rawKey); });
64 var jwkSet = stringToUint8Array(createJWKSet.apply(this, jwk s)); 65 var jwkSet = stringToUint8Array(createJWKSet.apply(this, jwk s));
65 66
66 mediaKeySession.update(jwkSet).catch(function(error) { 67 mediaKeySession.update(jwkSet).catch(function(error) {
67 forceTestFailureFromPromise(test, error); 68 forceTestFailureFromPromise(test, error);
68 }); 69 });
69 } 70 }
70 71
71 navigator.requestMediaKeySystemAccess('org.w3.clearkey', getSimp leConfiguration()).then(function(access) { 72 navigator.requestMediaKeySystemAccess('org.w3.clearkey', getSimp leConfiguration()).then(function(access) {
72 initDataType = access.getConfiguration().initDataTypes[0]; 73 initDataType = access.getConfiguration().initDataTypes[0];
73 initData = getInitData(initDataType); 74 initData = getInitData(initDataType);
74 return access.createMediaKeys(); 75 return access.createMediaKeys();
75 }).then(function(mediaKeys) { 76 }).then(function(mediaKeys) {
76 mediaKeySession = mediaKeys.createSession(); 77 mediaKeySession = mediaKeys.createSession();
77 78
78 // There should be no keys defined yet. 79 // There should be no keys defined yet.
79 assert_equals(mediaKeySession.keyStatuses.size, 0); 80 assert_equals(mediaKeySession.keyStatuses.size, 0);
80 81
81 waitForEventAndRunStep('message', mediaKeySession, processMe ssage, test); 82 waitForEventAndRunStep('message', mediaKeySession, processMe ssage, test);
82 return mediaKeySession.generateRequest(initDataType, initDat a); 83 return mediaKeySession.generateRequest(initDataType, initDat a);
83 }).catch(function(error) { 84 }).catch(function(error) {
84 forceTestFailureFromPromise(test, error); 85 forceTestFailureFromPromise(test, error);
85 }); 86 });
86 }, 'Verify MediaKeySession.keyStatuses handles multiple keys.'); 87 }, 'Verify MediaKeySession.keyStatuses handles multiple keys.');
87 </script> 88 </script>
88 </body> 89 </body>
89 </html> 90 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-keystatuses-multiple-sessions.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698