| 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-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 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 const {RegExpFilter} = require("filterClasses"); |  | 
| 21 const {ElemHide} = require("elemHide"); |  | 
| 22 const {checkWhitelisted} = require("whitelisting"); |  | 
| 23 const {extractHostFromFrame} = require("url"); |  | 
| 24 const {port} = require("messaging"); | 20 const {port} = require("messaging"); | 
| 25 const devtools = require("devtools"); |  | 
| 26 |  | 
| 27 port.on("get-selectors", (msg, sender) => |  | 
| 28 { |  | 
| 29   let selectors; |  | 
| 30   let trace = devtools && devtools.hasPanel(sender.page); |  | 
| 31 |  | 
| 32   if (!checkWhitelisted(sender.page, sender.frame, |  | 
| 33                         RegExpFilter.typeMap.DOCUMENT | |  | 
| 34                         RegExpFilter.typeMap.ELEMHIDE)) |  | 
| 35   { |  | 
| 36     let specificOnly = checkWhitelisted(sender.page, sender.frame, |  | 
| 37                                         RegExpFilter.typeMap.GENERICHIDE); |  | 
| 38     selectors = ElemHide.getSelectorsForDomain( |  | 
| 39       extractHostFromFrame(sender.frame), |  | 
| 40       specificOnly ? ElemHide.SPECIFIC_ONLY : ElemHide.ALL_MATCHING |  | 
| 41     ); |  | 
| 42   } |  | 
| 43   else |  | 
| 44   { |  | 
| 45     selectors = []; |  | 
| 46   } |  | 
| 47 |  | 
| 48   return {selectors, trace}; |  | 
| 49 }); |  | 
| 50 | 21 | 
| 51 port.on("forward", (msg, sender) => | 22 port.on("forward", (msg, sender) => | 
| 52 { | 23 { | 
| 53   let targetPage; | 24   let targetPage; | 
| 54   if (msg.targetPageId) | 25   if (msg.targetPageId) | 
| 55     targetPage = ext.getPage(msg.targetPageId); | 26     targetPage = ext.getPage(msg.targetPageId); | 
| 56   else | 27   else | 
| 57     targetPage = sender.page; | 28     targetPage = sender.page; | 
| 58 | 29 | 
| 59   if (targetPage) | 30   if (targetPage) | 
| 60   { | 31   { | 
| 61     msg.payload.sender = sender.page.id; | 32     msg.payload.sender = sender.page.id; | 
| 62     if (msg.expectsResponse) | 33     if (msg.expectsResponse) | 
| 63       return new Promise(targetPage.sendMessage.bind(targetPage, msg.payload)); | 34       return new Promise(targetPage.sendMessage.bind(targetPage, msg.payload)); | 
| 64     targetPage.sendMessage(msg.payload); | 35     targetPage.sendMessage(msg.payload); | 
| 65   } | 36   } | 
| 66 }); | 37 }); | 
| OLD | NEW | 
|---|