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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-getContext2D-in-worker.html

Issue 1748163003: Add rendering context and rendering 2D context to OffscreenCanvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make OffscreenCanvasRenderingContext Modules exportable" Created 4 years, 9 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <script src="../../resources/js-test.js"></script> 3 <script src="../../resources/js-test.js"></script>
4 <body> 4 <body>
5 <script id="myWorker" type="text/worker"> 5 <script id="myWorker" type="text/worker">
6 self.onmessage = function(e) { 6 self.onmessage = function(e) {
7 var aCanvas = new OffscreenCanvas(50, 50); 7 var aCanvas = new OffscreenCanvas(50, 50);
8 self.postMessage({version:'first', width:aCanvas.width, height:aCanvas.height} ); 8 try {
9 9 var ctx = aCanvas.getContext('2d');
10 aCanvas.width = 100; 10 if (toString.call(ctx) != '[object OffscreenCanvasRenderingContext2D]') {
11 aCanvas.height = 100; 11 self.postMessage("aCanvas.getContext('2d') does not return [object Off screenCanvasRenderingContext2D]");
12 self.postMessage({version:'second', width:aCanvas.width, height:aCanvas.height }); 12 } else {
13 self.postMessage("success");
14 }
15 } catch (e) {
16 self.postMessage(e);
17 }
13 }; 18 };
14 </script> 19 </script>
15 20
16 <script> 21 <script>
17 jsTestIsAsync = true; 22 jsTestIsAsync = true;
18 description("Tests that the OffscreenCanvas can be constructed on a worker threa d."); 23 description("Tests that the 2D context of OffscreenCanvas can be constructed on a worker thread.");
19
20 var width;
21 var height;
22 24
23 function makeWorker(script) { 25 function makeWorker(script) {
24 var blob = new Blob([script]); 26 var blob = new Blob([script]);
25 return new Worker(URL.createObjectURL(blob)); 27 return new Worker(URL.createObjectURL(blob));
26 } 28 }
27 29
28 function handleMessageFromWorker(msg) { 30 function handleMessageFromWorker(msg)
29 width = msg.data.width; 31 {
30 height = msg.data.height; 32 if (msg.data == "success") {
31 switch (msg.data.version) { 33 testPassed("getContext('2d') correctly returns [object OffscreenCanvasRe nderingContext2D].");
32 case 'first': 34 } else {
33 shouldBe('width', '50'); 35 testFailed(msg.data);
34 shouldBe('height', '50'); 36 }
35 break; 37 finishJSTest();
36 case 'second':
37 shouldBe('width', '100');
38 shouldBe('height', '100');
39 finishJSTest();
40 break;
41 default:
42 testFailed("Unexpected failure");
43 break;
44 }
45 } 38 }
46 39
47 var worker = makeWorker(document.getElementById('myWorker').textContent); 40 var worker = makeWorker(document.getElementById('myWorker').textContent);
48 worker.addEventListener('message', handleMessageFromWorker); 41 worker.addEventListener('message', handleMessageFromWorker);
49 worker.postMessage(""); 42 worker.postMessage("");
50 </script> 43 </script>
51 44
52 </body> 45 </body>
53 </html> 46 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698