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

Side by Side Diff: LayoutTests/fast/canvas/canvas-createImageBitmap-immutable.html

Issue 19393004: Allow eviction of ImageBitmaps that are created from ImageElements. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Decrease canvas size for recursive test. Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <html>
2 <body>
3 <script>
4 if (window.testRunner)
5 window.testRunner.waitUntilDone();
6
7 var aCanvas = document.createElement('canvas');
8 aCanvas.setAttribute('width', '10');
9 aCanvas.setAttribute('height', '10');
10 var aCtx = aCanvas.getContext('2d');
11 aCtx.fillStyle = 'green';
12 aCtx.fillRect(0, 0, 20, 20);
13
14 var bCanvas = document.createElement('canvas');
15 bCanvas.setAttribute('width', '10');
16 bCanvas.setAttribute('height', '10');
17 var bCtx = bCanvas.getContext('2d');
18 bCtx.fillStyle = 'red';
19 bCtx.fillRect(0, 0, 20, 20);
20
21 var canvas = document.createElement('canvas');
22 canvas.setAttribute('width', '40');
23 canvas.setAttribute('height', '30');
24 var ctx = canvas.getContext('2d');
25 document.body.appendChild(canvas);
26
27 var image = new Image();
28 image.onload = imageLoaded;
29 image.src = aCanvas.toDataURL();
30
31 var d;
32
33 function imageLoaded() {
34 d = aCtx.getImageData(0, 0, 10, 10);
35 createImageBitmap(image, callback('Image'));
36 createImageBitmap(d, callback('Data'));
37 createImageBitmap(aCanvas, callback('Canvas'));
38 }
39
40 var imageBitmapImage, imageBitmapData, imageBitmapCanvas;
41 var i = 0;
42 function callback(name) {
43 var name = name;
44 return function(imageBitmap) {
45 switch(name) {
46 case 'Image':
47 imageBitmapImage = imageBitmap;
48 image.onload = draw(imageBitmapImage);
49 image.src = bCanvas.toDataURL();
50 createImageBitmap(imageBitmapImage, callback('ImageBitmapImage'));
51 break;
52 case 'Data':
53 imageBitmapData = imageBitmap;
54 d = 0;
55 ctx.drawImage(imageBitmapData, 11, 0);
56 createImageBitmap(imageBitmapData, callback('ImageBitmapData'));
57 checkIfDone();
58 break;
59 case 'Canvas':
60 imageBitmapCanvas = imageBitmap;
61 aCtx.clearRect(0, 0, 10, 10);
62 ctx.drawImage(imageBitmapCanvas, 22, 0);
63 createImageBitmap(imageBitmapCanvas, callback('ImageBitmapCanvas'));
64 checkIfDone();
65 break;
66 case 'ImageBitmapImage':
67 imageBitmapImage = 0;
68 ctx.drawImage(imageBitmap, 0, 11);
69 checkIfDone();
70 break;
71 case 'ImageBitmapData':
72 d = 0;
73 imageBitmapData = 0;
74 ctx.drawImage(imageBitmap, 11, 11);
75 checkIfDone();
76 break;
77 case 'ImageBitmapCanvas':
78 aCtx.clearRect(0, 0, 10, 10);
79 imageBitmapCanvas = 0;
80 ctx.drawImage(imageBitmap, 22, 11);
81 checkIfDone();
82 break;
83 }
84 }
85 }
86
87 function draw(imageBitmap) {
88 ctx.drawImage(imageBitmap, 0, 0);
89 checkIfDone();
90 }
91
92 function checkIfDone() {
93 if (++i == 6 && window.testRunner)
94 window.testRunner.notifyDone();
95 }
96
97 </script>
98 <p>There should be 6 green squares displayed in a 2 row by 3 column grid.</p>
99 </body>
100 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698