| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>Test that setting "onselectionchange" content attribute adds an event listener</title> | |
| <link rel="help" href="https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers-interface"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <body> | |
| <div id="testElement" onselectionchange="window.handlerSetFromParserWasFired()"></div> | |
| <script> | |
| promise_test(() => { | |
| return new Promise(resolve => { | |
| window.handlerSetFromParserWasFired = resolve; | |
| testElement.dispatchEvent(new Event("selectionchange")); | |
| }); | |
| }, "handler set from parser"); | |
| promise_test(() => { | |
| const el = document.createElement("div"); | |
| el.setAttribute("onselectionchange", "window.handlerSetViaSetAttributeWasFired()"); | |
| document.body.append(el); | |
| return new Promise(resolve => { | |
| window.handlerSetViaSetAttributeWasFired = resolve; | |
| el.dispatchEvent(new Event("selectionchange")); | |
| }); | |
| }, "handler set via setAttribute()"); | |
| </script> |