Changeset 82578 in webkit


Ignore:
Timestamp:
Mar 31, 2011 8:03:50 AM (13 years ago)
Author:
apavlov@chromium.org
Message:

2011-03-31 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
https://bugs.webkit.org/show_bug.cgi?id=57538

WebCore:

  • inspector/InspectorStyleSheet.cpp: (WebCore::buildSourceRangeObject): (WebCore::InspectorStyle::buildObjectForStyle): (WebCore::InspectorStyle::populateObjectWithStyleProperties):
  • inspector/front-end/AuditRules.js: (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
  • inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleDeclaration):

LayoutTests:

  • http/tests/inspector/elements-test.js: (initialize_ElementTest.InspectorTest.rangeText): (initialize_ElementTest):
  • inspector/styles/get-set-stylesheet-text.html:
  • inspector/styles/styles-new-API.html:
  • inspector/styles/styles-source-offsets.html:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r82576 r82578  
     12011-03-31  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
     6        https://bugs.webkit.org/show_bug.cgi?id=57538
     7
     8        * http/tests/inspector/elements-test.js:
     9        (initialize_ElementTest.InspectorTest.rangeText):
     10        (initialize_ElementTest):
     11        * inspector/styles/get-set-stylesheet-text.html:
     12        * inspector/styles/styles-new-API.html:
     13        * inspector/styles/styles-source-offsets.html:
     14
    1152011-03-31  Pavel Podivilov  <podivilov@chromium.org>
    216
  • trunk/LayoutTests/http/tests/inspector/elements-test.js

    r80931 r82578  
    213213};
    214214
    215 };
     215InspectorTest.rangeText = function(range)
     216{
     217    if (!range)
     218        return "[undefined-undefined]";
     219    return "[" + range.start + "-" + range.end + "]";
     220};
     221
     222};
  • trunk/LayoutTests/inspector/styles/get-set-stylesheet-text.html

    r82252 r82578  
    100100            var property = style.cssProperties[i];
    101101            if (property.status !== "disabled")
    102                 InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority === "important" ? " is-important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @[" + property.startOffset + "-" + property.endOffset + "] " + (property.status || "style"));
     102                InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority === "important" ? " is-important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @" + InspectorTest.rangeText(property.range) + " " + (property.status || "style"));
    103103            else
    104104                InspectorTest.addResult("[text='" + property.text + "'] " + property.status);
  • trunk/LayoutTests/inspector/styles/styles-new-API.html

    r82433 r82578  
    288288            var property = style.cssProperties[i];
    289289            if (property.status !== "disabled")
    290                 InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority === "important" ? " is-important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @[" + property.startOffset + "-" + property.endOffset + "] " + (property.status || "style"));
     290                InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority === "important" ? " is-important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @" + InspectorTest.rangeText(property.range) + " " + (property.status || "style"));
    291291            else
    292292                InspectorTest.addResult("[text='" + property.text + "'] " + property.status);
  • trunk/LayoutTests/inspector/styles/styles-source-offsets.html

    r81019 r82578  
    2424            header = "element.style:";
    2525        }
    26         InspectorTest.addResult(header + " [" + style.properties.startOffset  + "-" + style.properties.endOffset + "]");
     26        InspectorTest.addResult(header + " " + InspectorTest.rangeText(style.range));
    2727        var allProperties = style.cssProperties;
    2828        for (var i = 0; i < allProperties.length; ++i) {
     
    3030            if (!property.status)
    3131                continue;
    32             InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority ? " !important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @[" + property.startOffset + "-" + property.endOffset + "]");
     32            InspectorTest.addResult("['" + property.name + "':'" + property.value + "'" + (property.priority ? " !important" : "") + (("parsedOk" in property) ? " non-parsed" : "") +"] @" + InspectorTest.rangeText(property.range));
    3333        }
    3434    }
  • trunk/Source/WebCore/ChangeLog

    r82571 r82578  
     12011-03-31  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
     6        https://bugs.webkit.org/show_bug.cgi?id=57538
     7
     8        * inspector/InspectorStyleSheet.cpp:
     9        (WebCore::buildSourceRangeObject):
     10        (WebCore::InspectorStyle::buildObjectForStyle):
     11        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
     12        * inspector/front-end/AuditRules.js:
     13        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
     14        * inspector/front-end/CSSStyleModel.js:
     15        (WebInspector.CSSStyleDeclaration):
     16
    1172011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
    218
  • trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp

    r82555 r82578  
    103103namespace WebCore {
    104104
     105static PassRefPtr<InspectorObject> buildSourceRangeObject(const SourceRange& range)
     106{
     107    RefPtr<InspectorObject> result = InspectorObject::create();
     108    result->setNumber("start", range.start);
     109    result->setNumber("end", range.end);
     110    return result.release();
     111}
     112
    105113static PassRefPtr<CSSRuleList> asCSSRuleList(StyleBase* styleBase)
    106114{
     
    155163        result->setValue("styleId", m_styleId.asInspectorValue());
    156164
    157     RefPtr<InspectorObject> propertiesObject = InspectorObject::create();
    158     propertiesObject->setString("width", m_style->getPropertyValue("width"));
    159     propertiesObject->setString("height", m_style->getPropertyValue("height"));
     165    result->setString("width", m_style->getPropertyValue("width"));
     166    result->setString("height", m_style->getPropertyValue("height"));
    160167
    161168    RefPtr<CSSRuleSourceData> sourceData = m_parentStyleSheet ? m_parentStyleSheet->ruleSourceDataFor(m_style.get()) : 0;
    162     if (sourceData) {
    163         propertiesObject->setNumber("startOffset", sourceData->styleSourceData->styleBodyRange.start);
    164         propertiesObject->setNumber("endOffset", sourceData->styleSourceData->styleBodyRange.end);
    165     }
    166     result->setObject("properties", propertiesObject);
     169    if (sourceData)
     170        result->setObject("range", buildSourceRangeObject(sourceData->styleSourceData->styleBodyRange));
    167171
    168172    populateObjectWithStyleProperties(result.get());
     
    467471            if (it->hasSource) {
    468472                property->setBoolean("implicit", false);
    469                 property->setNumber("startOffset", propertyEntry.range.start);
    470                 property->setNumber("endOffset", propertyEntry.range.end);
     473                property->setObject("range", buildSourceRangeObject(propertyEntry.range));
    471474
    472475                // Parsed property overrides any property with the same name. Non-parsed property overrides
  • trunk/Source/WebCore/inspector/front-end/AuditRules.js

    r82453 r82578  
    323323                        var rule = styleSheet.rules[curRule];
    324324                        // Exact computation whenever source ranges are available.
    325                         var textLength = (rule.selectorRange && rule.style.properties.endOffset) ? rule.style.properties.endOffset - rule.selectorRange.start + 1 : 0;
     325                        var textLength = (rule.selectorRange && rule.style.range && rule.style.range.end) ? rule.style.range.end - rule.selectorRange.start + 1 : 0;
    326326                        if (!textLength && rule.style.cssText)
    327327                            textLength = rule.style.cssText.length + rule.selectorText.length;
  • trunk/Source/WebCore/inspector/front-end/CSSStyleModel.js

    r82555 r82578  
    197197{
    198198    this.id = payload.styleId;
    199     this.properties = payload.properties;
     199    this.width = payload.width;
     200    this.height = payload.height;
     201    this.range = payload.range;
    200202    this._shorthandValues = WebInspector.CSSStyleDeclaration.buildShorthandValueMap(payload.shorthandEntries);
    201203    this._livePropertyMap = {}; // LIVE properties (source-based or style-based) : { name -> CSSProperty }
Note: See TracChangeset for help on using the changeset viewer.