tor-browser

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

head.js (3028B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 http://creativecommons.org/publicdomain/zero/1.0/ */
      3 /* eslint no-unused-vars: [2, {"vars": "local"}] */
      4 
      5 "use strict";
      6 
      7 // Import the inspector's head.js first (which itself imports shared-head.js).
      8 Services.scriptloader.loadSubScript(
      9  "chrome://mochitests/content/browser/devtools/client/inspector/test/head.js",
     10  this
     11 );
     12 
     13 const FLEXBOX_OPENED_PREF = "devtools.layout.flexbox.opened";
     14 const FLEX_CONTAINER_OPENED_PREF = "devtools.layout.flex-container.opened";
     15 const FLEX_ITEM_OPENED_PREF = "devtools.layout.flex-item.opened";
     16 const GRID_OPENED_PREF = "devtools.layout.grid.opened";
     17 const BOXMODEL_OPENED_PREF = "devtools.layout.boxmodel.opened";
     18 
     19 // Make sure only the flexbox layout accordions are opened, and the others are closed.
     20 Services.prefs.setBoolPref(FLEXBOX_OPENED_PREF, true);
     21 Services.prefs.setBoolPref(FLEX_CONTAINER_OPENED_PREF, true);
     22 Services.prefs.setBoolPref(FLEX_ITEM_OPENED_PREF, true);
     23 Services.prefs.setBoolPref(BOXMODEL_OPENED_PREF, false);
     24 Services.prefs.setBoolPref(GRID_OPENED_PREF, false);
     25 
     26 // Clear all set prefs.
     27 registerCleanupFunction(() => {
     28  Services.prefs.clearUserPref(FLEXBOX_OPENED_PREF);
     29  Services.prefs.clearUserPref(FLEX_CONTAINER_OPENED_PREF);
     30  Services.prefs.clearUserPref(FLEX_ITEM_OPENED_PREF);
     31  Services.prefs.clearUserPref(BOXMODEL_OPENED_PREF);
     32  Services.prefs.clearUserPref(GRID_OPENED_PREF);
     33 });
     34 
     35 /**
     36 * Toggles ON the flexbox highlighter given the flexbox highlighter button from the
     37 * layout panel.
     38 *
     39 * @param  {DOMNode} button
     40 *         The flexbox highlighter toggle button in the flex container panel.
     41 * @param  {Inspector} inspector
     42 *         Inspector panel instance.
     43 */
     44 async function toggleHighlighterON(button, inspector) {
     45  info("Toggling ON the flexbox highlighter from the layout panel.");
     46  const { waitForHighlighterTypeShown } = getHighlighterTestHelpers(inspector);
     47  const onHighlighterShown = waitForHighlighterTypeShown(
     48    inspector.highlighters.TYPES.FLEXBOX
     49  );
     50  const { store } = inspector;
     51  const onToggleChange = waitUntilState(
     52    store,
     53    state => state.flexbox.highlighted
     54  );
     55  button.click();
     56  await Promise.all([onHighlighterShown, onToggleChange]);
     57 }
     58 
     59 /**
     60 * Toggles OFF the flexbox highlighter given the flexbox highlighter button from the
     61 * layout panel.
     62 *
     63 * @param  {DOMNode} button
     64 *         The flexbox highlighter toggle button in the flex container panel.
     65 * @param  {Inspector} inspector
     66 *         Inspector panel instance.
     67 */
     68 async function toggleHighlighterOFF(button, inspector) {
     69  info("Toggling OFF the flexbox highlighter from the layout panel.");
     70  const { waitForHighlighterTypeHidden } = getHighlighterTestHelpers(inspector);
     71  const onHighlighterHidden = waitForHighlighterTypeHidden(
     72    inspector.highlighters.TYPES.FLEXBOX
     73  );
     74  const { store } = inspector;
     75  const onToggleChange = waitUntilState(
     76    store,
     77    state => !state.flexbox.highlighted
     78  );
     79  button.click();
     80  await Promise.all([onHighlighterHidden, onToggleChange]);
     81 }