Changeset 63013 in webkit


Ignore:
Timestamp:
Jul 9, 2010 4:23:11 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-07-09 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Get rid of manual case maps in HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=42000

No functional change, thus no tests.

  • html/HTMLTreeBuilder.cpp:
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r63011 r63013  
     12010-07-09  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        Get rid of manual case maps in HTMLTreeBuilder
     6        https://bugs.webkit.org/show_bug.cgi?id=42000
     7
     8        No functional change, thus no tests.
     9
     10        * html/HTMLTreeBuilder.cpp:
     11
    1122010-07-09  Tony Gentilcore  <tonyg@chromium.org>
    213
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r63003 r63013  
    670670}
    671671
     672NameCaseMap* createCaseMapForNames(QualifiedName** names, size_t length)
     673{
     674    NameCaseMap* caseMap = new NameCaseMap;
     675    for (size_t i = 0; i < length; ++i) {
     676        QualifiedName* name = names[i];
     677        const AtomicString& localName = name->localName();
     678        AtomicString loweredLocalName = localName.lower();
     679        if (loweredLocalName != localName)
     680            caseMap->add(loweredLocalName, localName);
     681    }
     682    return caseMap;
     683}
     684
    672685void adjustSVGAttributes(AtomicHTMLToken& token)
    673686{
    674687    static NameCaseMap* caseMap = 0;
    675688    if (!caseMap) {
    676         caseMap = new NameCaseMap;
    677         addName(caseMap, SVGNames::attributeNameAttr);
    678         addName(caseMap, SVGNames::attributeTypeAttr);
    679         addName(caseMap, SVGNames::baseFrequencyAttr);
    680         addName(caseMap, SVGNames::baseProfileAttr);
    681         addName(caseMap, SVGNames::calcModeAttr);
    682         addName(caseMap, SVGNames::clipPathUnitsAttr);
    683         addName(caseMap, SVGNames::contentScriptTypeAttr);
    684         addName(caseMap, SVGNames::contentStyleTypeAttr);
    685         addName(caseMap, SVGNames::diffuseConstantAttr);
    686         addName(caseMap, SVGNames::edgeModeAttr);
    687         addName(caseMap, SVGNames::externalResourcesRequiredAttr);
    688         addName(caseMap, SVGNames::filterResAttr);
    689         addName(caseMap, SVGNames::filterUnitsAttr);
    690         addName(caseMap, SVGNames::glyphRefAttr);
    691         addName(caseMap, SVGNames::gradientTransformAttr);
    692         addName(caseMap, SVGNames::gradientUnitsAttr);
    693         addName(caseMap, SVGNames::kernelMatrixAttr);
    694         addName(caseMap, SVGNames::kernelUnitLengthAttr);
    695         addName(caseMap, SVGNames::keyPointsAttr);
    696         addName(caseMap, SVGNames::keySplinesAttr);
    697         addName(caseMap, SVGNames::keyTimesAttr);
    698         addName(caseMap, SVGNames::lengthAdjustAttr);
    699         addName(caseMap, SVGNames::limitingConeAngleAttr);
    700         addName(caseMap, SVGNames::markerHeightAttr);
    701         addName(caseMap, SVGNames::markerUnitsAttr);
    702         addName(caseMap, SVGNames::markerWidthAttr);
    703         addName(caseMap, SVGNames::maskContentUnitsAttr);
    704         addName(caseMap, SVGNames::maskUnitsAttr);
    705         addName(caseMap, SVGNames::numOctavesAttr);
    706         addName(caseMap, SVGNames::pathLengthAttr);
    707         addName(caseMap, SVGNames::patternContentUnitsAttr);
    708         addName(caseMap, SVGNames::patternTransformAttr);
    709         addName(caseMap, SVGNames::patternUnitsAttr);
    710         addName(caseMap, SVGNames::pointsAtXAttr);
    711         addName(caseMap, SVGNames::pointsAtYAttr);
    712         addName(caseMap, SVGNames::pointsAtZAttr);
    713         addName(caseMap, SVGNames::preserveAlphaAttr);
    714         addName(caseMap, SVGNames::preserveAspectRatioAttr);
    715         addName(caseMap, SVGNames::primitiveUnitsAttr);
    716         addName(caseMap, SVGNames::refXAttr);
    717         addName(caseMap, SVGNames::refYAttr);
    718         addName(caseMap, SVGNames::repeatCountAttr);
    719         addName(caseMap, SVGNames::repeatDurAttr);
    720         addName(caseMap, SVGNames::requiredExtensionsAttr);
    721         addName(caseMap, SVGNames::requiredFeaturesAttr);
    722         addName(caseMap, SVGNames::specularConstantAttr);
    723         addName(caseMap, SVGNames::specularExponentAttr);
    724         addName(caseMap, SVGNames::spreadMethodAttr);
    725         addName(caseMap, SVGNames::startOffsetAttr);
    726         addName(caseMap, SVGNames::stdDeviationAttr);
    727         addName(caseMap, SVGNames::stitchTilesAttr);
    728         addName(caseMap, SVGNames::surfaceScaleAttr);
    729         addName(caseMap, SVGNames::systemLanguageAttr);
    730         addName(caseMap, SVGNames::tableValuesAttr);
    731         addName(caseMap, SVGNames::targetXAttr);
    732         addName(caseMap, SVGNames::targetYAttr);
    733         addName(caseMap, SVGNames::textLengthAttr);
    734         addName(caseMap, SVGNames::viewBoxAttr);
    735         addName(caseMap, SVGNames::viewTargetAttr);
    736         addName(caseMap, SVGNames::xChannelSelectorAttr);
    737         addName(caseMap, SVGNames::yChannelSelectorAttr);
    738         addName(caseMap, SVGNames::zoomAndPanAttr);
     689        size_t length = 0;
     690        QualifiedName** svgAttrs = SVGNames::getSVGAttrs(&length);
     691        caseMap = createCaseMapForNames(svgAttrs, length);
    739692    }
    740693
     
    761714    static NameCaseMap* caseMap = 0;
    762715    if (!caseMap) {
    763         caseMap = new NameCaseMap;
    764         addName(caseMap, SVGNames::altGlyphTag);
     716        size_t length = 0;
     717        QualifiedName** svgTags = SVGNames::getSVGTags(&length);
     718        caseMap = createCaseMapForNames(svgTags, length);
     719        // FIXME: This is a hack around the fact that SVGNames does not
     720        // currently include all values HTML5 expects it to.
    765721        addName(caseMap, svgTagNameFor("altGlyphDef"));
    766722        addName(caseMap, svgTagNameFor("altGlyphItem"));
    767         addName(caseMap, SVGNames::animateColorTag);
    768         addName(caseMap, SVGNames::animateMotionTag);
    769         addName(caseMap, SVGNames::animateTransformTag);
    770         addName(caseMap, SVGNames::clipPathTag);
    771         addName(caseMap, SVGNames::feBlendTag);
    772         addName(caseMap, SVGNames::feColorMatrixTag);
    773         addName(caseMap, SVGNames::feComponentTransferTag);
    774         addName(caseMap, SVGNames::feCompositeTag);
    775         addName(caseMap, SVGNames::feConvolveMatrixTag);
    776         addName(caseMap, SVGNames::feDiffuseLightingTag);
    777         addName(caseMap, SVGNames::feDisplacementMapTag);
    778         addName(caseMap, SVGNames::feDistantLightTag);
    779         addName(caseMap, SVGNames::feFloodTag);
    780         addName(caseMap, SVGNames::feFuncATag);
    781         addName(caseMap, SVGNames::feFuncBTag);
    782         addName(caseMap, SVGNames::feFuncGTag);
    783         addName(caseMap, SVGNames::feFuncRTag);
    784         addName(caseMap, SVGNames::feGaussianBlurTag);
    785         addName(caseMap, SVGNames::feImageTag);
    786         addName(caseMap, SVGNames::feMergeTag);
    787         addName(caseMap, SVGNames::feMergeNodeTag);
    788         addName(caseMap, SVGNames::feMorphologyTag);
    789         addName(caseMap, SVGNames::feOffsetTag);
    790         addName(caseMap, SVGNames::fePointLightTag);
    791         addName(caseMap, SVGNames::feSpecularLightingTag);
    792         addName(caseMap, SVGNames::feSpotLightTag);
    793         addName(caseMap, SVGNames::feTileTag);
    794         addName(caseMap, SVGNames::feTurbulenceTag);
    795         addName(caseMap, SVGNames::foreignObjectTag);
    796723        addName(caseMap, svgTagNameFor("glyphRef"));
    797         addName(caseMap, SVGNames::linearGradientTag);
    798         addName(caseMap, SVGNames::radialGradientTag);
    799         addName(caseMap, SVGNames::textPathTag);
    800724    }
    801725
Note: See TracChangeset for help on using the changeset viewer.