| <!DOCTYPE html> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/testdriver.js"></script> | |
| <script src="/resources/testdriver-actions.js"></script> | |
| <script src="/resources/testdriver-vendor.js"></script> | |
| <script src="/common/utils.js"></script> | |
| <script src="/common/dispatcher/dispatcher.js"></script> | |
| <script src="/common/get-host-info.sub.js"></script> | |
| <script src="resources/utils.js"></script> | |
| <title>Test that notifyEvent() in a nested fenced frame only notifies the immediate parent.</title> | |
| <body> | |
| <script> | |
| promise_test(async (t) => { | |
| const fencedframe = await attachFencedFrameContext(); | |
| let topmost_notified = false; | |
| fencedframe.element.addEventListener('fencedtreeclick', () => topmost_notified = true); | |
| await fencedframe.execute(async () => { | |
| const innerframe = await attachFencedFrameContext(); | |
| window.parent_notified = false; | |
| innerframe.element.addEventListener('fencedtreeclick', () => window.parent_notified = true); | |
| await innerframe.execute(() => { | |
| document.addEventListener('click', (e) => { | |
| window.fence.notifyEvent(e); | |
| }); | |
| }); | |
| }); | |
| await multiClick(10, 10, fencedframe.element); | |
| await fencedframe.execute(() => { | |
| assert_true(window.parent_notified); | |
| }); | |
| assert_false(topmost_notified); | |
| }, "Test that notifyEvent() in a nested fenced frame only notifies the immediate parent."); | |
| </script> | |
| </body> |