OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <div id="target" style=" | 2 <div id="target" style=" |
3 outline: dashed lightblue; | 3 outline: dashed lightblue; |
4 -webkit-columns: 2; | 4 -webkit-columns: 2; |
5 -webkit-column-gap: 0; | 5 -webkit-column-gap: 0; |
6 columns: 2; | 6 columns: 2; |
7 column-gap: 0; | 7 column-gap: 0; |
8 column-fill: auto; | 8 column-fill: auto; |
9 width: 400px; | 9 -webkit-logical-width: 400px; |
10 height: 80px; | 10 -webkit-logical-height: 80px; |
11 font: 20px Ahem; | 11 font: 20px Ahem; |
12 line-height: 2; | 12 line-height: 2; |
13 ">Lorem ipsum dolor sit amet</div> | 13 ">Lorem ipsum dolor sit amet</div> |
14 <pre id="console"></pre> | 14 <pre id="console"></pre> |
15 <script> | 15 <script> |
16 if (window.testRunner) | 16 if (window.testRunner) |
17 testRunner.dumpAsText(); | 17 testRunner.dumpAsText(); |
18 | 18 |
19 function log(message) | 19 function log(message) |
20 { | 20 { |
21 document.getElementById("console").appendChild(document.createTextNode(m
essage + "\n")); | 21 document.getElementById("console").appendChild(document.createTextNode(m
essage + "\n")); |
22 } | 22 } |
23 | 23 |
24 // Clicking below the last line in the first column should not select anythi
ng from the first | 24 // Clicking below the last line in the first column should not select anythi
ng from the first |
25 // line on the second column. | 25 // line on the second column. |
26 var target = document.getElementById("target"); | 26 var target = document.getElementById("target"); |
27 var hitOffset = document.caretRangeFromPoint(target.offsetLeft + 190, target
.offsetTop + 77).startOffset; | 27 var hitOffset = document.caretRangeFromPoint(target.offsetLeft + 190, target
.offsetTop + 77).startOffset; |
28 log(hitOffset === 11 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); | 28 log(hitOffset === 11 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); |
29 | 29 |
30 // Clicking above the first line in the second column should not snap to the
beginning of the line. | 30 // Clicking above the first line in the second column should not snap to the
beginning of the line. |
31 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 250, target.off
setTop + 2).startOffset; | 31 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 250, target.off
setTop + 2).startOffset; |
32 log(hitOffset === 14 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); | 32 log(hitOffset === 14 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); |
33 | 33 |
34 // Now test with a flipped lines writing mode. | 34 // Now test with a flipped lines writing mode. |
35 target.style.webkitWritingMode = "horizontal-bt"; | 35 target.style.webkitWritingMode = "vertical-rl"; |
36 | 36 |
37 // Clicking above the last line in the first column should not select anythi
ng from the first | 37 // Clicking above the last line in the first column should not select anythi
ng from the first |
38 // line on the second column. | 38 // line on the second column. |
39 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 190, target.off
setTop + 3).startOffset; | 39 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 80, target.offs
etTop + 193).startOffset; |
40 log(hitOffset === 11 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); | 40 log(hitOffset === 11 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); |
41 | 41 |
42 // Clicking below the first line in the second column should not snap to the
beginning of the line. | 42 // Clicking below the first line in the second column should not snap to the
beginning of the line. |
43 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 250, target.off
setTop + 78).startOffset; | 43 hitOffset = document.caretRangeFromPoint(target.offsetLeft + 77, target.offs
etTop + 250).startOffset; |
44 log(hitOffset === 14 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); | 44 log(hitOffset === 14 ? "PASS" : "FAIL: hit offset " + hitOffset + "."); |
45 </script> | 45 </script> |
OLD | NEW |