notify-event-nested-fenced-frames.https.html (1546B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="/resources/testdriver.js"></script> 5 <script src="/resources/testdriver-actions.js"></script> 6 <script src="/resources/testdriver-vendor.js"></script> 7 <script src="/common/utils.js"></script> 8 <script src="/common/dispatcher/dispatcher.js"></script> 9 <script src="/common/get-host-info.sub.js"></script> 10 <script src="resources/utils.js"></script> 11 <title>Test that notifyEvent() in a nested fenced frame only notifies the immediate parent.</title> 12 13 <body> 14 <script> 15 promise_test(async (t) => { 16 const fencedframe = await attachFencedFrameContext(); 17 let topmost_notified = false; 18 fencedframe.element.addEventListener('fencedtreeclick', () => topmost_notified = true); 19 20 await fencedframe.execute(async () => { 21 const innerframe = await attachFencedFrameContext(); 22 window.parent_notified = false; 23 innerframe.element.addEventListener('fencedtreeclick', () => window.parent_notified = true); 24 25 await innerframe.execute(() => { 26 document.addEventListener('click', (e) => { 27 window.fence.notifyEvent(e); 28 }); 29 }); 30 }); 31 32 await multiClick(10, 10, fencedframe.element); 33 34 await fencedframe.execute(() => { 35 assert_true(window.parent_notified); 36 }); 37 38 assert_false(topmost_notified); 39 }, "Test that notifyEvent() in a nested fenced frame only notifies the immediate parent."); 40 </script> 41 </body>