| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>Hit-test of clip-path polygon on <div> with box-shadow</title> | 2 <title>Hit-test of clip-path polygon</title> |
| 3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
| 4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
| 5 <style> | 5 <style> |
| 6 body { | 6 body { |
| 7 margin: 0; | 7 margin: 0; |
| 8 } | 8 } |
| 9 .box { | 9 #target { |
| 10 width: 100px; | 10 fill: blue; |
| 11 height: 100px; | |
| 12 background-color: blue; | |
| 13 box-shadow: -100px 0px red; | |
| 14 -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); | |
| 15 clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); | 11 clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); |
| 16 } | 12 } |
| 17 </style> | 13 </style> |
| 18 <div class=box></div> | 14 <svg> |
| 15 <rect id="target" x="50" y="25" width="100" height="100"/> |
| 16 </svg> |
| 19 <script> | 17 <script> |
| 20 function assert_element_at(element, pointlist) { | 18 function assert_element_at(element, pointlist) { |
| 21 for (var point of pointlist) { | 19 for (var point of pointlist) { |
| 22 var result = document.elementFromPoint(point[0], point[1]); | 20 var result = document.elementFromPoint(point[0], point[1]); |
| 23 assert_equals(result, element, point.join(',')); | 21 assert_equals(result, element, point.join(',')); |
| 24 } | 22 } |
| 25 } | 23 } |
| 26 | 24 |
| 27 test(function() { | 25 test(function() { |
| 28 var div = document.querySelector('.box'); | 26 var div = document.querySelector('#target'); |
| 29 | 27 |
| 30 // Points inside clip-path. | 28 // Points inside clip-path. |
| 31 assert_element_at(div, [[50, 50], [50, 25], [50, 75], [25, 50], [75, 50]]); | 29 assert_element_at(div, [[100, 75], [100, 50], [100, 100], [75, 75], [125, 75]]
); |
| 32 | 30 |
| 33 // Points outside clip-path. | 31 // Points outside clip-path. |
| 34 assert_element_at(document.body, [[20, 20], [80, 20], [20, 80], [80, 80]]); | 32 assert_element_at(document.querySelector('svg'), [[70, 45], [130, 45], [70, 10
5], [130, 105]]); |
| 35 }); | 33 }); |
| 36 </script> | 34 </script> |
| OLD | NEW |