tor-browser

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

test_bug560780.html (3384B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=560780
      5 -->
      6 <head>
      7  <title>Test for Bug 560780</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 
     12 <script  type="text/javascript">
     13 function init() {
     14  var elem = document.getElementById('body');
     15  elem.addEventListener('mousedown', mousedown, true);
     16 }
     17 var seen_mousedown = 0;
     18 function mousedown(event) {
     19  var doc = event.target.ownerDocument;
     20  var win = doc.defaultView;
     21  var elem = doc.getElementById('body');
     22  var selection = win.getSelection();
     23  if (selection.rangeCount>0) {
     24    var ragne = selection.getRangeAt(0);
     25    var rect = ragne.getBoundingClientRect();
     26    var p = elem.parentNode.appendChild(doc.createElement('p'));
     27    p.textContent = "width: " + (rect.right -rect.left);
     28  }
     29  ++seen_mousedown;
     30 }
     31 </script>
     32 
     33 </head>
     34 <body id="body">
     35 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=560780">Mozilla Bug 560780</a>
     36 <p id="display" style="margin:0;padding:0;border:0"><a id="testlink" href="#aaaaaaaaaaaaaaaaaaaaaa">abcdefghijklmnabcdefghijklmn</a></p>
     37 <div id="content" style="display: none">
     38  
     39 </div>
     40 <pre id="test">
     41  1.Start Minefield with New Profile.
     42  2.Select texts by alt + mouse dragging horizontaly from 'd' in the link above to far right of window.
     43  3.Click on the selected text
     44  4.Click empty area of page
     45  5.Repeat STEP 2 to 4 till browser crashes. (at least 5 times)
     46 
     47 <script type="application/javascript">
     48 
     49 /** Test for Bug 560780 */
     50 
     51 function selectByMouseThenClick(elm,startx,starty) {
     52  // select some text
     53  var ctrl = !!navigator.platform.indexOf("Linux");
     54  var alt  = true;
     55  var x = startx;
     56  synthesizeMouse(elm, x,        starty, { type:"mousedown", ctrlKey:ctrl, altKey:alt }); 
     57  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     58  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     59  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     60  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     61  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     62  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     63  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     64  synthesizeMouse(elm, x += 100, starty, { type:"mousemove", ctrlKey:ctrl, altKey:alt });
     65  synthesizeMouse(elm, x,        starty, { type:"mouseup",   ctrlKey:ctrl, altKey:alt });
     66 
     67  // click on the selection
     68  synthesizeMouse(elm, startx + 10, starty + 1, {}); 
     69 
     70  // click empty area of the page
     71  synthesizeMouse(document.getElementById('body'), 800, 800, {}); 
     72 }
     73 
     74 function runTest() {
     75  var e = document.getElementById('testlink');
     76  selectByMouseThenClick(e,110,5);
     77  selectByMouseThenClick(e,90,5);
     78  selectByMouseThenClick(e,70,5);
     79  selectByMouseThenClick(e,50,5);
     80  selectByMouseThenClick(e,30,5);
     81  selectByMouseThenClick(e,10,5);
     82  is(seen_mousedown, 12, "got the mousedown events");
     83  SimpleTest.finish();
     84 }
     85 
     86 function doTest() {
     87  init();
     88  runTest();
     89 }
     90 
     91 SimpleTest.waitForFocus(doTest, window);
     92 SimpleTest.waitForExplicitFinish();
     93 
     94 
     95 
     96 </script>
     97 </pre>
     98 </body>
     99 </html>