tor-browser

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

multi-range-script-select-ref.html (4849B)


      1 <!DOCTYPE HTML>
      2 <html class="reftest-wait"><head>
      3    <meta charset="utf-8">
      4    <title>Testcase #1 for bug 1129078</title>
      5    <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6    <script src="selection-utils.js"></script>
      7 
      8 <style type="text/css">
      9 @font-face {
     10  font-family: Ahem;
     11  src: url("Ahem.ttf");
     12 }
     13 html,body { margin:0; padding: 0; }
     14 body,pre { font-family: Ahem; font-size: 20px; }
     15 </style>
     16 </head>
     17 <body>
     18 
     19 <pre id="select">
     20 2af45494-ak7e-11e4-a0c6-a7e7
     21 38222880-bj6d-11e4-8064-fb7b
     22 3d649ae4-ci5c-11e4-995d-17b2
     23 434351bc-dh4b-11e4-9971-4fc8
     24 4dc0e0b4-eg4a-11e4-8c28-5319
     25 a96319c8-ad7d-11e4-b312-039c
     26 </pre>
     27 
     28 <pre id="log" style="border:1px solid green"></pre>
     29 
     30 <script>
     31 
     32 var sel = window.getSelection();
     33 var e = document.querySelector('#select');
     34 function setupSelectionPrev3() {
     35  addChildRanges([[0,150,0,160], [0,65,0,70], [0,15,0,15]], e);
     36  sel.extend(e.firstChild, 10);  // to get eDirPrevious direction
     37 }
     38 function setupSelectionPrev2() {
     39  addChildRanges([[0,150,0,160], [0,70,0,70]], e);
     40  sel.extend(e.firstChild, 65);  // to get eDirPrevious direction
     41 }
     42 function setupSelectionPrev1() {
     43  addChildRanges([[0,160,0,160]], e);
     44  sel.extend(e.firstChild, 150);  // to get eDirPrevious direction
     45 }
     46 
     47 function setupSelectionNext3() {
     48  addChildRanges([[0,10,0,15], [0,65,0,70], [0,150,0,160]], e);
     49 }
     50 function setupSelectionNext2() {
     51  addChildRanges([[0,10,0,15], [0,65,0,70]], e);
     52 }
     53 function setupSelectionNext2b() {
     54  addChildRanges([[0,15,0,80], [0,150,0,160]], e);
     55 }
     56 function setupSelectionNext1() {
     57  addChildRanges([[0,10,0,15]], e);
     58 }
     59 function setupSelectionNext1b() {
     60  addChildRanges([[0,15,0,170]], e);
     61 }
     62 function setupSelectionNext1c() {
     63  addChildRanges([[0,150,0,160]], e);
     64 }
     65 
     66 function runTest() {
     67  var hash = window.location.hash
     68  var op = hash.substring(6,8);
     69  var test = hash.substring(0,6);
     70  if (hash.substring(0,5) == "#prev") {
     71    if (test == "#prev1") {
     72      setupSelectionPrev3();
     73      if (op == "SL") {
     74        sel.extend(e.firstChild, 8);
     75      } else if (op == "SR") {
     76        sel.extend(e.firstChild, 12);
     77      } else if (op == "AD") {
     78        addChildRanges([[0,1,0,2]], e);
     79      } else {
     80        sel.extend(e.firstChild, 1);
     81      }
     82    } else if (test == "#prev2") {
     83      setupSelectionPrev3();
     84      sel.extend(e.firstChild, 13);
     85    } else if (test == "#prev3") {
     86      if (op == "S_") {
     87        setupSelectionPrev3();
     88        sel.extend(e.firstChild, 20);
     89      } else if (op == "SA") {
     90        setupSelectionPrev3();
     91        sel.extend(e.firstChild, 20);
     92      }
     93    } else if (test == "#prev4") {
     94      addChildRanges([[0,67,0,70], [0,150,0,160], [0,15,0,67]], e); 
     95    } else if (test == "#prev5") {
     96      if (op == "S_") {
     97        setupSelectionNext2b();
     98      } else if (op == "SA") {
     99        setupSelectionNext2b();
    100      }
    101    } else if (test == "#prev6") {
    102      addChildRanges([[0,152,0,160], [0,15,0,152]], e);
    103    } else if (test == "#prev7") {
    104      if (op == "AD") {
    105        setupSelectionPrev3();
    106        addChildRanges([[0,168,0,170]], e);
    107      } else if (op == "S_") {
    108        setupSelectionNext1b();
    109      } else if (op == "SA") {
    110        setupSelectionNext1b();
    111      }
    112    }
    113  } else {
    114    if (test == "#next1") {
    115      if (op == "SL") {
    116        setupSelectionNext3();
    117        sel.extend(e.firstChild, 158);
    118      } else if (op == "SR") {
    119        setupSelectionNext3();
    120        sel.extend(e.firstChild, 162);
    121      } else if (op == "AD") {
    122        setupSelectionNext3();
    123        addChildRanges([[0,1,0,2]], e);
    124      } else if (op == "S_") {
    125        setupSelectionNext1c();
    126        sel.extend(e.firstChild, 1);
    127      } else if (op == "SA") {
    128        setupSelectionNext1c();
    129        sel.extend(e.firstChild, 1);
    130      }
    131    } else if (test == "#next2") {
    132      addChildRanges([[0,10,0,13], [0,150,0,151]], e);
    133      sel.extend(e.firstChild, 13);
    134    } else if (test == "#next3") {
    135      if (op == "S_") {
    136        addChildRanges([[0,10,0,15], [0,150,0,151]], e);
    137        sel.extend(e.firstChild, 20);
    138      } else if (op == "SA") {
    139        setupSelectionNext3();
    140        sel.extend(e.firstChild, 20);
    141      }
    142    } else if (test == "#next4") {
    143      setupSelectionNext3();
    144      sel.extend(e.firstChild, 67);
    145    } else if (test == "#next5") {
    146      if (op == "S_") {
    147        setupSelectionNext3();
    148        sel.extend(e.firstChild, 80);
    149      } else if (op == "SA") {
    150        setupSelectionNext3();
    151        sel.extend(e.firstChild, 80);
    152      }
    153    } else if (test == "#next6") {
    154      setupSelectionNext3();
    155      sel.extend(e.firstChild, 152);
    156    } else if (test == "#next7") {
    157      setupSelectionNext3();
    158      if (op == "AD") {
    159        addChildRanges([[0,168,0,170]], e);
    160      } else {
    161        sel.extend(e.firstChild, 170);
    162      }
    163    }
    164  }
    165  document.documentElement.removeAttribute("class");
    166 }
    167 
    168 SimpleTest.waitForFocus(runTest);
    169 
    170 </script>
    171 
    172 </body>
    173 </html>