| Index: lib/devtools.js |
| =================================================================== |
| --- a/lib/devtools.js |
| +++ b/lib/devtools.js |
| @@ -10,27 +10,23 @@ |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| */ |
| -"use strict"; |
| - |
| -const {RegExpFilter, |
| - WhitelistFilter, |
| - ElemHideFilter} = require("filterClasses"); |
| -const {SpecialSubscription} = require("subscriptionClasses"); |
| -const {FilterStorage} = require("filterStorage"); |
| -const {defaultMatcher} = require("matcher"); |
| -const {FilterNotifier} = require("filterNotifier"); |
| -const {extractHostFromFrame} = require("url"); |
| -const {port} = require("messaging"); |
| +import {RegExpFilter, WhitelistFilter, ElemHideFilter} from "filterClasses"; |
| +import {SpecialSubscription} from "subscriptionClasses"; |
| +import {FilterStorage} from "filterStorage"; |
| +import {defaultMatcher} from "matcher"; |
| +import {FilterNotifier} from "filterNotifier"; |
| +import {extractHostFromFrame} from "url"; |
| +import {port} from "messaging"; |
| const nonRequestTypes = ["DOCUMENT", "ELEMHIDE", "GENERICBLOCK", "GENERICHIDE"]; |
| // Mapping of inspected tabs to their devpanel page |
| // and recorded items. We can't use a PageMap here, |
| // because data must persist after navigation/reload. |
| let panels = new Map(); |
| @@ -128,28 +124,27 @@ |
| * @param {string} docDomain The IDN-decoded hostname of the document |
| * @param {boolean} thirdParty Whether the origin of the request and |
| * document differs |
| * @param {?string} sitekey The active sitekey if there is any |
| * @param {?boolean} specificOnly Whether generic filters should be ignored |
| * @param {?BlockingFilter} filter The matched filter or null if there is no |
| * match |
| */ |
| -exports.logRequest = function(page, url, type, docDomain, |
| - thirdParty, sitekey, |
| - specificOnly, filter) |
| +export function logRequest(page, url, type, docDomain, thirdParty, sitekey, |
| + specificOnly, filter) |
| { |
| if (panels.size == 0) |
| return; |
| let request = {url, type, docDomain, thirdParty, sitekey, specificOnly}; |
| for (let [tabId, panel] of panels) |
| if ((!page || page.id == tabId) && isActivePanel(panel)) |
| addRecord(panel, request, filter); |
| -}; |
| +} |
| /** |
| * Logs active element hiding filters to the devtools panel. |
| * |
| * @param {Page} page The page the elements were hidden on |
| * @param {string[]} selectors The selectors of applied ElemHideFilters |
| * @param {string[]} filters The text of applied ElemHideEmulationFilters |
| * @param {string} docDomain The IDN-decoded hostname of the document |
| @@ -188,40 +183,39 @@ |
| * @param {Page} page The page the whitelisting is active on |
| * @param {string} url The url of the whitelisted document |
| * @param {number} typeMask The bit mask of whitelisting types checked |
| * for |
| * @param {string} docDomain The IDN-decoded hostname of the parent |
| * document |
| * @param {WhitelistFilter} filter The matched whitelisting filter |
| */ |
| -exports.logWhitelistedDocument = function(page, url, typeMask, docDomain, |
| - filter) |
| +export function logWhitelistedDocument(page, url, typeMask, docDomain, filter) |
| { |
| let panel = getActivePanel(page); |
| if (panel) |
| { |
| for (let type of nonRequestTypes) |
| { |
| if (typeMask & filter.contentType & RegExpFilter.typeMap[type]) |
| addRecord(panel, {url, type, docDomain}, filter); |
| } |
| } |
| -}; |
| +} |
| /** |
| * Checks whether a page is inspected by the devtools panel. |
| * |
| * @param {Page} page |
| * @return {boolean} |
| */ |
| -exports.hasPanel = function(page) |
| +export function hasPanel(page) |
| { |
| return panels.has(page.id); |
| -}; |
| +} |
| function onBeforeRequest(details) |
| { |
| let panel = panels.get(details.tabId); |
| // Clear the devtools panel and reload the inspected tab without caching |
| // when a new request is issued. However, make sure that we don't end up |
| // in an infinite recursion if we already triggered a reload. |