tor-browser

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

test_bug557087-4.html (2065B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=557087
      5 -->
      6 <head>
      7  <title>Test for Bug 557087</title>
      8  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      9  <script src="/tests/SimpleTest/EventUtils.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11 </head>
     12 <body>
     13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=557087">Mozilla Bug 557087</a>
     14 <p id="display"></p>
     15 <div id="content">
     16  <iframe name='f'></iframe>
     17  <form target='f' action="data:text/html">
     18    <input type='text' id='a'>
     19    <input type='checkbox' id='b'>
     20    <input type='radio' id='c'>
     21    <fieldset disabled>
     22      <fieldset>
     23        <input type='submit' id='s'>
     24      </fieldset>
     25    </fieldset>
     26  </form>
     27 </div>
     28 <pre id="test">
     29 <script type="application/javascript">
     30 
     31 /** Test for Bug 557087 */
     32 
     33 SimpleTest.waitForExplicitFinish();
     34 
     35 var gExpectedSubmits = 6;
     36 var gSubmitReceived = 0;
     37 var gEnd = false;
     38 
     39 var fieldsets = document.getElementsByTagName("fieldset");
     40 var form = document.forms[0];
     41 
     42 form.addEventListener("submit", function() {
     43  ok(gEnd, gEnd ? "expected submit" : "non expected submit");
     44  if (++gSubmitReceived >= gExpectedSubmits) {
     45    form.removeEventListener("submit", arguments.callee);
     46    SimpleTest.finish();
     47  }
     48 });
     49 
     50 var inputs = [
     51  document.getElementById('a'),
     52  document.getElementById('b'),
     53  document.getElementById('c'),
     54 ];
     55 
     56 function doSubmit()
     57 {
     58  for (e of inputs) {
     59    e.focus();
     60    synthesizeKey("KEY_Enter");
     61  }
     62 }
     63 
     64 SimpleTest.waitForFocus(function() {
     65  doSubmit();
     66 
     67  fieldsets[1].disabled = true;
     68  fieldsets[0].disabled = false;
     69  doSubmit();
     70 
     71  fieldsets[0].disabled = false;
     72  fieldsets[1].disabled = false;
     73 
     74  gEnd = true;
     75  doSubmit();
     76 
     77  // Simple check that we can submit from inside a legend even if the fieldset
     78  // is disabled.
     79  var legend = document.createElement("legend");
     80  fieldsets[0].appendChild(legend);
     81  fieldsets[0].disabled = true;
     82  legend.appendChild(document.getElementById('s'));
     83 
     84  doSubmit();
     85 });
     86 
     87 </script>
     88 </pre>
     89 </body>
     90 </html>