tor-browser

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

browser_test_tab_drag_zoom.js (2946B)


      1 /* This test is a a mash up of
      2     https://searchfox.org/mozilla-central/rev/016925857e2f81a9425de9e03021dcf4251cafcc/gfx/layers/apz/test/mochitest/browser_test_select_zoom.js
      3     https://searchfox.org/mozilla-central/rev/016925857e2f81a9425de9e03021dcf4251cafcc/browser/base/content/test/general/browser_tab_drag_drop_perwindow.js
      4 */
      5 
      6 const EVENTUTILS_URL =
      7  "chrome://mochikit/content/tests/SimpleTest/EventUtils.js";
      8 var EventUtils = {};
      9 
     10 Services.scriptloader.loadSubScript(EVENTUTILS_URL, EventUtils);
     11 
     12 add_task(async function test_dragging_zoom_handling() {
     13  function httpURL(filename) {
     14    let chromeURL = getRootDirectory(gTestPath) + filename;
     15    //return chromeURL;
     16    return chromeURL.replace(
     17      "chrome://mochitests/content/",
     18      "http://mochi.test:8888/"
     19    );
     20  }
     21 
     22  const pageUrl = httpURL("helper_test_tab_drag_zoom.html");
     23 
     24  let win1 = await BrowserTestUtils.openNewBrowserWindow();
     25  let win2 = await BrowserTestUtils.openNewBrowserWindow();
     26 
     27  let tab1 = await BrowserTestUtils.openNewForegroundTab(win1.gBrowser);
     28  let tab2 = await BrowserTestUtils.openNewForegroundTab(
     29    win2.gBrowser,
     30    pageUrl
     31  );
     32 
     33  await SpecialPowers.spawn(tab2.linkedBrowser, [], async () => {
     34    await content.wrappedJSObject.waitUntilApzStable();
     35  });
     36 
     37  const initial_resolution = await SpecialPowers.spawn(
     38    tab2.linkedBrowser,
     39    [],
     40    () => {
     41      return content.window.windowUtils.getResolution();
     42    }
     43  );
     44 
     45  ok(
     46    initial_resolution > 0,
     47    "The initial_resolution is " +
     48      initial_resolution +
     49      ", which is some sane value"
     50  );
     51 
     52  let effect = EventUtils.synthesizeDrop(
     53    tab2,
     54    tab1,
     55    [[{ type: TAB_DROP_TYPE, data: tab2 }]],
     56    null,
     57    win2,
     58    win1
     59  );
     60  is(effect, "move", "Tab should be moved from win2 to win1.");
     61 
     62  await SpecialPowers.spawn(win1.gBrowser.selectedBrowser, [], async () => {
     63    await content.wrappedJSObject.waitUntilApzStable();
     64  });
     65 
     66  let resolution = await SpecialPowers.spawn(
     67    win1.gBrowser.selectedBrowser,
     68    [],
     69    () => {
     70      return content.window.windowUtils.getResolution();
     71    }
     72  );
     73 
     74  ok(
     75    resolution == initial_resolution,
     76    "The resolution (" + resolution + ") is the same after tab dragging"
     77  );
     78 
     79  await SpecialPowers.spawn(win1.gBrowser.selectedBrowser, [], async () => {
     80    await content.wrappedJSObject.pinchZoomInWithTouch(150, 300);
     81  });
     82 
     83  // Flush state and get the resolution we're at now
     84  await SpecialPowers.spawn(win1.gBrowser.selectedBrowser, [], async () => {
     85    await content.wrappedJSObject.promiseApzFlushedRepaints();
     86  });
     87 
     88  resolution = await SpecialPowers.spawn(
     89    win1.gBrowser.selectedBrowser,
     90    [],
     91    () => {
     92      return content.window.windowUtils.getResolution();
     93    }
     94  );
     95 
     96  ok(
     97    resolution > initial_resolution,
     98    "The resolution (" + resolution + ") is greater after zooming in"
     99  );
    100 
    101  await BrowserTestUtils.closeWindow(win1);
    102  await BrowserTestUtils.closeWindow(win2);
    103 });