| OLD | NEW |
| (Empty) | |
| 1 var initialize_StylesUpdateLinks = function() { |
| 2 function flattenRuleRanges(rule) |
| 3 { |
| 4 var ranges = []; |
| 5 var medias = rule.media || []; |
| 6 for (var i = 0; i < medias.length; ++i) { |
| 7 var media = medias[i]; |
| 8 if (!media.range) |
| 9 continue; |
| 10 ranges.push({ |
| 11 range: media.range, |
| 12 name: "media #" + i |
| 13 }); |
| 14 } |
| 15 for (var i = 0; i < rule.selectors.length; ++i) { |
| 16 var selector = rule.selectors[i]; |
| 17 if (!selector.range) |
| 18 continue; |
| 19 ranges.push({ |
| 20 range: selector.range, |
| 21 name: "selector #" + i |
| 22 }); |
| 23 } |
| 24 if (rule.style.range) { |
| 25 ranges.push({ |
| 26 range: rule.style.range, |
| 27 name: "style range" |
| 28 }); |
| 29 } |
| 30 var properties = rule.style.allProperties; |
| 31 for (var i = 0; i < properties.length; ++i) { |
| 32 var property = properties[i]; |
| 33 if (!property.range) |
| 34 continue; |
| 35 ranges.push({ |
| 36 range: property.range, |
| 37 name: "property >>" + property.text + "<<" |
| 38 }); |
| 39 } |
| 40 return ranges; |
| 41 } |
| 42 |
| 43 function compareRuleRanges(lazyRule, originalRule) |
| 44 { |
| 45 if (lazyRule.selectorText !== originalRule.selectorText) { |
| 46 InspectorTest.addResult("Error: rule selectors are not equal: " + la
zyRule.selectorText + " != " + originalRule.selectorText); |
| 47 return false; |
| 48 } |
| 49 var flattenLazy = flattenRuleRanges(lazyRule); |
| 50 var flattenOriginal = flattenRuleRanges(originalRule); |
| 51 if (flattenLazy.length !== flattenOriginal.length) { |
| 52 InspectorTest.addResult("Error: rule range amount is not equal: " +
flattenLazy.length + " != " + flattenOriginal.length); |
| 53 return false |
| 54 } |
| 55 for (var i = 0; i < flattenLazy.length; ++i) { |
| 56 var lazyRange = flattenLazy[i]; |
| 57 var originalRange = flattenOriginal[i]; |
| 58 if (lazyRange.name !== originalRange.name) { |
| 59 InspectorTest.addResult("Error: rule names are not equal: " + la
zyRange.name + " != " + originalRange.name); |
| 60 return false; |
| 61 } |
| 62 if (!lazyRange.range.equal(originalRange.range)) { |
| 63 InspectorTest.addResult("Error: ranges '" + lazyRange.name + "'
are not equal: " + lazyRange.range.toString() + " != " + originalRange.range.toS
tring()); |
| 64 return false; |
| 65 } |
| 66 } |
| 67 InspectorTest.addResult(flattenLazy.length + " rule ranges are equal."); |
| 68 return true; |
| 69 } |
| 70 |
| 71 InspectorTest.validateRuleRanges = function(selector, rules, callback) |
| 72 { |
| 73 InspectorTest.selectNodeAndWaitForStyles("other", onOtherSelected); |
| 74 |
| 75 function onOtherSelected() |
| 76 { |
| 77 InspectorTest.selectNodeAndWaitForStyles(selector, onContainerSelect
ed); |
| 78 } |
| 79 |
| 80 function onContainerSelected() |
| 81 { |
| 82 var fetchedRules = InspectorTest.getMatchedRules(); |
| 83 if (fetchedRules.length !== rules.length) { |
| 84 InspectorTest.addResult(String.sprintf("Error: rules sizes are n
ot equal! Expected: %d, actual: %d", fetchedRules.length, rules.length)); |
| 85 InspectorTest.completeTest(); |
| 86 return; |
| 87 } |
| 88 for (var i = 0; i < fetchedRules.length; ++i) { |
| 89 if (!compareRuleRanges(rules[i], fetchedRules[i])) { |
| 90 InspectorTest.completeTest(); |
| 91 return; |
| 92 } |
| 93 } |
| 94 callback(); |
| 95 } |
| 96 } |
| 97 |
| 98 InspectorTest.getMatchedRules = function() |
| 99 { |
| 100 var rules = []; |
| 101 for (var block of WebInspector.panels.elements.sidebarPanes.styles._sect
ionBlocks) { |
| 102 for (var section of block.sections) { |
| 103 var rule = section.style().parentRule; |
| 104 if (rule) |
| 105 rules.push(rule); |
| 106 } |
| 107 } |
| 108 return rules; |
| 109 } |
| 110 } |
| OLD | NEW |