| Index: lib/content/elemHideEmulation.js |
| =================================================================== |
| --- a/lib/content/elemHideEmulation.js |
| +++ b/lib/content/elemHideEmulation.js |
| @@ -603,17 +603,30 @@ |
| for (let stylesheet of stylesheets || []) |
| { |
| // Explicitly ignore third-party stylesheets to ensure consistent behavior |
| // between Firefox and Chrome. |
| if (!this.isSameOrigin(stylesheet)) |
| continue; |
| - let rules = stylesheet.cssRules; |
| + let rules; |
| + try |
| + { |
| + rules = stylesheet.cssRules; |
| + } |
| + catch (e) |
| + { |
| + // On Firefox, there is a chance that an InvalidAccessError |
| + // get thrown when accessing cssRules. Just skip the stylesheet |
| + // in that case. |
| + // See https://issues.adblockplus.org/ticket/6382 |
| + continue; |
|
kzar
2018/04/18 16:12:30
I wonder if we should check that the exception rea
hub
2018/04/18 18:48:23
The intent here is to catch the exception to not i
kzar
2018/04/19 07:29:29
Acknowledged.
|
| + } |
| + |
| if (!rules) |
| continue; |
| for (let rule of rules) |
| { |
| if (rule.type != rule.STYLE_RULE) |
| continue; |