| LEFT | RIGHT | 
|---|
| (no file at all) |  | 
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2016 Eyeo GmbH | 3  * Copyright (C) 2006-2016 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 "use strict"; | 18 "use strict"; | 
| 19 | 19 | 
| 20 let {RegExpFilter, WhitelistFilter, ElemHideFilter} = require("filterClasses"); | 20 const {RegExpFilter, WhitelistFilter, ElemHideFilter} = require("filterClasses")
     ; | 
| 21 let {SpecialSubscription} = require("subscriptionClasses"); | 21 const {SpecialSubscription} = require("subscriptionClasses"); | 
| 22 let {FilterStorage} = require("filterStorage"); | 22 const {FilterStorage} = require("filterStorage"); | 
| 23 let {defaultMatcher} = require("matcher"); | 23 const {defaultMatcher} = require("matcher"); | 
| 24 let {FilterNotifier} = require("filterNotifier"); | 24 const {FilterNotifier} = require("filterNotifier"); | 
| 25 let {extractHostFromFrame} = require("url"); | 25 const {extractHostFromFrame} = require("url"); | 
| 26 let {port} = require("messaging"); | 26 const {port} = require("messaging"); | 
| 27 | 27 | 
| 28 const nonRequestTypes = ["DOCUMENT", "ELEMHIDE", "GENERICBLOCK", "GENERICHIDE"]; | 28 const nonRequestTypes = ["DOCUMENT", "ELEMHIDE", "GENERICBLOCK", "GENERICHIDE"]; | 
| 29 | 29 | 
| 30 // Mapping of inspected tabs to their devpanel page | 30 // Mapping of inspected tabs to their devpanel page | 
| 31 // and recorded items. We can't use a PageMap here, | 31 // and recorded items. We can't use a PageMap here, | 
| 32 // because data must persist after navigation/reload. | 32 // because data must persist after navigation/reload. | 
| 33 let panels = Object.create(null); | 33 let panels = Object.create(null); | 
| 34 | 34 | 
| 35 function hasPanels() | 35 function hasPanels() | 
| 36 { | 36 { | 
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 376   panels[inspectedTabId] = {port: port, records: []}; | 376   panels[inspectedTabId] = {port: port, records: []}; | 
| 377 }); | 377 }); | 
| 378 | 378 | 
| 379 port.on("devtools.traceElemHide", (message, sender) => | 379 port.on("devtools.traceElemHide", (message, sender) => | 
| 380 { | 380 { | 
| 381   logHiddenElements( | 381   logHiddenElements( | 
| 382     sender.page, message.selectors, | 382     sender.page, message.selectors, | 
| 383     extractHostFromFrame(sender.frame) | 383     extractHostFromFrame(sender.frame) | 
| 384   ); | 384   ); | 
| 385 }); | 385 }); | 
| LEFT | RIGHT | 
|---|