Changeset 19992 in webkit


Ignore:
Timestamp:
Mar 6, 2007 4:27:46 PM (17 years ago)
Author:
zimmermann
Message:

Reviewed by Rob & Oliver.

Preparations for the new SVG text engine.

Handle baseline-shift / kerning css values correctly.
Recognize missing svg presentation attribute "font-size-adjust".
Add all missing svg<->css property mappings in mapToEntry().

Doesn't affect any layout test (as these properties are not used w/o my text patch).
While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit.

Location:
trunk/WebCore
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r19991 r19992  
     12007-03-07  Nikolas Zimmermann  <zimmermann@kde.org>
     2
     3        Reviewed by Rob & Oliver.
     4
     5        Preparations for the new SVG text engine.
     6
     7        Handle baseline-shift / kerning css values correctly.
     8        Recognize missing svg presentation attribute "font-size-adjust".
     9        Add all missing svg<->css property mappings in mapToEntry().
     10
     11        Doesn't affect any layout test (as these properties are not used w/o my text patch).
     12        While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit.
     13
     14        * ksvg2/css/CSSPropertyNames.in:
     15        * ksvg2/css/SVGCSSParser.cpp:
     16        (WebCore::CSSParser::parseSVGValue):
     17        * ksvg2/css/SVGCSSStyleSelector.cpp:
     18        (WebCore::CSSStyleSelector::applySVGProperty):
     19        * ksvg2/css/SVGRenderStyle.cpp:
     20        (WebCore::SVGRenderStyle::SVGRenderStyle):
     21        (WebCore::SVGRenderStyle::operator==):
     22        (WebCore::SVGRenderStyle::inheritedNotEqual):
     23        (WebCore::SVGRenderStyle::inheritFrom):
     24        * ksvg2/css/SVGRenderStyle.h:
     25        (WebCore::SVGRenderStyle::NonInheritedFlags::):
     26        (WebCore::SVGRenderStyle::setBitDefaults):
     27        * ksvg2/css/SVGRenderStyleDefs.cpp:
     28        (StyleTextData::StyleTextData):
     29        (StyleTextData::operator==):
     30        (StyleMiscData::StyleMiscData):
     31        (StyleMiscData::operator==):
     32        * ksvg2/css/SVGRenderStyleDefs.h:
     33        (WebCore::):
     34        (WebCore::StyleTextData::operator!=):
     35        * ksvg2/svg/SVGStyledElement.cpp:
     36        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
     37
    1382007-03-06  Justin Garcia  <justin.garcia@apple.com>
    239
  • trunk/WebCore/ksvg2/css/CSSPropertyNames.in

    r13393 r19992  
    2323fill-opacity
    2424fill-rule
     25font-size-adjust
    2526image-rendering
    2627marker
  • trunk/WebCore/ksvg2/css/SVGCSSParser.cpp

    r19855 r19992  
    273273
    274274    case SVGCSS_PROP_KERNING:              // auto | normal | <length> | inherit
    275         if (id == CSS_VAL_AUTO)
     275        if (id == CSS_VAL_AUTO || id == CSS_VAL_NORMAL)
    276276            valid_primitive = true;
    277277        else
  • trunk/WebCore/ksvg2/css/SVGCSSStyleSelector.cpp

    r19855 r19992  
    11/*
    22    Copyright (C) 2005 Apple Computer, Inc.
    3     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
     3    Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    44                  2004, 2005 Rob Buis <buis@kde.org>
    55
     
    6161if (id == propID) \
    6262{\
    63     svgstyle->set##Prop(parentStyle->prop());\
     63    svgstyle->set##Prop(parentStyle->svgStyle()->prop());\
    6464    return;\
    6565}
     
    7272}
    7373
     74#define HANDLE_INITIAL_COND_WITH_VALUE(propID, Prop, Value) \
     75if (id == propID) { \
     76    svgstyle->set##Prop(SVGRenderStyle::initial##Value()); \
     77    return; \
     78}
     79
    7480namespace WebCore {
    7581
     
    8086        primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    8187
    82     Length l;
    8388    SVGRenderStyle* svgstyle = style->accessSVGStyle();
    84    
    8589    unsigned short valueType = value->cssValueType();
    8690   
     
    145149            break;
    146150        }
     151        case SVGCSS_PROP_BASELINE_SHIFT:
     152        {
     153            HANDLE_INHERIT_AND_INITIAL(baselineShift, BaselineShift);
     154            if (!primitiveValue)
     155                break;
     156
     157            if (primitiveValue->getIdent()) {
     158                switch (primitiveValue->getIdent()) {
     159                case CSS_VAL_BASELINE:
     160                    svgstyle->setBaselineShift(BS_BASELINE);
     161                    break;
     162                case CSS_VAL_SUB:
     163                    svgstyle->setBaselineShift(BS_SUB);
     164                    break;
     165                case CSS_VAL_SUPER:
     166                    svgstyle->setBaselineShift(BS_SUPER);
     167                    break;
     168                default:
     169                    break;
     170                }
     171            } else {
     172                svgstyle->setBaselineShift(BS_LENGTH);
     173                svgstyle->setBaselineShiftValue(primitiveValue);
     174            }
     175
     176            break;
     177        }
     178        case SVGCSS_PROP_KERNING:
     179        {
     180            if (isInherit) {
     181                HANDLE_INHERIT_COND(SVGCSS_PROP_KERNING, kerning, Kerning)
     182                return;
     183            }
     184            else if (isInitial) {
     185                HANDLE_INITIAL_COND_WITH_VALUE(SVGCSS_PROP_KERNING, Kerning, Kerning)
     186                return;
     187            }
     188
     189            svgstyle->setKerning(primitiveValue);
     190            break;
     191        }
    147192        case SVGCSS_PROP_POINTER_EVENTS:
    148193        {
  • trunk/WebCore/ksvg2/css/SVGRenderStyle.cpp

    r19855 r19992  
    11/*
    2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
     2    Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    33                  2004, 2005 Rob Buis <buis@kde.org>
    44
     
    3737SVGRenderStyle::SVGRenderStyle()
    3838{
    39     if(!s_defaultStyle)   
     39    if (!s_defaultStyle)   
    4040        s_defaultStyle = new SVGRenderStyle(true);
    4141
    4242    fill = s_defaultStyle->fill;
    4343    stroke = s_defaultStyle->stroke;
     44    text = s_defaultStyle->text;
    4445    stops = s_defaultStyle->stops;
    4546    clip = s_defaultStyle->clip;
     
    5758    fill.init();
    5859    stroke.init();
     60    text.init();
    5961    stops.init();
    6062    clip.init();
     
    6870    fill = other.fill;
    6971    stroke = other.stroke;
     72    text = other.text;
    7073    stops = other.stops;
    7174    clip = other.clip;
     
    8487bool SVGRenderStyle::operator==(const SVGRenderStyle& o) const
    8588{
    86     return (fill == o.fill && stroke == o.stroke &&
     89    return (fill == o.fill && stroke == o.stroke && text == o.text &&
    8790        stops == o.stops && clip == o.clip && mask == o.mask &&
    8891        misc == o.misc && markers == o.markers &&
     
    9699            || stroke != other->stroke
    97100            || markers != other->markers
     101            || text != other->text
    98102            || svg_inherited_flags != other->svg_inherited_flags);
    99103}
     
    101105void SVGRenderStyle::inheritFrom(const SVGRenderStyle* svgInheritParent)
    102106{
    103     if(!svgInheritParent)
     107    if (!svgInheritParent)
    104108        return;
    105109
     
    107111    stroke = svgInheritParent->stroke;
    108112    markers = svgInheritParent->markers;
     113    text = svgInheritParent->text;
    109114
    110115    svg_inherited_flags = svgInheritParent->svg_inherited_flags;
     
    113118}
    114119
    115 // vim:ts=4:noet
    116120#endif // ENABLE(SVG)
    117121
     122// vim:ts=4:noet
  • trunk/WebCore/ksvg2/css/SVGRenderStyle.h

    r19855 r19992  
    11/*
    2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
     2    Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    33                  2004, 2005 Rob Buis <buis@kde.org>
    44    Copyright (C) 2005, 2006 Apple Computer, Inc.
     
    2424#ifndef SVGRenderStyle_h
    2525#define SVGRenderStyle_h
     26
    2627#if ENABLE(SVG)
    2728
     
    3637typedef unsigned long long uint64_t;
    3738#endif
    38 
    39 // "Helper" macros for SVG's RenderStyle properties
    40 // FIXME: These are impossible to work with or debug.
    41 #define RS_DEFINE_ATTRIBUTE(Data, Type, Name, Initial) \
    42     void set##Type(Data val) { noninherited_flags.f._##Name = val; } \
    43     Data Name() const { return (Data) noninherited_flags.f._##Name; } \
    44     static Data initial##Type() { return Initial; }
    45 
    46 #define RS_DEFINE_ATTRIBUTE_INHERITED(Data, Type, Name, Initial) \
    47     void set##Type(Data val) { inherited_flags.f._##Name = val; } \
    48     Data Name() const { return (Data) inherited_flags.f._##Name; } \
    49     static Data initial##Type() { return Initial; }
    50 
    51 #define RS_DEFINE_ATTRIBUTE_DATAREF(Data, Group, Variable, Type, Name) \
    52     Data Name() const { return Group->Variable; } \
    53     void set##Type(Data obj) { RS_SET_VARIABLE(Group, Variable, obj) }
    54 
    55 #define RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Data, Group, Variable, Type, Name, Initial) \
    56     RS_DEFINE_ATTRIBUTE_DATAREF(Data, Group, Variable, Type, Name) \
    57     static Data initial##Type() { return Initial; }
    58 
    59 #define RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(Data, Group, Variable, Type, Name, Initial) \
    60     Data* Name() const { return Group->Variable.get(); } \
    61     void set##Type(PassRefPtr<Data> obj) { \
    62         if(!(Group->Variable == obj)) \
    63             Group.access()->Variable = obj; \
    64     } \
    65     static Data* initial##Type() { return Initial; }
    66 
    67 #define RS_SET_VARIABLE(Group, Variable, Value) \
    68     if(!(Group->Variable == Value)) \
    69         Group.access()->Variable = Value;
    7039
    7140namespace WebCore {
     
    8756        SVG_RS_DEFINE_ATTRIBUTE(EAlignmentBaseline, AlignmentBaseline, alignmentBaseline, AB_AUTO)
    8857        SVG_RS_DEFINE_ATTRIBUTE(EDominantBaseline, DominantBaseline, dominantBaseline, DB_AUTO)
     58        SVG_RS_DEFINE_ATTRIBUTE(EBaselineShift, BaselineShift, baselineShift, BS_BASELINE)
    8959
    9060        SVG_RS_DEFINE_ATTRIBUTE_INHERITED(LineCap, CapStyle, capStyle, ButtCap)
     
    10171        SVG_RS_DEFINE_ATTRIBUTE_INHERITED(ETextRendering, TextRendering, textRendering, TR_AUTO)
    10272        SVG_RS_DEFINE_ATTRIBUTE_INHERITED(EWritingMode, WritingMode, writingMode, WM_LRTB)
     73 
     74        // SVG CSS Properties (using DataRef's)
     75        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, fill, opacity, FillOpacity, fillOpacity, 1.0)
     76        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(SVGPaint, fill, paint, FillPaint, fillPaint, SVGPaint::defaultFill())
    10377
    104         // SVG CSS Properties (using DataRef's)
    105         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, fill, opacity, FillOpacity, fillOpacity, 1.0)
    106         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(SVGPaint, fill, paint, FillPaint, fillPaint, SVGPaint::defaultFill())
     78        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stroke, opacity, StrokeOpacity, strokeOpacity, 1.0)
     79        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(SVGPaint, stroke, paint, StrokePaint, strokePaint, SVGPaint::defaultStroke())
     80        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValueList, stroke, dashArray, StrokeDashArray, strokeDashArray, 0)
     81        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stroke, miterLimit, StrokeMiterLimit, strokeMiterLimit, 4.0)
     82       
     83        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, stroke, width, StrokeWidth, strokeWidth, 0)
     84        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, stroke, dashOffset, StrokeDashOffset, strokeDashOffset, 0);
    10785
    108         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stroke, opacity, StrokeOpacity, strokeOpacity, 1.0)
    109         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(SVGPaint, stroke, paint, StrokePaint, strokePaint, SVGPaint::defaultStroke())
    110         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValueList, stroke, dashArray, StrokeDashArray, strokeDashArray, 0)
    111         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stroke, miterLimit, StrokeMiterLimit, strokeMiterLimit, 4.0)
     86        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, text, kerning, Kerning, kerning, 0)
     87
     88        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stops, opacity, StopOpacity, stopOpacity, 1.0)
     89        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Color, stops, color, StopColor, stopColor, Color(0, 0, 0))   
    11290       
    113         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, stroke, width, StrokeWidth, strokeWidth, 0)
    114         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, stroke, dashOffset, StrokeDashOffset, strokeDashOffset, 0);
    115    
    116         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, stops, opacity, StopOpacity, stopOpacity, 1.0)
    117         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Color, stops, color, StopColor, stopColor, Color(0, 0, 0))   
    118        
    119         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, clip, clipPath, ClipPath, clipPath, String())
    120         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, mask, maskElement, MaskElement, maskElement, String())
    121         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, startMarker, StartMarker, startMarker, String())
    122         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, midMarker, MidMarker, midMarker, String())
    123         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, endMarker, EndMarker, endMarker, String())
     91        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, clip, clipPath, ClipPath, clipPath, String())
     92        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, mask, maskElement, MaskElement, maskElement, String())
     93        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, startMarker, StartMarker, startMarker, String())
     94        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, midMarker, MidMarker, midMarker, String())
     95        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, markers, endMarker, EndMarker, endMarker, String())
    12496
    125         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, misc, filter, Filter, filter, String())
    126         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, misc, floodOpacity, FloodOpacity, floodOpacity, 1.0)
    127         RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Color, misc, floodColor, FloodColor, floodColor, Color(0, 0, 0))
    128        
     97        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(String, misc, filter, Filter, filter, String())
     98        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(float, misc, floodOpacity, FloodOpacity, floodOpacity, 1.0)
     99        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Color, misc, floodColor, FloodColor, floodColor, Color(0, 0, 0))
     100        SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, misc, baselineShiftValue, BaselineShiftValue, baselineShiftValue, 0)
     101
    129102        // convenience
    130103        bool hasStroke() const { return (strokePaint()->paintType() != SVGPaint::SVG_PAINTTYPE_NONE); }
     
    169142                    unsigned _alignmentBaseline : 4; // EAlignmentBaseline
    170143                    unsigned _dominantBaseline : 4; // EDominantBaseline
    171                     // 24 bits unused
     144                    unsigned _baselineShift : 2; // EBaselineShift
     145                    // 22 bits unused
    172146                } f;
    173147                uint32_t _niflags;
     
    179153        DataRef<StyleStrokeData> stroke;
    180154        DataRef<StyleMarkerData> markers;
     155        DataRef<StyleTextData> text;
    181156
    182157        // non-inherited attributes
     
    210185            svg_noninherited_flags.f._alignmentBaseline = initialAlignmentBaseline();
    211186            svg_noninherited_flags.f._dominantBaseline = initialDominantBaseline();
     187            svg_noninherited_flags.f._baselineShift = initialBaselineShift();
    212188        }
    213189    };
  • trunk/WebCore/ksvg2/css/SVGRenderStyleDefs.cpp

    r19855 r19992  
    11/*
    2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
     2    Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    33                  2004, 2005 Rob Buis <buis@kde.org>
    44
     
    116116}
    117117
     118StyleTextData::StyleTextData() : Shared<StyleTextData>()
     119{
     120    kerning = SVGRenderStyle::initialKerning();
     121}
     122
     123StyleTextData::StyleTextData(const StyleTextData& other) : Shared<StyleTextData>()
     124{
     125    kerning = other.kerning;
     126}
     127
     128bool StyleTextData::operator==(const StyleTextData& other) const
     129{
     130    return kerning == other.kerning;
     131}
     132
    118133StyleClipData::StyleClipData() : Shared<StyleClipData>()
    119134{
     
    167182StyleMiscData::StyleMiscData() : Shared<StyleMiscData>()
    168183{
    169     floodColor = RenderStyle::initialColor();
    170     floodOpacity = RenderStyle::initialOpacity();
     184    floodColor = SVGRenderStyle::initialFloodColor();
     185    floodOpacity = SVGRenderStyle::initialFloodOpacity();
     186    baselineShiftValue = SVGRenderStyle::initialBaselineShiftValue();
    171187}
    172188
     
    176192    floodColor = other.floodColor;
    177193    floodOpacity = other.floodOpacity;
     194    baselineShiftValue = other.baselineShiftValue;
    178195}
    179196
    180197bool StyleMiscData::operator==(const StyleMiscData &other) const
    181198{
    182     return (filter == other.filter && floodOpacity == other.floodOpacity && floodColor == other.floodColor);
    183 }
     199    return filter == other.filter
     200           && floodOpacity == other.floodOpacity
     201           && floodColor == other.floodColor
     202           && baselineShiftValue == other.baselineShiftValue;
     203}
     204
     205#endif // ENABLE(SVG)
    184206
    185207// vim:ts=4:noet
    186 #endif // ENABLE(SVG)
    187 
  • trunk/WebCore/ksvg2/css/SVGRenderStyleDefs.h

    r19855 r19992  
    11/*
    2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
     2    Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    33                  2004, 2005 Rob Buis <buis@kde.org>
    44
     
    2929#ifndef SVGRenderStyleDefs_h
    3030#define SVGRenderStyleDefs_h
     31
    3132#if ENABLE(SVG)
    32 
    3333#include "Color.h"
    3434#include "Path.h"
     
    4848    static Data initial##Type() { return Initial; }
    4949
     50// "Helper" macros for SVG's RenderStyle properties
     51// FIXME: These are impossible to work with or debug.
     52#define SVG_RS_DEFINE_ATTRIBUTE_DATAREF(Data, Group, Variable, Type, Name) \
     53    Data Name() const { return Group->Variable; } \
     54    void set##Type(Data obj) { SVG_RS_SET_VARIABLE(Group, Variable, obj) }
     55
     56#define SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Data, Group, Variable, Type, Name, Initial) \
     57    SVG_RS_DEFINE_ATTRIBUTE_DATAREF(Data, Group, Variable, Type, Name) \
     58    static Data initial##Type() { return Initial; }
     59
     60#define SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(Data, Group, Variable, Type, Name, Initial) \
     61    Data* Name() const { return Group->Variable.get(); } \
     62    void set##Type(PassRefPtr<Data> obj) { \
     63        if(!(Group->Variable == obj)) \
     64            Group.access()->Variable = obj; \
     65    } \
     66    static Data* initial##Type() { return Initial; }
     67
     68#define SVG_RS_SET_VARIABLE(Group, Variable, Value) \
     69    if(!(Group->Variable == Value)) \
     70        Group.access()->Variable = Value;
     71
    5072namespace WebCore {
     73
     74    enum EBaselineShift {
     75        BS_BASELINE, BS_SUB, BS_SUPER, BS_LENGTH
     76    };
    5177
    5278    enum ETextAnchor {
     
    160186    };
    161187
     188    class StyleTextData : public Shared<StyleTextData> {
     189    public:
     190        StyleTextData();
     191        StyleTextData(const StyleTextData& other);
     192
     193        bool operator==(const StyleTextData& other) const;
     194        bool operator!=(const StyleTextData& other) const
     195        {
     196            return !(*this == other);
     197        }
     198
     199        RefPtr<CSSValue> kerning;
     200
     201    private:
     202        StyleTextData& operator=(const StyleTextData&);
     203    };
     204
    162205    class StyleClipData : public Shared<StyleClipData> {
    163206    public:
     
    226269        float floodOpacity;
    227270
     271        // non-inherited text stuff lives here not in StyleTextData.
     272        RefPtr<CSSValue> baselineShiftValue;
     273
    228274    private:
    229275        StyleMiscData &operator=(const StyleMiscData &);
     
    233279
    234280#endif // ENABLE(SVG)
    235 #endif // KSVG_SVGRenderStyleDefs_h
     281#endif // SVGRenderStyleDefs_h
    236282
    237283// vim:ts=4:noet
  • trunk/WebCore/ksvg2/svg/SVGStyledElement.cpp

    r19972 r19992  
    110110        mapAttributeToCSSProperty(propertyNameToIdMap, clip_ruleAttr);
    111111        mapAttributeToCSSProperty(propertyNameToIdMap, colorAttr);
     112        mapAttributeToCSSProperty(propertyNameToIdMap, color_interpolationAttr);
    112113        mapAttributeToCSSProperty(propertyNameToIdMap, color_interpolation_filtersAttr);
    113114        mapAttributeToCSSProperty(propertyNameToIdMap, color_profileAttr);
     115        mapAttributeToCSSProperty(propertyNameToIdMap, color_renderingAttr);
    114116        mapAttributeToCSSProperty(propertyNameToIdMap, cursorAttr);
    115117        mapAttributeToCSSProperty(propertyNameToIdMap, directionAttr);
     
    125127        mapAttributeToCSSProperty(propertyNameToIdMap, font_familyAttr);
    126128        mapAttributeToCSSProperty(propertyNameToIdMap, font_sizeAttr);
     129        mapAttributeToCSSProperty(propertyNameToIdMap, font_size_adjustAttr);
    127130        mapAttributeToCSSProperty(propertyNameToIdMap, font_stretchAttr);
    128131        mapAttributeToCSSProperty(propertyNameToIdMap, font_styleAttr);
     
    159162        mapAttributeToCSSProperty(propertyNameToIdMap, visibilityAttr);
    160163        mapAttributeToCSSProperty(propertyNameToIdMap, word_spacingAttr);
     164        mapAttributeToCSSProperty(propertyNameToIdMap, writing_modeAttr);
    161165    }
    162166   
Note: See TracChangeset for help on using the changeset viewer.