| Index: lib/cssInjection.js |
| =================================================================== |
| --- a/lib/cssInjection.js |
| +++ b/lib/cssInjection.js |
| @@ -21,29 +21,37 @@ |
| const {RegExpFilter} = require("filterClasses"); |
| const {ElemHide} = require("elemHide"); |
| const {ElemHideEmulation} = require("elemHideEmulation"); |
| const {checkWhitelisted} = require("whitelisting"); |
| const {extractHostFromFrame} = require("url"); |
| const {port} = require("messaging"); |
| const devtools = require("devtools"); |
| +const info = require("info"); |
| -const userStyleSheetsSupported = "extensionTypes" in chrome && |
| - "CSSOrigin" in chrome.extensionTypes; |
| +const cssOriginSupported = "extensionTypes" in chrome && |
| + "CSSOrigin" in chrome.extensionTypes; |
| +const userStyleSheetsSupported = cssOriginSupported || |
| + (info.platform == "chromium" && |
| + parseInt(info.platformVersion, 10) >= 60); |
| function hideElements(tabId, frameId, selectors) |
| { |
| - chrome.tabs.insertCSS(tabId, { |
| + let options = { |
| code: selectors.join(", ") + "{display: none !important;}", |
| - cssOrigin: "user", |
| frameId, |
| matchAboutBlank: true, |
| runAt: "document_start" |
| - }); |
| + }; |
| + |
| + if (cssOriginSupported) |
| + options.cssOrigin = "user"; |
| + |
| + chrome.tabs.insertCSS(tabId, options); |
| } |
| port.on("elemhide.getSelectors", (msg, sender) => |
| { |
| let selectors = []; |
| let emulatedPatterns = []; |
| let trace = devtools && devtools.hasPanel(sender.page); |
| let inject = !userStyleSheetsSupported; |