| OLD | NEW | 
|    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 let {RegExpFilter, WhitelistFilter, | 
 |   21   ElemHideFilter, ElemHideEmulationFilter} = require("filterClasses"); | 
|   21 let {SpecialSubscription} = require("subscriptionClasses"); |   22 let {SpecialSubscription} = require("subscriptionClasses"); | 
|   22 let {FilterStorage} = require("filterStorage"); |   23 let {FilterStorage} = require("filterStorage"); | 
|   23 let {defaultMatcher} = require("matcher"); |   24 let {defaultMatcher} = require("matcher"); | 
|   24 let {FilterNotifier} = require("filterNotifier"); |   25 let {FilterNotifier} = require("filterNotifier"); | 
|   25 let {extractHostFromFrame} = require("url"); |   26 let {extractHostFromFrame} = require("url"); | 
|   26 let {port} = require("messaging"); |   27 let {port} = require("messaging"); | 
|   27  |   28  | 
|   28 const nonRequestTypes = ["DOCUMENT", "ELEMHIDE", "GENERICBLOCK", "GENERICHIDE"]; |   29 const nonRequestTypes = ["DOCUMENT", "ELEMHIDE", "GENERICBLOCK", "GENERICHIDE"]; | 
|   29  |   30  | 
|   30 // Mapping of inspected tabs to their devpanel page |   31 // Mapping of inspected tabs to their devpanel page | 
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  153 /** |  154 /** | 
|  154  * Logs active element hiding filters to the devtools panel. |  155  * Logs active element hiding filters to the devtools panel. | 
|  155  * |  156  * | 
|  156  * @param {Page}     page       The page the elements were hidden on |  157  * @param {Page}     page       The page the elements were hidden on | 
|  157  * @param {string[]} selectors  The CSS selectors of active elemhide filters |  158  * @param {string[]} selectors  The CSS selectors of active elemhide filters | 
|  158  * @param {string}   docDomain  The IDN-decoded hostname of the document |  159  * @param {string}   docDomain  The IDN-decoded hostname of the document | 
|  159  */ |  160  */ | 
|  160 function logHiddenElements(page, selectors, docDomain) |  161 function logHiddenElements(page, selectors, docDomain) | 
|  161 { |  162 { | 
|  162   let panel = getActivePanel(page); |  163   let panel = getActivePanel(page); | 
 |  164   if (panel) | 
|  163   { |  165   { | 
|  164     for (let subscription of FilterStorage.subscriptions) |  166     for (let subscription of FilterStorage.subscriptions) | 
|  165     { |  167     { | 
|  166       if (subscription.disabled) |  168       if (subscription.disabled) | 
|  167         continue; |  169         continue; | 
|  168  |  170  | 
|  169       for (let filter of subscription.filters) |  171       for (let filter of subscription.filters) | 
|  170       { |  172       { | 
|  171         if (!(filter instanceof ElemHideFilter)) |  173         if (!(filter instanceof ElemHideFilter || | 
 |  174               filter instanceof ElemHideEmulationFilter)) | 
|  172           continue; |  175           continue; | 
|  173         if (selectors.indexOf(filter.selector) == -1) |  176         if (selectors.indexOf(filter.selector) == -1) | 
|  174           continue; |  177           continue; | 
|  175         if (!filter.isActiveOnDomain(docDomain)) |  178         if (!filter.isActiveOnDomain(docDomain)) | 
|  176           continue; |  179           continue; | 
|  177  |  180  | 
|  178         addRecord(panel, {type: "ELEMHIDE", docDomain: docDomain}, filter); |  181         addRecord(panel, {type: "ELEMHIDE", docDomain: docDomain}, filter); | 
|  179       } |  182       } | 
|  180     } |  183     } | 
|  181   } |  184   } | 
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  376   panels[inspectedTabId] = {port: port, records: []}; |  379   panels[inspectedTabId] = {port: port, records: []}; | 
|  377 }); |  380 }); | 
|  378  |  381  | 
|  379 port.on("devtools.traceElemHide", (message, sender) => |  382 port.on("devtools.traceElemHide", (message, sender) => | 
|  380 { |  383 { | 
|  381   logHiddenElements( |  384   logHiddenElements( | 
|  382     sender.page, message.selectors, |  385     sender.page, message.selectors, | 
|  383     extractHostFromFrame(sender.frame) |  386     extractHostFromFrame(sender.frame) | 
|  384   ); |  387   ); | 
|  385 }); |  388 }); | 
| OLD | NEW |