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

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: Fix for assertion failure. 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 function shouldNotBeCalled() {
8 testFailed("Promise was rejected.");
9 finishJSTest();
10 }
11
12 var aCanvas = document.createElement('canvas');
13 aCanvas.setAttribute('width', '10');
14 aCanvas.setAttribute('height', '10');
15 var aCtx = aCanvas.getContext('2d');
16 aCtx.fillStyle = 'green';
17 aCtx.fillRect(0, 0, 20, 20);
18
19 var bCanvas = document.createElement('canvas');
20 bCanvas.setAttribute('width', '10');
21 bCanvas.setAttribute('height', '10');
22 var bCtx = bCanvas.getContext('2d');
23 bCtx.fillStyle = 'red';
24 bCtx.fillRect(0, 0, 20, 20);
25
26 var canvas = document.createElement('canvas');
27 canvas.setAttribute('width', '40');
28 canvas.setAttribute('height', '30');
29 var ctx = canvas.getContext('2d');
30 document.body.appendChild(canvas);
31
32 var image = new Image();
33 image.onload = imageLoaded;
34 image.src = aCanvas.toDataURL();
35
36 var d;
37
38 function imageLoaded() {
39 d = aCtx.getImageData(0, 0, 10, 10);
40 createImageBitmap(image).then(callback('Image'), shouldNotBeCalled);
41 createImageBitmap(d).then(callback('Data'), shouldNotBeCalled);
42 createImageBitmap(aCanvas).then(callback('Canvas'), shouldNotBeCalled);
43 }
44
45 var imageBitmapImage, imageBitmapData, imageBitmapCanvas;
46 var i = 0;
47 function callback(name) {
48 var name = name;
49 return function(imageBitmap) {
50 switch(name) {
51 case 'Image':
52 imageBitmapImage = imageBitmap;
53 image.onload = draw(imageBitmapImage);
54 image.src = bCanvas.toDataURL();
55 createImageBitmap(imageBitmapImage).then(callback('ImageBitmapImage' , shouldNotBeCalled));
56 break;
57 case 'Data':
58 imageBitmapData = imageBitmap;
59 d = 0;
60 ctx.drawImage(imageBitmapData, 11, 0);
61 createImageBitmap(imageBitmapData).then(callback('ImageBitmapData', shouldNotBeCalled));
62 checkIfDone();
63 break;
64 case 'Canvas':
65 imageBitmapCanvas = imageBitmap;
66 aCtx.clearRect(0, 0, 10, 10);
67 ctx.drawImage(imageBitmapCanvas, 22, 0);
68 createImageBitmap(imageBitmapCanvas).then(callback('ImageBitmapCanva s', shouldNotBeCalled));
69 checkIfDone();
70 break;
71 case 'ImageBitmapImage':
72 imageBitmapImage = 0;
73 ctx.drawImage(imageBitmap, 0, 11);
74 checkIfDone();
75 break;
76 case 'ImageBitmapData':
77 d = 0;
78 imageBitmapData = 0;
79 ctx.drawImage(imageBitmap, 11, 11);
80 checkIfDone();
81 break;
82 case 'ImageBitmapCanvas':
83 aCtx.clearRect(0, 0, 10, 10);
84 imageBitmapCanvas = 0;
85 ctx.drawImage(imageBitmap, 22, 11);
86 checkIfDone();
87 break;
88 }
89 }
90 }
91
92 function draw(imageBitmap) {
93 ctx.drawImage(imageBitmap, 0, 0);
94 checkIfDone();
95 }
96
97 function checkIfDone() {
98 if (++i == 6 && window.testRunner)
99 window.testRunner.notifyDone();
100 }
101
102 </script>
103 <p>There should be 6 green squares displayed in a 2 row by 3 column grid.</p>
104 </body>
105 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698