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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/security/offscreen-canvas-worker-read-blocked-by-setting.html

Issue 2171563002: Add WorkerSettings to expose certain flag values in WorkerGlobalScope (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added expected Created 4 years, 5 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>
2 <title>Block reading offscreen canvas via StrictCanvasTainting setting</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5 <script id='myWorker' type='text/worker'>
6 self.onmessage = function(e) {
7 var offCanvas = new OffscreenCanvas(100, 100);
8 var context = offCanvas.getContext('2d');
9
10 var name1 = "";
11 var message1 = message1;
12 try {
13 var imageData = context.getImageData(0, 0, 100, 100);
14 message1 = "getImageData should throw.";
15 } catch (e) {
16 name1 = e.name;
17 message1 = e.message;
18 }
19
20 var name2 = "";
21 var message2;
22 try {
23 context.drawImage(e.data, 0, 0, 100, 100);
24 var imageData = context.getImageData(0, 0, 100, 100);
25 message2 = "getImageData should throw";
26 } catch (e) {
27 name2 = e.name;
28 message2 = e.message;
29 }
30
31 self.postMessage([name1, message1, name2, message2]);
32 };
33 </script>
34 <script>
35 if (window.testRunner) {
36 testRunner.overridePreference("WebKitDisableReadingFromCanvas", true);
37 testRunner.waitUntilDone();
38 }
39
40
41 var htmlCanvas = document.createElement('canvas');
42 htmlCanvas.width = 100;
43 htmlCanvas.height = 100;
44 var htmlCtx = htmlCanvas.getContext('2d');
45 htmlCtx.fillStyle = "blue";
46 htmlCtx.fillRect(0, 0, 100, 100);
47 createImageBitmap(htmlCanvas).then(consumeImageBitmap);
48
49 function consumeImageBitmap(htmlImage) {
50 var blob = new Blob([document.getElementById('myWorker').textContent]);
51 var worker = new Worker(URL.createObjectURL(blob));
52 worker.addEventListener('message', msg => {
53 assert_equals(msg.data[0], "SecurityError", msg.data[1]);
54 assert_equals(msg.data[2], "SecurityError", msg.data[3]);
55
56 if (window.testRunner) {
57 testRunner.notifyDone();
58 }
59 });
60 worker.postMessage(htmlImage, [htmlImage]);
61 }
62 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698