From 2c39a1af028917971a8f098ce0f1dfde17c02fce Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sun, 11 Aug 2019 16:32:49 -0400 Subject: [PATCH] Extend pseudo-elements support byond `::before`/`::after` Related feedback: - https://github.com/uBlockOrigin/uAssets/issues/6069#issuecomment-520254292 --- src/js/scriptlets/cosmetic-logger.js | 2 +- src/js/scriptlets/element-picker.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/scriptlets/cosmetic-logger.js b/src/js/scriptlets/cosmetic-logger.js index 85b71986f..f58180a0c 100644 --- a/src/js/scriptlets/cosmetic-logger.js +++ b/src/js/scriptlets/cosmetic-logger.js @@ -50,7 +50,7 @@ const loggedSelectors = new Set(); /******************************************************************************/ -const rePseudoElements = /::?(?:after|before)$/; +const rePseudoElements = /:(?::?after|:?before|:[a-z-]+)$/; const safeMatchSelector = function(selector, context) { const safeSelector = rePseudoElements.test(selector) diff --git a/src/js/scriptlets/element-picker.js b/src/js/scriptlets/element-picker.js index 8f417aa2f..082dcda91 100644 --- a/src/js/scriptlets/element-picker.js +++ b/src/js/scriptlets/element-picker.js @@ -698,7 +698,7 @@ const filtersFrom = function(x, y) { const filterToDOMInterface = (( ) => { const reHnAnchorPrefix = '^[\\w-]+://(?:[^/?#]+\\.)?'; const reCaret = '(?:[^%.0-9a-z_-]|$)'; - const rePseudoElements = /::?(?:after|before)$/; + const rePseudoElements = /:(?::?after|:?before|:[a-z-]+)$/; // Net filters: we need to lookup manually -- translating into a foolproof // CSS selector is just not possible.