tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

navigate-form-requestSubmit.html (1051B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <form id="form" method="post" action="">
      5 <input type="submit" id="submit1">
      6 <input type="image" id="submit2">
      7 <button type="submit" id="submit3">
      8 </form>
      9 <script>
     10 promise_test(async () => {
     11  await new Promise(r => window.onload = r);
     12 
     13  let sourceElement;
     14  navigation.onnavigate = e => {
     15    e.preventDefault();
     16    sourceElement = e.sourceElement;
     17  };
     18 
     19  form.requestSubmit(submit1);
     20  await new Promise(r => navigation.onnavigateerror = r);
     21  assert_equals(sourceElement, submit1);
     22 
     23  form.requestSubmit(submit2);
     24  await new Promise(r => navigation.onnavigateerror = r);
     25  assert_equals(sourceElement, submit2);
     26 
     27  form.requestSubmit(submit3);
     28  await new Promise(r => navigation.onnavigateerror = r);
     29  assert_equals(sourceElement, submit3);
     30 
     31  form.requestSubmit();
     32  await new Promise(r => navigation.onnavigateerror = r);
     33  assert_equals(sourceElement, form);
     34 }, "<form> requestSubmit() sets sourceElement");
     35 </script>