| Index: third_party/WebKit/LayoutTests/fast/events/offsetX-offsetY-svg.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/events/offsetX-offsetY-svg.html b/third_party/WebKit/LayoutTests/fast/events/offsetX-offsetY-svg.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..586ed898e70c942528bf65dde1085b4906e21e20
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/events/offsetX-offsetY-svg.html
|
| @@ -0,0 +1,32 @@
|
| +<!DOCTYPE html>
|
| +<title>MouseEvent.offsetX/offsetY for an SVG element is always relative to the outermost <svg> CSS layout box</title>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<style>
|
| +svg {
|
| + border: 10px solid blue;
|
| + border-width: 20px 40px 30px 10px;
|
| +}
|
| +</style>
|
| +<svg width="400" height="400" viewBox="0 0 400000 400000">
|
| + <rect x="40000" y="60000" width="80000" height="80000" fill="blue"/>
|
| + <rect x="160000" y="180000" width="80000" height="80000" fill="blue" stroke="lightblue" stroke-width="10000"/>
|
| +</svg>
|
| +<script>
|
| +function check_offset(test, element, clientX, clientY, expectedOffsetX, expectedOffsetY) {
|
| + element.onclick = test.step_func(function(event) {
|
| + assert_equals(event.offsetX, expectedOffsetX, 'offsetX');
|
| + assert_equals(event.offsetY, expectedOffsetY, 'offsetY');
|
| + });
|
| + var mouseEvent = new MouseEvent('click', { clientX: clientX, clientY: clientY });
|
| + element.dispatchEvent(mouseEvent);
|
| +}
|
| +
|
| +test(function(t) {
|
| + var rects = document.querySelectorAll('rect');
|
| + var svgBoundingRect = document.querySelector('svg').getBoundingClientRect();
|
| + var offsetBase = { x: svgBoundingRect.left + 10, y: svgBoundingRect.top + 20 };
|
| + check_offset(t, rects[0], offsetBase.x + 80, offsetBase.y + 100, 80, 100);
|
| + check_offset(t, rects[1], offsetBase.x + 200, offsetBase.y + 220, 200, 220);
|
| +});
|
| +</script>
|
|
|