Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: chrome/content/cssProperties.js

Issue 29340588: Issue 3879 - CSS property filters ignore third-party stylesheets in Chrome but not in Firefox (Closed)
Patch Set: Addressed comments Created April 19, 2016, 3:06 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/content/cssProperties.js
===================================================================
--- a/chrome/content/cssProperties.js
+++ b/chrome/content/cssProperties.js
@@ -51,18 +51,36 @@ CSSPropertyFilters.prototype = {
var value = style.getPropertyValue(property);
var priority = style.getPropertyPriority(property);
styles.push(property + ": " + value + (priority ? " !" + priority : "") + ";");
}
styles.sort();
return styles.join(" ");
},
+ isSameOrigin: function(stylesheet)
+ {
+ try
+ {
+ return new URL(stylesheet.href).origin == this.window.location.origin;
+ }
+ catch (e)
+ {
+ // Invalid URL, assume that it is first-party.
+ return true;
+ }
+ },
+
findSelectors: function(stylesheet, selectors)
{
+ // Explicitly ignore third-party stylesheets to ensure consistent behavior
+ // between Firefox and Chrome.
+ if (!this.isSameOrigin(stylesheet))
+ return;
+
var rules = stylesheet.cssRules;
if (!rules)
return;
for (var i = 0; i < rules.length; i++)
{
var rule = rules[i];
if (rule.type != rule.STYLE_RULE)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld