| <!DOCTYPE html> |
| <meta charset="utf-8" /> |
| <title>Popover document removal behavior</title> |
| <link rel="author" href="mailto:[email protected]"> |
| <link rel=help href="https://open-ui.org/components/popover.research.explainer"> |
| <link rel=help href="https://html.spec.whatwg.org/multipage/popover.html"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <div popover id=popover>Popover</div> |
| |
| <script> |
| promise_test(async t => { |
| function loadCompleted() { |
| return new Promise(resolve => { |
| window.addEventListener('load', resolve); |
| }); |
| } |
| const popover = document.querySelector('[popover]'); |
| assert_false(popover.matches(':popover-open')); |
| popover.showPopover(); |
| assert_true(popover.matches(':popover-open')); |
| popover.remove(); // Shouldn't cause any issues |
| document.body.click(); // Shouldn't cause light dismiss problems |
| await loadCompleted(); // The document should finish loading |
| }, 'Removal from the document shouldn\'t cause issues'); |
| |
| </script> |