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

Side by Side Diff: LayoutTests/http/tests/media/encrypted-media/encrypted-media-encrypted-event.html

Issue 893123004: Check origin before providing initData in encrypted event (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: mediaDataIsCORSSameOrigin Created 5 years, 10 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
OLDNEW
(Empty)
1 <!DOCTYPE html>
ddorwin 2015/02/06 21:41:33 For full coverage of this complex issue, we should
jrummell 2015/02/07 00:12:26 Opened http://crbug.com/456358
2 <html>
3 <head>
4 <title>InitDataType returned properly</title>
5 <script src="/js-test-resources/testharness.js"></script>
6 <script src="/js-test-resources/testharnessreport.js"></script>
7 </head>
8 <body>
9 <video id="testVideo1"></video>
10 <video id="testVideo2"></video>
11 <div id="log"></div>
12 <script>
13 async_test(function(test)
14 {
15 var video = document.getElementById('testVideo1');
16 var encryptedEventCount = 0;
17
18 function onEncrypted(event)
19 {
20 assert_equals(event.target, video);
21 assert_true(event instanceof window.MediaEncryptedEvent);
22 assert_equals(event.type, 'encrypted');
23
24 // Since the .src is in the same origin as this test,
25 // both initDataType and initData should contain something.
26 assert_equals(event.initDataType, 'webm');
27 assert_greater_than(event.initData.byteLength, 0);
28
29 // The same decryption key is used by both the audio and
ddorwin 2015/02/06 21:41:33 Is this really relevant? It's the fact that both t
jrummell 2015/02/07 00:12:25 Done.
30 // the video streams so finish once both events are
31 // received.
32 if (++encryptedEventCount == 2)
33 test.done();
34 }
35
36 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t hen(function(access) {
37 return access.createMediaKeys();
38 }).then(function(mediaKeys) {
39 video.addEventListener('encrypted', test.step_func(onEncrypt ed), true);
40 return video.setMediaKeys(mediaKeys);
41 }).then(function(result) {
42 video.src = 'test-encrypted.webm';
43 video.play();
44 });
45 }, 'InitDataType returned when using same origin.');
ddorwin 2015/02/06 21:41:33 It's not really the "Type" that is important here.
jrummell 2015/02/07 00:12:25 Done.
46
47 async_test(function(test)
ddorwin 2015/02/06 21:41:33 I wonder whether we should break this up into sepa
jrummell 2015/02/07 00:12:25 Done.
48 {
49 var video = document.getElementById('testVideo2');
50 var encryptedEventCount = 0;
51
52 function onEncrypted(event)
53 {
54 assert_equals(event.target, video);
55 assert_true(event instanceof window.MediaEncryptedEvent);
56 assert_equals(event.type, 'encrypted');
57
58 // Since the .src is in a different origin as this test,
59 // both initDataType and initData should be empty.
60 assert_equals(event.initDataType, '');
61 assert_equals(event.initData.byteLength, 0);
62
63 // The same decryption key is used by both the audio and
64 // the video streams so finish once both events are
65 // received.
66 if (++encryptedEventCount == 2)
67 test.done();
68 }
69
70 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t hen(function(access) {
71 return access.createMediaKeys();
72 }).then(function(mediaKeys) {
73 video.addEventListener('encrypted', test.step_func(onEncrypt ed), true);
74 return video.setMediaKeys(mediaKeys);
75 }).then(function(result) {
76 // Verify that the current origin is different than what
77 // we use for the content.
78 assert_equals(document.origin, 'http://127.0.0.1:8000');
79 video.src = 'http://127.0.0.1:8080/media/encrypted-media/tes t-encrypted.webm';
80 video.play();
81 });
82 }, 'InitDataType not returned when using different origin.');
83
84 </script>
85 </body>
86 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/http/tests/media/encrypted-media/test-encrypted.webm » ('j') | Source/core/html/HTMLMediaElement.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698