tor-browser

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

filters.js (1547B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 const {
      8  getAllFilters,
      9 } = require("resource://devtools/client/webconsole/selectors/filters.js");
     10 
     11 const {
     12  FILTER_TEXT_SET,
     13  FILTER_TOGGLE,
     14  FILTERS_CLEAR,
     15  PREFS,
     16  FILTERS,
     17 } = require("resource://devtools/client/webconsole/constants.js");
     18 
     19 function filterTextSet(text) {
     20  return {
     21    type: FILTER_TEXT_SET,
     22    text,
     23  };
     24 }
     25 
     26 function filterToggle(filter) {
     27  return async ({ dispatch, getState, webConsoleUI, prefsService }) => {
     28    // When enabling CSS Warning message, we have to start listening for it
     29    let filterState = getAllFilters(getState());
     30    if (filter == FILTERS.CSS && !filterState[FILTERS.CSS]) {
     31      await webConsoleUI.watchCssMessages();
     32    }
     33 
     34    dispatch({
     35      type: FILTER_TOGGLE,
     36      filter,
     37    });
     38    filterState = getAllFilters(getState());
     39    prefsService.setBoolPref(
     40      PREFS.FILTER[filter.toUpperCase()],
     41      filterState[filter]
     42    );
     43  };
     44 }
     45 
     46 function filtersClear() {
     47  return ({ dispatch, getState, prefsService }) => {
     48    dispatch({
     49      type: FILTERS_CLEAR,
     50    });
     51 
     52    const filterState = getAllFilters(getState());
     53    for (const filter in filterState) {
     54      if (filter !== FILTERS.TEXT) {
     55        prefsService.clearUserPref(PREFS.FILTER[filter.toUpperCase()]);
     56      }
     57    }
     58  };
     59 }
     60 
     61 module.exports = {
     62  filterTextSet,
     63  filterToggle,
     64  filtersClear,
     65 };