forked from mirrors/gecko-dev
Backed out changeset 481558275c1d (bug 1651518) Backed out changeset 5337435e8bca (bug 1651518) Backed out changeset 8fe0c1a4da7f (bug 1651518) Backed out changeset 840a0d9db260 (bug 1651518) Backed out changeset eaab9de5819d (bug 1651518) Backed out changeset cf71de92d782 (bug 1651518) Backed out changeset d778691464db (bug 1651518) Backed out changeset af28e5f719e8 (bug 1883847)
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
const {
|
|
INITIALIZE,
|
|
FILTER_TOGGLE,
|
|
FILTERS,
|
|
} = require("resource://devtools/client/webconsole/constants.js");
|
|
|
|
/**
|
|
* This is responsible for ensuring that error reporting is enabled if the CSS
|
|
* filter is toggled on.
|
|
*/
|
|
function ensureCSSErrorReportingEnabled(webConsoleUI) {
|
|
let watchingCSSMessages = false;
|
|
return next => (reducer, initialState, enhancer) => {
|
|
function ensureErrorReportingEnhancer(state, action) {
|
|
state = reducer(state, action);
|
|
|
|
// If we're already watching CSS messages, or if the CSS filter is disabled,
|
|
// we don't do anything.
|
|
if (!webConsoleUI || watchingCSSMessages || !state.filters.css) {
|
|
return state;
|
|
}
|
|
|
|
const cssFilterToggled =
|
|
action.type == FILTER_TOGGLE && action.filter == FILTERS.CSS;
|
|
|
|
if (cssFilterToggled || action.type == INITIALIZE) {
|
|
watchingCSSMessages = true;
|
|
webConsoleUI.watchCssMessages();
|
|
}
|
|
|
|
return state;
|
|
}
|
|
return next(ensureErrorReportingEnhancer, initialState, enhancer);
|
|
};
|
|
}
|
|
|
|
module.exports = ensureCSSErrorReportingEnabled;
|