35 lines
1 KiB
HTML
35 lines
1 KiB
HTML
<!doctype html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<form id="form" method="post" action="">
|
|
<input type="submit" id="submit1">
|
|
<input type="image" id="submit2">
|
|
<button type="submit" id="submit3">
|
|
</form>
|
|
<script>
|
|
promise_test(async () => {
|
|
await new Promise(r => window.onload = r);
|
|
|
|
let sourceElement;
|
|
navigation.onnavigate = e => {
|
|
e.preventDefault();
|
|
sourceElement = e.sourceElement;
|
|
};
|
|
|
|
form.requestSubmit(submit1);
|
|
await new Promise(r => navigation.onnavigateerror = r);
|
|
assert_equals(sourceElement, submit1);
|
|
|
|
form.requestSubmit(submit2);
|
|
await new Promise(r => navigation.onnavigateerror = r);
|
|
assert_equals(sourceElement, submit2);
|
|
|
|
form.requestSubmit(submit3);
|
|
await new Promise(r => navigation.onnavigateerror = r);
|
|
assert_equals(sourceElement, submit3);
|
|
|
|
form.requestSubmit();
|
|
await new Promise(r => navigation.onnavigateerror = r);
|
|
assert_equals(sourceElement, form);
|
|
}, "<form> requestSubmit() sets sourceElement");
|
|
</script>
|