| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>reset() event firing realm</title> |
| <link rel="help" href="https://html.spec.whatwg.org/#resetting-a-form"> |
| <link rel="help" href="https://dom.spec.whatwg.org/#concept-event-fire"> |
| <link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <iframe src="support/reset-form-event-realm.html"></iframe> |
| <iframe></iframe> |
| |
| <script> |
| "use strict"; |
| |
| async_test(t => { |
| window.onload = t.step_func_done(() => { |
| const frame0Form = frames[0].document.forms[0]; |
| const frame1Body = frames[1].document.body; |
| |
| frame1Body.appendChild(frame0Form); |
| |
| let resetCalled = false; |
| frame0Form.onreset = t.step_func(ev => { |
| resetCalled = true; |
| |
| const functionConstructorInEvRealm = ev.constructor.constructor; |
| const functionConstructorInFormRealm = frame0Form.constructor.constructor; |
| |
| assert_equals(functionConstructorInEvRealm, functionConstructorInFormRealm, |
| "the event must be created in the realm of the target"); |
| }); |
| |
| frame0Form.reset(); |
| assert_true(resetCalled, "The reset event handler must have been called"); |
| }); |
| }, "reset()'s event must be fired in the Realm of the target") |
| </script> |