| <!DOCTYPE HTML> |
| <title>Document.prototype.elementsFromPoint on SVG text content elements</title> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-document-elementsfrompoint"> |
| <script src="../../../../../resources/testharness.js"></script> |
| <script src="../../../../../resources/testharnessreport.js"></script> |
| <script src="resources/elementsFromPoint.js"></script> |
| <style> |
| html, body { |
| margin: 0; |
| padding: 0; |
| } |
| #svg { |
| margin: 100px; |
| background-color: rgba(0,180,0,0.2); |
| } |
| text { |
| font-size: 50px; |
| } |
| </style> |
| <div id='sandbox'> |
| <svg id='svg' width='300' height='300'> |
| <defs> |
| <path id="path" d="M10,170h1000"/> |
| </defs> |
| <text id="text1" x="10" y="50">Some text</text> |
| <text id="text2" x="10" y="110"><tspan id="tspan1">Some text</tspan></text> |
| <text id="text3"><textPath id="textpath1" xlink:href="#path">Some text</textpath></text> |
| <text id="text4" x="10" y="230">Text under<tspan id="tspan2" x="10">Text over</tspan></text> |
| </svg> |
| </div> |
| <script> |
| test(function() { |
| assertElementsFromPoint('document', 125, 125, |
| [text1, svg, sandbox, document.body, document.documentElement]); |
| }, 'elementsFromPoint for a point inside a <text>'); |
| |
| test(function() { |
| assertElementsFromPoint('document', 125, 185, |
| [tspan1, svg, sandbox, document.body, document.documentElement]); |
| }, 'elementsFromPoint for a point inside a <tspan> nested in a <text> without content'); |
| |
| test(function() { |
| assertElementsFromPoint('document', 125, 245, |
| [textpath1, svg, sandbox, document.body, document.documentElement]); |
| }, 'elementsFromPoint for a point inside a <textPath> nested in a <text> without content'); |
| |
| test(function() { |
| assertElementsFromPoint('document', 125, 305, |
| [tspan2, text4, svg, sandbox, document.body, document.documentElement]); |
| }, 'elementsFromPoint for a point inside an overlapping <tspan> nested in a <text>'); |
| </script> |