Skip to content

Instantly share code, notes, and snippets.

@snoack
Created September 15, 2017 18:45
Show Gist options
  • Save snoack/253a5302b933933e19c5cfb95725cc78 to your computer and use it in GitHub Desktop.
Save snoack/253a5302b933933e19c5cfb95725cc78 to your computer and use it in GitHub Desktop.
diff -r b615bfdf4897 -r a7309348a8e9 lib/cssInjection.js
--- a/lib/cssInjection.js Thu Sep 14 20:54:34 2017 -0400
+++ b/lib/cssInjection.js Fri Sep 15 11:07:11 2017 -0400
@@ -26,38 +26,20 @@
const {port} = require("messaging");
const devtools = require("devtools");
-let userStylesheetsSupported = true;
-
function hideElements(tabId, frameId, selectors)
{
- let code = selectors.join(", ") + "{display: none !important;}";
-
- try
- {
- chrome.tabs.insertCSS(tabId,
- {
- code,
- cssOrigin: "user",
- frameId,
- matchAboutBlank: true,
- runAt: "document_start"
- }
- );
- return true;
- }
- catch (error)
- {
- if (/\bError processing cssOrigin\b/.test(error.message) == -1)
- throw error;
-
- userStylesheetsSupported = false;
- return false;
- }
+ chrome.tabs.insertCSS(tabId, {
+ selectors.join(", ") + "{display: none !important;}",
+ cssOrigin: "user",
+ frameId,
+ matchAboutBlank: true,
+ runAt: "document_start"
+ });
}
port.on("elemhide.getSelectors", (msg, sender) =>
{
- let selectors;
+ let selectors = null;
let trace = devtools && devtools.hasPanel(sender.page);
if (!checkWhitelisted(sender.page, sender.frame,
@@ -71,18 +53,14 @@
specificOnly ? ElemHide.SPECIFIC_ONLY : ElemHide.ALL_MATCHING
);
}
- else
- {
- selectors = [];
- }
- if (selectors.length == 0 || userStylesheetsSupported &&
- hideElements(sender.page.id, sender.frame.id, selectors))
+ if (!selectors || selectors.length == 0)
+ return {trace: false, inject: false};
+
+ if ('CSSOrigin' in chrome.extensionTypes)
{
- if (trace)
- return {selectors, trace: true, inject: false};
-
- return {trace: false, inject: false};
+ hideElements(sender.page.id, sender.frame.id, selectors);
+ return {selectors: trace ? selectors : null, trace, inject: false};
}
return {selectors, trace, inject: true};
@@ -90,5 +68,5 @@
port.on("elemhide.injectSelectors", (msg, sender) =>
{
- return hideElements(sender.page.id, sender.frame.id, msg.selectors);
+ hideElements(sender.page.id, sender.frame.id, msg.selectors);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment