OLD | NEW |
---|---|
1 <!DOCTYPE HTML> | 1 <script src="../../resources/testharness.js"></script> |
2 <head> | 2 <script src="../../resources/testharnessreport.js"></script> |
3 <title>Canvas test: drawFocusIfNeeded scrolls</title> | 3 |
4 <script src="../../resources/js-test.js"></script> | |
5 </head> | |
6 <body style="padding: 0; margin: 0"> | |
7 <div style="width: 6500px;"> | 4 <div style="width: 6500px;"> |
8 <div style="float: left; border: 1px solid #000; width: 1000px; height: 300px" > | 5 <div style="float: left; border: 1px solid #000; width: 1000px; height: 300px" > |
9 1000-pixel box | 6 1000-pixel box |
10 </div> | 7 </div> |
11 <canvas id="canvas" width="5000" height="300" style="float: left;"> | 8 <canvas id="canvas" width="5000" height="300" style="float: left;"> |
12 <button id="left_button"></button> | 9 <button id="left_button"></button> |
13 <button id="right_button"></button> | 10 <button id="right_button"></button> |
14 </canvas> | 11 </canvas> |
15 </div> | 12 </div> |
13 | |
16 <script> | 14 <script> |
17 if (window.testRunner) | 15 test(function(t) { |
18 testRunner.dumpAsText(); | |
19 | 16 |
20 var canvas = document.getElementById("canvas"); | 17 var canvas = document.getElementById("canvas"); |
Justin Novosad
2017/02/24 21:23:06
indent
zakerinasab
2017/02/27 15:36:24
Done.
| |
21 var context = canvas.getContext("2d"); | 18 var context = canvas.getContext("2d"); |
22 | 19 |
23 var LEFT_BUTTON_X_POS = 50; | 20 var LEFT_BUTTON_X_POS = 50; |
24 var RIGHT_BUTTON_X_POS = 4750; | 21 var RIGHT_BUTTON_X_POS = 4750; |
25 | 22 |
26 function draw() { | 23 function draw() { |
27 context.beginPath(); | 24 context.beginPath(); |
28 context.rect(LEFT_BUTTON_X_POS, 50, 200, 100); | 25 context.rect(LEFT_BUTTON_X_POS, 50, 200, 100); |
29 context.fillStyle = "#ccf"; | 26 context.fillStyle = "#ccf"; |
30 context.fill(); | 27 context.fill(); |
31 context.drawFocusIfNeeded(document.getElementById("left_button")); | 28 context.drawFocusIfNeeded(document.getElementById("left_button")); |
32 | 29 |
33 context.beginPath(); | 30 context.beginPath(); |
34 context.rect(RIGHT_BUTTON_X_POS, 50, 200, 100); | 31 context.rect(RIGHT_BUTTON_X_POS, 50, 200, 100); |
35 context.fillStyle = "#fcc"; | 32 context.fillStyle = "#fcc"; |
36 context.fill(); | 33 context.fill(); |
37 context.drawFocusIfNeeded(document.getElementById("right_button")); | 34 context.drawFocusIfNeeded(document.getElementById("right_button")); |
38 } | 35 } |
39 | 36 |
40 document.getElementById("right_button").focus(); | 37 document.getElementById("right_button").focus(); |
41 window.scrollTo(0, 0); | 38 window.scrollTo(0, 0); |
42 shouldBe("window.pageXOffset", "0"); | 39 assert_true(window.pageXOffset == 0); |
43 draw(); | 40 draw(); |
44 | 41 |
45 var minXOffset = RIGHT_BUTTON_X_POS + canvas.offsetLeft - window.innerWidth; | 42 var minXOffset = RIGHT_BUTTON_X_POS + canvas.offsetLeft - window.innerWidth; |
46 var maxXOffset = RIGHT_BUTTON_X_POS + canvas.offsetLeft; | 43 var maxXOffset = RIGHT_BUTTON_X_POS + canvas.offsetLeft; |
47 shouldBeGreaterThanOrEqual("window.pageXOffset", "minXOffset"); | 44 assert_true(window.pageXOffset >= minXOffset); |
48 shouldBeGreaterThanOrEqual("maxXOffset", "window.pageXOffset"); | 45 assert_true(maxXOffset >= window.pageXOffset); |
49 | 46 |
50 document.getElementById("left_button").focus(); | 47 document.getElementById("left_button").focus(); |
51 shouldBeGreaterThanOrEqual("window.pageXOffset", "minXOffset"); | 48 assert_true(window.pageXOffset >= minXOffset); |
52 shouldBeGreaterThanOrEqual("maxXOffset", "window.pageXOffset"); | 49 assert_true(maxXOffset >= window.pageXOffset); |
53 | 50 |
54 draw(); | 51 draw(); |
55 minXOffset = LEFT_BUTTON_X_POS + canvas.offsetLeft - window.innerWidth; | 52 minXOffset = LEFT_BUTTON_X_POS + canvas.offsetLeft - window.innerWidth; |
56 maxXOffset = LEFT_BUTTON_X_POS + canvas.offsetLeft; | 53 maxXOffset = LEFT_BUTTON_X_POS + canvas.offsetLeft; |
57 shouldBeGreaterThanOrEqual("window.pageXOffset", "minXOffset"); | 54 assert_true(window.pageXOffset >= minXOffset); |
58 shouldBeGreaterThanOrEqual("maxXOffset", "window.pageXOffset"); | 55 assert_true(maxXOffset >= window.pageXOffset); |
59 | 56 |
57 }, 'Canvas test: drawFocusIfNeeded scrolls'); | |
60 </script> | 58 </script> |
61 </body> | 59 </body> |
OLD | NEW |