| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../../../resources/js-test.js"></script> |
| <script src="../../../../resources/ui-helper.js"></script> |
| <style> |
| body, html { |
| margin: 0; |
| } |
| |
| img { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100px; |
| height: 100px; |
| } |
| </style> |
| </head> |
| <body> |
| <img src="../../resources/green-400x400.png"></img> |
| <script> |
| jsTestIsAsync = true; |
| |
| addEventListener("load", async () => { |
| image = document.querySelector("img"); |
| |
| eventSender.mouseMoveTo(400, 400); |
| internals.installImageOverlay(image, [ |
| { |
| topLeft : new DOMPointReadOnly(0, 0.5), |
| topRight : new DOMPointReadOnly(1, 0.5), |
| bottomRight : new DOMPointReadOnly(1, 1), |
| bottomLeft : new DOMPointReadOnly(0, 1), |
| children: [{ |
| text : "webkit.org", |
| topLeft : new DOMPointReadOnly(0, 0.5), |
| topRight : new DOMPointReadOnly(1, 0.5), |
| bottomRight : new DOMPointReadOnly(1, 1), |
| bottomLeft : new DOMPointReadOnly(0, 1), |
| }], |
| } |
| ], [], [ |
| { |
| topLeft : new DOMPointReadOnly(0, 0.5), |
| topRight : new DOMPointReadOnly(1, 0.5), |
| bottomRight : new DOMPointReadOnly(1, 1), |
| bottomLeft : new DOMPointReadOnly(0, 1), |
| } |
| ]); |
| |
| eventSender.mouseMoveTo(49, 74); |
| eventSender.mouseMoveTo(50, 75); |
| await shouldBecomeEqual("internals.hasActiveDataDetectorHighlight", "true"); |
| testPassed("observed active data detector highlight"); |
| |
| image.style.width = "400px"; |
| image.style.height = "400px"; |
| |
| await shouldBecomeEqual("internals.hasActiveDataDetectorHighlight", "false"); |
| testPassed("cleared active data detector highlight"); |
| |
| eventSender.mouseMoveTo(199, 299); |
| eventSender.mouseMoveTo(200, 300); |
| await shouldBecomeEqual("internals.hasActiveDataDetectorHighlight", "true"); |
| testPassed("observed active data detector highlight (again)"); |
| |
| eventSender.mouseMoveTo(200, 510); |
| await shouldBecomeEqual("internals.hasActiveDataDetectorHighlight", "false"); |
| testPassed("cleared active data detector highlight (again)"); |
| finishJSTest(); |
| }); |
| </script> |
| </body> |
| </html> |