OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var allTests = [ | 5 var allTests = [ |
6 function testGetImageData() { | 6 function testGetImageData() { |
7 var image = rootNode.find({ role: RoleType.image }); | 7 var image = rootNode.find({ role: RoleType.image }); |
8 image.addEventListener(EventType.imageFrameUpdated, function() { | 8 image.addEventListener(EventType.imageFrameUpdated, function() { |
9 assertEq(image.imageDataUrl.substr(0, 22), 'data:image/png;base64,'); | 9 assertEq(image.imageDataUrl.substr(0, 22), 'data:image/png;base64,'); |
10 var imgElement = document.createElement('img'); | 10 var imgElement = document.createElement('img'); |
11 imgElement.src = image.imageDataUrl; | 11 imgElement.src = image.imageDataUrl; |
12 var canvas = document.createElement('canvas'); | 12 var canvas = document.createElement('canvas'); |
13 canvas.setAttribute('width', 2); | 13 canvas.setAttribute('width', 2); |
14 canvas.setAttribute('height', 3); | 14 canvas.setAttribute('height', 3); |
15 var context = canvas.getContext('2d'); | 15 var context = canvas.getContext('2d'); |
16 context.drawImage(imgElement, 0, 0); | 16 imgElement.onload = function() { |
17 var imageData = context.getImageData(0, 0, 2, 3); | 17 context.drawImage(imgElement, 0, 0); |
18 // Check image data in RGBA format. | 18 var imageData = context.getImageData(0, 0, 2, 3); |
19 // Top row: red | 19 // Check image data in RGBA format. |
20 assertEq(imageData.data[0], 0xFF); | 20 // Top row: red |
21 assertEq(imageData.data[1], 0x00); | 21 assertEq(imageData.data[0], 0xFF); |
22 assertEq(imageData.data[2], 0x00); | 22 assertEq(imageData.data[1], 0x00); |
23 assertEq(imageData.data[3], 0xFF); | 23 assertEq(imageData.data[2], 0x00); |
24 assertEq(imageData.data[4], 0xFF); | 24 assertEq(imageData.data[3], 0xFF); |
25 assertEq(imageData.data[5], 0x00); | 25 assertEq(imageData.data[4], 0xFF); |
26 assertEq(imageData.data[6], 0x00); | 26 assertEq(imageData.data[5], 0x00); |
27 assertEq(imageData.data[7], 0xFF); | 27 assertEq(imageData.data[6], 0x00); |
28 // Middle row: green | 28 assertEq(imageData.data[7], 0xFF); |
29 assertEq(imageData.data[8], 0x00); | 29 // Middle row: green |
30 assertEq(imageData.data[9], 0xFF); | 30 assertEq(imageData.data[8], 0x00); |
31 assertEq(imageData.data[10], 0x00); | 31 assertEq(imageData.data[9], 0xFF); |
32 assertEq(imageData.data[11], 0xFF); | 32 assertEq(imageData.data[10], 0x00); |
33 assertEq(imageData.data[12], 0x00); | 33 assertEq(imageData.data[11], 0xFF); |
34 assertEq(imageData.data[13], 0xFF); | 34 assertEq(imageData.data[12], 0x00); |
35 assertEq(imageData.data[14], 0x00); | 35 assertEq(imageData.data[13], 0xFF); |
36 assertEq(imageData.data[15], 0xFF); | 36 assertEq(imageData.data[14], 0x00); |
37 // Last row: blue | 37 assertEq(imageData.data[15], 0xFF); |
38 assertEq(imageData.data[16], 0x00); | 38 // Last row: blue |
39 assertEq(imageData.data[17], 0x00); | 39 assertEq(imageData.data[16], 0x00); |
40 assertEq(imageData.data[18], 0xFF); | 40 assertEq(imageData.data[17], 0x00); |
41 assertEq(imageData.data[19], 0xFF); | 41 assertEq(imageData.data[18], 0xFF); |
42 assertEq(imageData.data[20], 0x00); | 42 assertEq(imageData.data[19], 0xFF); |
43 assertEq(imageData.data[21], 0x00); | 43 assertEq(imageData.data[20], 0x00); |
44 assertEq(imageData.data[22], 0xFF); | 44 assertEq(imageData.data[21], 0x00); |
45 assertEq(imageData.data[23], 0xFF); | 45 assertEq(imageData.data[22], 0xFF); |
46 chrome.test.succeed(); | 46 assertEq(imageData.data[23], 0xFF); |
| 47 chrome.test.succeed(); |
| 48 }; |
47 }, true); | 49 }, true); |
48 image.getImageData(0, 0); | 50 image.getImageData(0, 0); |
49 } | 51 } |
50 ]; | 52 ]; |
51 | 53 |
52 setUpAndRunTests(allTests, 'image_data.html'); | 54 setUpAndRunTests(allTests, 'image_data.html'); |
OLD | NEW |