Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Side by Side Diff: Source/devtools/front_end/elements/StylesSidebarPane.js

Issue 699873002: DevTools: [SSP] refactoring to remove styleRule.section property (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fix syntax Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « LayoutTests/http/tests/inspector/elements-test.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2007 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Joseph Pecoraro 3 * Copyright (C) 2009 Joseph Pecoraro
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 format = (color.hasAlpha() ? cf.HSLA : cf.HSL); 126 format = (color.hasAlpha() ? cf.HSLA : cf.HSL);
127 else if (!color.hasAlpha()) 127 else if (!color.hasAlpha())
128 format = (color.canBeShortHex() ? cf.ShortHEX : cf.HEX); 128 format = (color.canBeShortHex() ? cf.ShortHEX : cf.HEX);
129 else 129 else
130 format = cf.RGBA; 130 format = cf.RGBA;
131 131
132 return format; 132 return format;
133 } 133 }
134 134
135 /** 135 /**
136 * @return {boolean}
137 */
138 WebInspector.StylesSidebarPane._affectsNode = function(styleRule)
vsevik 2014/11/05 08:04:50 Let's name it _hasMatchingSelectors
lushnikov 2014/11/05 11:02:17 Done.
139 {
140 return styleRule.rule ? styleRule.rule.matchingSelectors.length > 0 : true;
141 }
142
143 /**
136 * @param {!WebInspector.CSSProperty} property 144 * @param {!WebInspector.CSSProperty} property
137 */ 145 */
138 WebInspector.StylesSidebarPane._ignoreErrorsForProperty = function(property) { 146 WebInspector.StylesSidebarPane._ignoreErrorsForProperty = function(property) {
139 function hasUnknownVendorPrefix(string) 147 function hasUnknownVendorPrefix(string)
140 { 148 {
141 return !string.startsWith("-webkit-") && /^[-_][\w\d]+-\w/.test(string); 149 return !string.startsWith("-webkit-") && /^[-_][\w\d]+-\w/.test(string);
142 } 150 }
143 151
144 var name = property.name.toLowerCase(); 152 var name = property.name.toLowerCase();
145 153
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 }, 632 },
625 633
626 _canAffectCurrentStyles: function(node) 634 _canAffectCurrentStyles: function(node)
627 { 635 {
628 return this._node && (this._node === node || node.parentNode === this._n ode.parentNode || node.isAncestor(this._node)); 636 return this._node && (this._node === node || node.parentNode === this._n ode.parentNode || node.isAncestor(this._node));
629 }, 637 },
630 638
631 _innerRefreshUpdate: function(node, computedStyle, editedSection) 639 _innerRefreshUpdate: function(node, computedStyle, editedSection)
632 { 640 {
633 for (var pseudoId in this.sections) { 641 for (var pseudoId in this.sections) {
634 var styleRules = this._refreshStyleRules(this.sections[pseudoId], co mputedStyle); 642 var filteredSections = this.sections[pseudoId] ? this.sections[pseud oId].filter(nonBlankSections) : [];
643 var styleRules = this._refreshStyleRules(filteredSections, computedS tyle);
635 var usedProperties = {}; 644 var usedProperties = {};
636 this._markUsedProperties(styleRules, usedProperties); 645 this._markUsedProperties(styleRules, usedProperties);
637 this._refreshSectionsForStyleRules(styleRules, usedProperties, edite dSection); 646 this._refreshSectionsForStyleRules(filteredSections, styleRules, use dProperties, editedSection);
638 } 647 }
639 if (computedStyle) 648 if (computedStyle)
640 this.sections[0][0].rebuildComputedTrace(this.sections[0]); 649 this.sections[0][0].rebuildComputedTrace(this.sections[0]);
641 650
642 this._nodeStylesUpdatedForTest(node, false); 651 this._nodeStylesUpdatedForTest(node, false);
652
653 /**
654 * @param {!WebInspector.PropertiesSection} section
655 * @return {boolean}
656 */
657 function nonBlankSections(section)
658 {
659 return !section.isBlank;
660 }
643 }, 661 },
644 662
645 _innerRebuildUpdate: function(node, styles) 663 _innerRebuildUpdate: function(node, styles)
646 { 664 {
647 this._sectionsContainer.removeChildren(); 665 this._sectionsContainer.removeChildren();
648 this._computedStylePane.bodyElement.removeChildren(); 666 this._computedStylePane.bodyElement.removeChildren();
649 this._linkifier.reset(); 667 this._linkifier.reset();
650 668
651 var styleRules = this._rebuildStyleRules(node, styles); 669 var styleRules = this._rebuildStyleRules(node, styles);
652 var usedProperties = {}; 670 var usedProperties = {};
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 { 702 {
685 // Tests override this method. 703 // Tests override this method.
686 }, 704 },
687 705
688 _refreshStyleRules: function(sections, computedStyle) 706 _refreshStyleRules: function(sections, computedStyle)
689 { 707 {
690 var nodeComputedStyle = computedStyle; 708 var nodeComputedStyle = computedStyle;
691 var styleRules = []; 709 var styleRules = [];
692 for (var i = 0; sections && i < sections.length; ++i) { 710 for (var i = 0; sections && i < sections.length; ++i) {
693 var section = sections[i]; 711 var section = sections[i];
694 if (section.isBlank)
695 continue;
696 if (section.computedStyle) 712 if (section.computedStyle)
697 section.styleRule.style = nodeComputedStyle; 713 section.styleRule.style = nodeComputedStyle;
698 var styleRule = { section: section, style: section.styleRule.style, computedStyle: section.computedStyle, rule: section.rule, editable: !!(section.s tyleRule.style && section.styleRule.style.styleSheetId), 714 var styleRule = { style: section.styleRule.style, computedStyle: sec tion.computedStyle, rule: section.rule, editable: !!(section.styleRule.style && section.styleRule.style.styleSheetId),
699 isAttribute: section.styleRule.isAttribute, isInherited: section .styleRule.isInherited, parentNode: section.styleRule.parentNode }; 715 isAttribute: section.styleRule.isAttribute, isInherited: section .styleRule.isInherited, parentNode: section.styleRule.parentNode };
700 styleRules.push(styleRule); 716 styleRules.push(styleRule);
701 } 717 }
702 return styleRules; 718 return styleRules;
703 }, 719 },
704 720
705 _rebuildStyleRules: function(node, styles) 721 _rebuildStyleRules: function(node, styles)
706 { 722 {
707 var nodeComputedStyle = styles.computedStyle; 723 var nodeComputedStyle = styles.computedStyle;
708 this.sections = {}; 724 this.sections = {};
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 803
788 _markUsedProperties: function(styleRules, usedProperties) 804 _markUsedProperties: function(styleRules, usedProperties)
789 { 805 {
790 var foundImportantProperties = {}; 806 var foundImportantProperties = {};
791 var propertyToEffectiveRule = {}; 807 var propertyToEffectiveRule = {};
792 var inheritedPropertyToNode = {}; 808 var inheritedPropertyToNode = {};
793 for (var i = 0; i < styleRules.length; ++i) { 809 for (var i = 0; i < styleRules.length; ++i) {
794 var styleRule = styleRules[i]; 810 var styleRule = styleRules[i];
795 if (styleRule.computedStyle || styleRule.isStyleSeparator) 811 if (styleRule.computedStyle || styleRule.isStyleSeparator)
796 continue; 812 continue;
797 if (styleRule.section && styleRule.section.noAffect) 813 if (!WebInspector.StylesSidebarPane._affectsNode(styleRule))
798 continue; 814 continue;
799 815
800 styleRule.usedProperties = {}; 816 styleRule.usedProperties = {};
801 817
802 var style = styleRule.style; 818 var style = styleRule.style;
803 var allProperties = style.allProperties; 819 var allProperties = style.allProperties;
804 for (var j = 0; j < allProperties.length; ++j) { 820 for (var j = 0; j < allProperties.length; ++j) {
805 var property = allProperties[j]; 821 var property = allProperties[j];
806 if (!property.isLive || !property.parsedOk) 822 if (!property.isLive || !property.parsedOk)
807 continue; 823 continue;
(...skipping 22 matching lines...) Expand all
830 delete propertyToEffectiveRule[canonicalName].usedProper ties[canonicalName]; 846 delete propertyToEffectiveRule[canonicalName].usedProper ties[canonicalName];
831 } 847 }
832 848
833 styleRule.usedProperties[canonicalName] = true; 849 styleRule.usedProperties[canonicalName] = true;
834 usedProperties[canonicalName] = true; 850 usedProperties[canonicalName] = true;
835 propertyToEffectiveRule[canonicalName] = styleRule; 851 propertyToEffectiveRule[canonicalName] = styleRule;
836 } 852 }
837 } 853 }
838 }, 854 },
839 855
840 _refreshSectionsForStyleRules: function(styleRules, usedProperties, editedSe ction) 856 _refreshSectionsForStyleRules: function(sections, styleRules, usedProperties , editedSection)
841 { 857 {
842 // Walk the style rules and update the sections with new overloaded and used properties. 858 // Walk the style rules and update the sections with new overloaded and used properties.
843 for (var i = 0; i < styleRules.length; ++i) { 859 for (var i = 0; i < styleRules.length; ++i) {
844 var styleRule = styleRules[i]; 860 var styleRule = styleRules[i];
845 var section = styleRule.section; 861 var section = sections[i];
846 if (styleRule.computedStyle) { 862 if (styleRule.computedStyle) {
847 section._usedProperties = usedProperties; 863 section._usedProperties = usedProperties;
848 section.update(); 864 section.update();
849 } else { 865 } else {
850 section._usedProperties = styleRule.usedProperties; 866 section._usedProperties = styleRule.usedProperties;
851 section.update(section === editedSection); 867 section.update(section === editedSection);
852 } 868 }
853 } 869 }
854 }, 870 },
855 871
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1425 return false; 1441 return false;
1426 }, 1442 },
1427 1443
1428 /** 1444 /**
1429 * @param {string} propertyName 1445 * @param {string} propertyName
1430 * @param {boolean=} isShorthand 1446 * @param {boolean=} isShorthand
1431 * @return {boolean} 1447 * @return {boolean}
1432 */ 1448 */
1433 isPropertyOverloaded: function(propertyName, isShorthand) 1449 isPropertyOverloaded: function(propertyName, isShorthand)
1434 { 1450 {
1435 if (!this._usedProperties || this.noAffect) 1451 if (!this._usedProperties || !WebInspector.StylesSidebarPane._affectsNod e(this.styleRule))
1436 return false; 1452 return false;
1437 1453
1438 if (this.isInherited && !WebInspector.CSSMetadata.isPropertyInherited(pr opertyName)) { 1454 if (this.isInherited && !WebInspector.CSSMetadata.isPropertyInherited(pr opertyName)) {
1439 // In the inherited sections, only show overrides for the potentiall y inherited properties. 1455 // In the inherited sections, only show overrides for the potentiall y inherited properties.
1440 return false; 1456 return false;
1441 } 1457 }
1442 1458
1443 var canonicalName = WebInspector.CSSMetadata.canonicalPropertyName(prope rtyName); 1459 var canonicalName = WebInspector.CSSMetadata.canonicalPropertyName(prope rtyName);
1444 var used = (canonicalName in this._usedProperties); 1460 var used = (canonicalName in this._usedProperties);
1445 if (used || !isShorthand) 1461 if (used || !isShorthand)
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1523 }, 1539 },
1524 1540
1525 _afterUpdateFinishedForTest: function() 1541 _afterUpdateFinishedForTest: function()
1526 { 1542 {
1527 }, 1543 },
1528 1544
1529 onpopulate: function() 1545 onpopulate: function()
1530 { 1546 {
1531 var style = this.styleRule.style; 1547 var style = this.styleRule.style;
1532 var allProperties = style.allProperties; 1548 var allProperties = style.allProperties;
1533 this.uniqueProperties = [];
1534 1549
1535 var styleHasEditableSource = this.editable && !!style.range; 1550 var styleHasEditableSource = this.editable && !!style.range;
1536 if (styleHasEditableSource) { 1551 if (styleHasEditableSource) {
1537 for (var i = 0; i < allProperties.length; ++i) { 1552 for (var i = 0; i < allProperties.length; ++i) {
1538 var property = allProperties[i]; 1553 var property = allProperties[i];
1539 this.uniqueProperties.push(property);
1540 if (property.styleBased) 1554 if (property.styleBased)
1541 continue; 1555 continue;
1542 1556
1543 var isShorthand = !!WebInspector.CSSMetadata.cssPropertiesMetain fo.longhands(property.name); 1557 var isShorthand = !!WebInspector.CSSMetadata.cssPropertiesMetain fo.longhands(property.name);
1544 var inherited = this.isPropertyInherited(property.name); 1558 var inherited = this.isPropertyInherited(property.name);
1545 var overloaded = property.inactive || this.isPropertyOverloaded( property.name); 1559 var overloaded = property.inactive || this.isPropertyOverloaded( property.name);
1546 var item = new WebInspector.StylePropertyTreeElement(this._paren tPane, this.styleRule, style, property, isShorthand, inherited, overloaded); 1560 var item = new WebInspector.StylePropertyTreeElement(this._paren tPane, this.styleRule, style, property, isShorthand, inherited, overloaded);
1547 this.propertiesTreeOutline.appendChild(item); 1561 this.propertiesTreeOutline.appendChild(item);
1548 } 1562 }
1549 return; 1563 return;
1550 } 1564 }
1551 1565
1552 var generatedShorthands = {}; 1566 var generatedShorthands = {};
1553 // For style-based properties, generate shorthands with values when poss ible. 1567 // For style-based properties, generate shorthands with values when poss ible.
1554 for (var i = 0; i < allProperties.length; ++i) { 1568 for (var i = 0; i < allProperties.length; ++i) {
1555 var property = allProperties[i]; 1569 var property = allProperties[i];
1556 this.uniqueProperties.push(property);
1557 var isShorthand = !!WebInspector.CSSMetadata.cssPropertiesMetainfo.l onghands(property.name); 1570 var isShorthand = !!WebInspector.CSSMetadata.cssPropertiesMetainfo.l onghands(property.name);
1558 1571
1559 // For style-based properties, try generating shorthands. 1572 // For style-based properties, try generating shorthands.
1560 var shorthands = isShorthand ? null : WebInspector.CSSMetadata.cssPr opertiesMetainfo.shorthands(property.name); 1573 var shorthands = isShorthand ? null : WebInspector.CSSMetadata.cssPr opertiesMetainfo.shorthands(property.name);
1561 var shorthandPropertyAvailable = false; 1574 var shorthandPropertyAvailable = false;
1562 for (var j = 0; shorthands && !shorthandPropertyAvailable && j < sho rthands.length; ++j) { 1575 for (var j = 0; shorthands && !shorthandPropertyAvailable && j < sho rthands.length; ++j) {
1563 var shorthand = shorthands[j]; 1576 var shorthand = shorthands[j];
1564 if (shorthand in generatedShorthands) { 1577 if (shorthand in generatedShorthands) {
1565 shorthandPropertyAvailable = true; 1578 shorthandPropertyAvailable = true;
1566 continue; // There already is a shorthand this longhands fa lls under. 1579 continue; // There already is a shorthand this longhands fa lls under.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1611 }, 1624 },
1612 1625
1613 _markSelectorMatches: function() 1626 _markSelectorMatches: function()
1614 { 1627 {
1615 var rule = this.styleRule.rule; 1628 var rule = this.styleRule.rule;
1616 if (!rule) 1629 if (!rule)
1617 return; 1630 return;
1618 1631
1619 var matchingSelectors = rule.matchingSelectors; 1632 var matchingSelectors = rule.matchingSelectors;
1620 // .selector is rendered as non-affecting selector by default. 1633 // .selector is rendered as non-affecting selector by default.
1621 if (this.noAffect || matchingSelectors) 1634 if (!WebInspector.StylesSidebarPane._affectsNode(this.styleRule) || matc hingSelectors)
1622 this._selectorElement.className = "selector"; 1635 this._selectorElement.className = "selector";
1623 if (!matchingSelectors) 1636 if (!matchingSelectors)
1624 return; 1637 return;
1625 1638
1626 var selectors = rule.selectors; 1639 var selectors = rule.selectors;
1627 var fragment = createDocumentFragment(); 1640 var fragment = createDocumentFragment();
1628 var currentMatch = 0; 1641 var currentMatch = 0;
1629 for (var i = 0; i < selectors.length ; ++i) { 1642 for (var i = 0; i < selectors.length ; ++i) {
1630 if (i) 1643 if (i)
1631 fragment.createTextChild(", "); 1644 fragment.createTextChild(", ");
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
1873 1886
1874 var selectedNode = this._parentPane._node; 1887 var selectedNode = this._parentPane._node;
1875 1888
1876 /** 1889 /**
1877 * @param {!WebInspector.CSSRule} newRule 1890 * @param {!WebInspector.CSSRule} newRule
1878 * @this {WebInspector.StylePropertiesSection} 1891 * @this {WebInspector.StylePropertiesSection}
1879 */ 1892 */
1880 function successCallback(newRule) 1893 function successCallback(newRule)
1881 { 1894 {
1882 var doesAffectSelectedNode = newRule.matchingSelectors.length > 0; 1895 var doesAffectSelectedNode = newRule.matchingSelectors.length > 0;
1883 if (!doesAffectSelectedNode) { 1896 this.element.classList.toggle("no-affect", !doesAffectSelectedNode);
1884 this.noAffect = true;
1885 this.element.classList.add("no-affect");
1886 } else {
1887 delete this.noAffect;
1888 this.element.classList.remove("no-affect");
1889 }
1890 1897
1891 var oldSelectorRange = this.rule.selectorRange; 1898 var oldSelectorRange = this.rule.selectorRange;
1892 this.rule = newRule; 1899 this.rule = newRule;
1893 this.styleRule = { section: this, style: newRule.style, selectorText : newRule.selectorText, media: newRule.media, rule: newRule }; 1900 this.styleRule = { style: newRule.style, selectorText: newRule.selec torText, media: newRule.media, rule: newRule };
1894 1901
1895 this._parentPane.update(selectedNode); 1902 this._parentPane.update(selectedNode);
1896 this._parentPane._styleSheetRuleEdited(this.rule, oldSelectorRange, this.rule.selectorRange); 1903 this._parentPane._styleSheetRuleEdited(this.rule, oldSelectorRange, this.rule.selectorRange);
1897 1904
1898 finishOperationAndMoveEditor.call(this, moveDirection); 1905 finishOperationAndMoveEditor.call(this, moveDirection);
1899 } 1906 }
1900 1907
1901 /** 1908 /**
1902 * @this {WebInspector.StylePropertiesSection} 1909 * @this {WebInspector.StylePropertiesSection}
1903 */ 1910 */
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
2048 name.textContent = WebInspector.UIString("Animation") + " " + th is._animationProperties[property]; 2055 name.textContent = WebInspector.UIString("Animation") + " " + th is._animationProperties[property];
2049 treeElement.appendChild(new TreeElement(fragment, null, false)); 2056 treeElement.appendChild(new TreeElement(fragment, null, false));
2050 } 2057 }
2051 } 2058 }
2052 2059
2053 for (var i = 0; i < sections.length; ++i) { 2060 for (var i = 0; i < sections.length; ++i) {
2054 var section = sections[i]; 2061 var section = sections[i];
2055 if (section.computedStyle || section.isBlank) 2062 if (section.computedStyle || section.isBlank)
2056 continue; 2063 continue;
2057 2064
2058 for (var j = 0; j < section.uniqueProperties.length; ++j) { 2065 var properties = section.styleRule.style.allProperties;
2059 var property = section.uniqueProperties[j]; 2066 for (var j = 0; j < properties.length; ++j) {
2067 var property = properties[j];
2060 if (property.disabled) 2068 if (property.disabled)
2061 continue; 2069 continue;
2062 if (section.isInherited && !WebInspector.CSSMetadata.isPropertyI nherited(property.name)) 2070 if (section.isInherited && !WebInspector.CSSMetadata.isPropertyI nherited(property.name))
2063 continue; 2071 continue;
2064 2072
2065 var treeElement = this._propertyTreeElements[property.name.toLow erCase()]; 2073 var treeElement = this._propertyTreeElements[property.name.toLow erCase()];
2066 if (treeElement) { 2074 if (treeElement) {
2067 var fragment = createDocumentFragment(); 2075 var fragment = createDocumentFragment();
2068 var selector = fragment.createChild("span"); 2076 var selector = fragment.createChild("span");
2069 selector.style.color = "gray"; 2077 selector.style.color = "gray";
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
2156 return; 2164 return;
2157 } 2165 }
2158 2166
2159 /** 2167 /**
2160 * @param {!WebInspector.CSSRule} newRule 2168 * @param {!WebInspector.CSSRule} newRule
2161 * @this {WebInspector.StylePropertiesSection} 2169 * @this {WebInspector.StylePropertiesSection}
2162 */ 2170 */
2163 function successCallback(newRule) 2171 function successCallback(newRule)
2164 { 2172 {
2165 var doesSelectorAffectSelectedNode = newRule.matchingSelectors.lengt h > 0; 2173 var doesSelectorAffectSelectedNode = newRule.matchingSelectors.lengt h > 0;
2166 var styleRule = { media: newRule.media, section: this, style: newRul e.style, selectorText: newRule.selectorText, rule: newRule }; 2174 var styleRule = { media: newRule.media, style: newRule.style, select orText: newRule.selectorText, rule: newRule };
2167 this._makeNormal(styleRule); 2175 this._makeNormal(styleRule);
2168 2176
2169 if (!doesSelectorAffectSelectedNode) { 2177 if (!doesSelectorAffectSelectedNode)
2170 this.noAffect = true;
2171 this.element.classList.add("no-affect"); 2178 this.element.classList.add("no-affect");
2172 }
2173 2179
2174 var ruleTextLines = ruleText.split("\n"); 2180 var ruleTextLines = ruleText.split("\n");
2175 var startLine = this._ruleLocation.startLine; 2181 var startLine = this._ruleLocation.startLine;
2176 var startColumn = this._ruleLocation.startColumn; 2182 var startColumn = this._ruleLocation.startColumn;
2177 var newRange = new WebInspector.TextRange(startLine, startColumn, st artLine + ruleTextLines.length - 1, startColumn + ruleTextLines[ruleTextLines.le ngth - 1].length); 2183 var newRange = new WebInspector.TextRange(startLine, startColumn, st artLine + ruleTextLines.length - 1, startColumn + ruleTextLines[ruleTextLines.le ngth - 1].length);
2178 this._parentPane._styleSheetRuleEdited(newRule, this._ruleLocation, newRange); 2184 this._parentPane._styleSheetRuleEdited(newRule, this._ruleLocation, newRange);
2179 2185
2180 this._updateRuleOrigin(); 2186 this._updateRuleOrigin();
2181 this.expand(); 2187 this.expand();
2182 if (this.element.parentElement) // Might have been detached already. 2188 if (this.element.parentElement) // Might have been detached already.
(...skipping 1474 matching lines...) Expand 10 before | Expand all | Expand 10 after
3657 if (userEnteredText && (userEnteredText === userEnteredText.toUpperCase( ))) { 3663 if (userEnteredText && (userEnteredText === userEnteredText.toUpperCase( ))) {
3658 for (var i = 0; i < results.length; ++i) 3664 for (var i = 0; i < results.length; ++i)
3659 results[i] = results[i].toUpperCase(); 3665 results[i] = results[i].toUpperCase();
3660 } 3666 }
3661 var selectedIndex = this._cssCompletions.mostUsedOf(results); 3667 var selectedIndex = this._cssCompletions.mostUsedOf(results);
3662 completionsReadyCallback(results, selectedIndex); 3668 completionsReadyCallback(results, selectedIndex);
3663 }, 3669 },
3664 3670
3665 __proto__: WebInspector.TextPrompt.prototype 3671 __proto__: WebInspector.TextPrompt.prototype
3666 } 3672 }
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/inspector/elements-test.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698