tor-browser

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

test_bug632379.xhtml (7459B)


      1 <?xml version="1.0"?>
      2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
      3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
      4 <!--
      5 https://bugzilla.mozilla.org/show_bug.cgi?id=632379
      6 -->
      7 <window title="Mozilla Bug 632379"
      8  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
      9 
     10  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
     11  <script src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
     12 
     13  <style xmlns="http://www.w3.org/1999/xhtml"><![CDATA[
     14    menuitem { height: 19px; box-sizing: border-box }
     15  ]]></style>
     16 
     17 <toolbox flex="1">
     18  <menubar>
     19    <menu label="MENU" accesskey="m" id="mainMenu">
     20      <menupopup maxheight="100" onpopupshown="openSubmenu(this, event)">
     21        <menu label="menu1" accesskey="1" id="menu1">
     22          <menupopup onpopupshown="snapshot(this)">
     23            <menuitem label="item"/>
     24            <menuitem label="item"/>
     25            <menuitem label="item"/>
     26            <menuitem label="item"/>
     27            <menuitem label="item"/>
     28            <menuitem label="item"/>
     29            <menuitem label="item"/>
     30            <menuitem label="item"/>
     31            <menuitem label="item"/>
     32            <menuitem label="item"/>
     33            <menuitem label="item"/>
     34          </menupopup>
     35        </menu>
     36        <menu label="menu2" accesskey="2" id="menu2">
     37          <menupopup onpopupshown="snapshot(this)">
     38            <menuitem label="item"/>
     39            <menuitem label="item"/>
     40            <menuitem label="item"/>
     41            <menuitem label="item"/>
     42            <menuitem label="item"/>
     43            <menuitem label="item"/>
     44            <menuitem label="item"/>
     45            <menuitem label="item"/>
     46            <menuitem label="item"/>
     47            <menuitem label="item"/>
     48            <menuitem label="item"/>
     49          </menupopup>
     50        </menu>
     51        <menu label="menu3" accesskey="3" id="menu3">
     52          <menupopup onpopupshown="snapshot(this)">
     53            <menuitem label="item"/>
     54            <menuitem label="item"/>
     55            <menuitem label="item"/>
     56            <menuitem label="item"/>
     57            <menuitem label="item"/>
     58            <menuitem label="item"/>
     59            <menuitem label="item"/>
     60            <menuitem label="item"/>
     61            <menuitem label="item"/>
     62            <menuitem label="item"/>
     63            <menuitem label="item"/>
     64          </menupopup>
     65        </menu>
     66        <menu label="menu4" accesskey="4" id="menu4">
     67          <menupopup onpopupshown="snapshot(this)">
     68            <menuitem label="item"/>
     69            <menuitem label="item"/>
     70            <menuitem label="item"/>
     71            <menuitem label="item"/>
     72            <menuitem label="item"/>
     73            <menuitem label="item"/>
     74            <menuitem label="item"/>
     75            <menuitem label="item"/>
     76            <menuitem label="item"/>
     77            <menuitem label="item"/>
     78            <menuitem label="item"/>
     79          </menupopup>
     80        </menu>
     81        <menu label="menu5" accesskey="5" id="menu5">
     82          <menupopup onpopupshown="snapshot(this)">
     83            <menuitem label="item"/>
     84            <menuitem label="item"/>
     85            <menuitem label="item"/>
     86            <menuitem label="item"/>
     87            <menuitem label="item"/>
     88            <menuitem label="item"/>
     89            <menuitem label="item"/>
     90            <menuitem label="item"/>
     91            <menuitem label="item"/>
     92            <menuitem label="item"/>
     93            <menuitem label="item"/>
     94          </menupopup>
     95        </menu>
     96        <menu label="menu6" accesskey="6" id="menu6">
     97          <menupopup onpopupshown="snapshot(this)">
     98            <menuitem label="item"/>
     99            <menuitem label="item"/>
    100            <menuitem label="item"/>
    101            <menuitem label="item"/>
    102            <menuitem label="item"/>
    103            <menuitem label="item"/>
    104            <menuitem label="item"/>
    105            <menuitem label="item"/>
    106            <menuitem label="item"/>
    107            <menuitem label="item"/>
    108            <menuitem label="item"/>
    109          </menupopup>
    110        </menu>
    111        <menu label="menu7" accesskey="7" id="menu7">
    112          <menupopup onpopupshown="snapshot(this)">
    113            <menuitem label="item"/>
    114            <menuitem label="item"/>
    115            <menuitem label="item"/>
    116            <menuitem label="item"/>
    117            <menuitem label="item"/>
    118            <menuitem label="item"/>
    119            <menuitem label="item"/>
    120            <menuitem label="item"/>
    121            <menuitem label="item"/>
    122            <menuitem label="item"/>
    123            <menuitem label="item"/>
    124          </menupopup>
    125        </menu>
    126        <menu label="menu8" accesskey="8" id="menu8">
    127          <menupopup onpopupshown="snapshot(this)">
    128            <menuitem label="item"/>
    129            <menuitem label="item"/>
    130            <menuitem label="item"/>
    131            <menuitem label="item"/>
    132            <menuitem label="item"/>
    133            <menuitem label="item"/>
    134            <menuitem label="item"/>
    135            <menuitem label="item"/>
    136            <menuitem label="item"/>
    137            <menuitem label="item"/>
    138            <menuitem label="item"/>
    139          </menupopup>
    140        </menu>
    141        <menu label="menu9" accesskey="9" id="menu9">
    142          <menupopup onpopupshown="snapshot(this)">
    143            <menuitem label="item"/>
    144            <menuitem label="item"/>
    145            <menuitem label="item"/>
    146            <menuitem label="item"/>
    147            <menuitem label="item"/>
    148            <menuitem label="item"/>
    149            <menuitem label="item"/>
    150            <menuitem label="item"/>
    151            <menuitem label="item"/>
    152            <menuitem label="item"/>
    153            <menuitem label="item"/>
    154          </menupopup>
    155        </menu>
    156      </menupopup>
    157    </menu>
    158  </menubar>
    159 </toolbox>
    160 
    161 <body  xmlns="http://www.w3.org/1999/xhtml">
    162  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=632379">Mozilla Bug 632379</a>
    163 
    164  <p id="display"></p>
    165 <div id="content" style="display: none">
    166 </div>
    167 </body>
    168 
    169 
    170 <script class="testbody" type="application/javascript"><![CDATA[
    171 
    172 var gFinished = false;
    173 
    174 /** Test for Bug 632379 */
    175 // Tests whether scrolling a menu affects the position at which popups appear
    176 var pos = new Array(2);
    177 var count=0;
    178 
    179 function snapshot(elem)
    180 {
    181    info(`snapshot(${elem.parentNode.id}) called`);
    182    pos[count] = elem.getBoundingClientRect().top;
    183    info(elem.querySelector("menuitem").getBoundingClientRect().height);
    184    ++count;
    185    if (count <= 1) {
    186        // close the submenu and open the bottom submenu
    187        synthesizeKey("KEY_ArrowLeft");
    188        sendString("9");
    189    } else {
    190        if (!navigator.platform.includes("Mac")) {
    191            is(pos[1], pos[0], `Popup ${elem.parentNode.id} should open in the same place when the menu is scrolled`);
    192        } else {
    193            todo(false, "This test fails on Mac since it was ported to chrome: Bug 668716.");
    194        }
    195        info("Test finished");
    196        gFinished = true;
    197        SimpleTest.finish();
    198    }
    199 }
    200 
    201 function doTest() {
    202    info("doTest() called");
    203    // open the top-level menu
    204    $("mainMenu").open = true;
    205 }
    206 
    207 function openSubmenu(mainMenu, e)
    208 {
    209    if (e.originalTarget != mainMenu) {
    210        return;
    211    }
    212    info("openSubmenu() called");
    213    // open a submenu in the middle
    214    sendString("5");
    215 }
    216 
    217 SimpleTest.waitForExplicitFinish();
    218 info("Wait for focus");
    219 SimpleTest.waitForFocus(doTest);
    220 
    221 ]]></script>
    222 </window>