Index: third_party/polymer/v0_8/components-chromium/polymer/src/lib/expr/style-auditor-extracted.js |
diff --git a/third_party/polymer/v0_8/components-chromium/polymer/src/lib/expr/style-auditor-extracted.js b/third_party/polymer/v0_8/components-chromium/polymer/src/lib/expr/style-auditor-extracted.js |
deleted file mode 100644 |
index 3255a5e90443f13313ffef90e62aa3c243adf604..0000000000000000000000000000000000000000 |
--- a/third_party/polymer/v0_8/components-chromium/polymer/src/lib/expr/style-auditor-extracted.js |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
- |
-addEventListener('WebComponentsReady', function() { |
- |
- // given a list of elements, produce a report of rules that |
- // match those elements. |
- var auditor = { |
- |
- matchesForDocument: function(elements) { |
- var info = []; |
- this.documentSheets.forEach(function(sheet) { |
- var list = this.matchesForSheet(sheet, elements); |
- if (list.length) { |
- info.push({sheet: sheet, rules: list}); |
- } |
- }, this); |
- return info; |
- }, |
- |
- // TODO(sorvell): support stylesheets inside HTMLImports |
- documentSheets: Array.prototype.filter.call(document.styleSheets, |
- function(sheet) { |
- return !sheet.ownerNode.hasAttribute('scope'); |
- } |
- ), |
- |
- matchesForSheet: function(sheet, elements) { |
- var info = []; |
- Array.prototype.forEach.call(sheet.cssRules, function(rule) { |
- var list = this.matchesForRule(rule, elements); |
- if (list.length) { |
- info.push({selector: rule.selectorText, elements: list}); |
- } |
- }, this); |
- return info; |
- }, |
- |
- matchesForRule: function(rule, list) { |
- var info = []; |
- list.forEach(function(i) { |
- var elements = i.elements.filter(function(e) { |
- return matchesSelector.call(e, rule.selectorText); |
- }); |
- if (elements.length) { |
- info.push({host: i.host, elements: elements}); |
- } |
- }); |
- return info; |
- } |
- |
- }; |
- |
- var p = Element.prototype; |
- var matchesSelector = p.matches || p.matchesSelector || |
- p.mozMatchesSelector || p.msMatchesSelector || |
- p.oMatchesSelector || p.webkitMatchesSelector; |
- |
- |
- // crawl the document and return a list of custom elements with shadyRoots |
- // and their scoped contents |
- var crawler = { |
- // list of elements: array of {host, elements} |
- list: function() { |
- var list = []; |
- var elements = this.elementsWithShadyRoot(); |
- elements.forEach(function(e) { |
- list.push({host: e, elements: this.elementsInsideShadyRoot(e)}); |
- }, this); |
- return list; |
- }, |
- |
- elementsWithShadyRoot: function() { |
- var e$ = Polymer.dom(document).querySelectorAll('*'); |
- return this.filterElementsWithRoots(e$); |
- }, |
- |
- elementsInsideShadyRoot: function(e) { |
- var e$ = Polymer.dom(e.root || e).querySelectorAll('*'); |
- var roots = this.filterElementsWithRoots(e$); |
- roots.forEach(function(e) { |
- e$ = e$.concat(this.elementsInsideShadyRoot(e)); |
- }, this); |
- return e$; |
- }, |
- |
- filterElementsWithRoots: function(elements) { |
- return elements.filter(function(e) { |
- return e.shadyRoot; |
- }); |
- } |
- |
- }; |
- |
- // dump an auditor report |
- var logger = { |
- |
- dump: function(log) { |
- log.forEach(function(l) { |
- console.group(l.sheet.ownerNode); |
- this.dumpRules(l.rules); |
- console.groupEnd(l.sheet.ownerNode); |
- }, this); |
- }, |
- |
- dumpRules: function(rules) { |
- rules.forEach(function(i) { |
- console.group(i.selector); |
- console.log(i.elements); |
- console.groupEnd(i.selector); |
- }); |
- } |
- |
- }; |
- |
- // pruduces a style audit and reports results on the console. |
- function audit() { |
- var report = auditor.matchesForDocument(crawler.list()); |
- logger.dump(report); |
- } |
- |
- audit(); |
- |
-}); |