Changeset 156253 in webkit


Ignore:
Timestamp:
Sep 22, 2013, 6:20:19 PM (12 years ago)
Author:
[email protected]
Message:

Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
https://bugs.webkit.org/show_bug.cgi?id=121462

Reviewed by Andreas Kling.

As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
by css value type casting as well. This type cast macros will help to detect
bad-cast bugs as well as improve a code readibility.

This patch adds the following methods,

  • CSSFooValue* toCSSFooValue(CSSValue*)
  • const CSSFooValue* toCSSFooValue(const CSSValue*)

To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
are changed with isLineBoxContainValue() and isCalcValue().

FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.

This patch removes unnecessary local variables.

No new tests, no behavior change.

  • css/CSSAspectRatioValue.h:
  • css/CSSBorderImageSliceValue.h:
  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcExpressionNodeParser::parseValue):

  • css/CSSCalculationValue.h:
  • css/CSSCrossfadeValue.cpp:

(WebCore::subimageKnownToBeOpaque):

  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
(WebCore::CSSCursorImageValue::isSVGCursor):

  • css/CSSCursorImageValue.h:
  • css/CSSFilterImageValue.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSGradientValue.h:
  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::loadSubimages):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):

  • css/CSSImageGeneratorValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::fillImageSet):

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.h:
  • css/CSSInheritedValue.h:
  • css/CSSInitialValue.h:
  • css/CSSLineBoxContainValue.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillRepeat):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseRadialGradient):

  • css/CSSPrimitiveValue.h:
  • css/CSSReflectValue.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillBlendMode):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):

  • css/CSSValue.cpp:

(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isLineBoxContainValue):
(WebCore::CSSValue::isCalcValue):

  • css/CSSValueList.h:
  • css/CSSVariableValue.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyValue):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyMarqueeRepetition::applyValue):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyZoom::applyValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyImageResolution::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):

  • css/FontFeatureValue.h:

(WebCore::toFontFeatureValue):

  • css/FontValue.h:

(WebCore::toFontValue):

  • css/MediaList.cpp:

(WebCore::reportMediaQueryWarningIfNeeded):

  • css/MediaQueryEvaluator.cpp:

(WebCore::compareAspectRatioValue):
(WebCore::numberValue):
(WebCore::orientationMediaFeatureEval):
(WebCore::evalResolution):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::computeLength):
(WebCore::view_modeMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/ShadowValue.h:

(WebCore::toShadowValue):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getLayeredShorthandValue):

  • css/StyleResolver.cpp:

(WebCore::createGridTrackSize):
(WebCore::createGridTrackList):
(WebCore::createGridPosition):
(WebCore::hasVariableReference):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::styleShader):
(WebCore::StyleResolver::parseCustomFilterArrayParameter):
(WebCore::StyleResolver::parseCustomFilterColorParameter):
(WebCore::StyleResolver::parseCustomFilterNumberParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):
(WebCore::StyleResolver::parseCustomFilterParameterList):
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):

  • css/TransformFunctions.cpp:

(WebCore::transformsForValue):

  • css/ViewportStyleResolver.cpp:

(WebCore::ViewportStyleResolver::getViewportArgumentValue):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

  • css/WebKitCSSShaderValue.h:

(WebCore::toWebKitCSSShaderValue):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::computedFontSize):

  • editing/EditingStyle.cpp:

(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::EditingStyle::legacyFontSize):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::extractTextStyles):
(WebCore::fontWeightIsBold):
(WebCore::isTransparentColorValue):

  • editing/markup.cpp:

(WebCore::propertyMissingOrEqualToNone):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::data):
(WebCore::StylePendingImage::cssImageValue):
(WebCore::StylePendingImage::cssImageGeneratorValue):
(WebCore::StylePendingImage::cssCursorImageValue):
(WebCore::StylePendingImage::cssImageSetValue):

Location:
trunk/Source/WebCore
Files:
45 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r156252 r156253  
     12013-09-22  Gyuyoung Kim  <[email protected]>
     2
     3        Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
     4        https://bugs.webkit.org/show_bug.cgi?id=121462
     5
     6        Reviewed by Andreas Kling.
     7
     8        As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
     9        by css value type casting as well. This type cast macros will help to detect
     10        bad-cast bugs as well as improve a code readibility.
     11
     12        This patch adds the following methods,
     13
     14        - CSSFooValue* toCSSFooValue(CSSValue*)
     15        - const CSSFooValue* toCSSFooValue(const CSSValue*)
     16
     17        To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
     18        are changed with isLineBoxContainValue() and isCalcValue().
     19
     20        FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
     21        class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.
     22
     23        This patch removes unnecessary local variables.
     24
     25        No new tests, no behavior change.
     26
     27        * css/CSSAspectRatioValue.h:
     28        * css/CSSBorderImageSliceValue.h:
     29        * css/CSSCalculationValue.cpp:
     30        (WebCore::CSSCalcExpressionNodeParser::parseValue):
     31        * css/CSSCalculationValue.h:
     32        * css/CSSCrossfadeValue.cpp:
     33        (WebCore::subimageKnownToBeOpaque):
     34        * css/CSSCrossfadeValue.h:
     35        * css/CSSCursorImageValue.cpp:
     36        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
     37        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
     38        (WebCore::CSSCursorImageValue::cachedImage):
     39        (WebCore::CSSCursorImageValue::cachedOrPendingImage):
     40        (WebCore::CSSCursorImageValue::isSVGCursor):
     41        * css/CSSCursorImageValue.h:
     42        * css/CSSFilterImageValue.h:
     43        * css/CSSFontSelector.cpp:
     44        (WebCore::CSSFontSelector::addFontFaceRule):
     45        * css/CSSGradientValue.h:
     46        * css/CSSImageGeneratorValue.cpp:
     47        (WebCore::CSSImageGeneratorValue::image):
     48        (WebCore::CSSImageGeneratorValue::fixedSize):
     49        (WebCore::CSSImageGeneratorValue::loadSubimages):
     50        (WebCore::CSSImageGeneratorValue::subimageIsPending):
     51        (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
     52        * css/CSSImageGeneratorValue.h:
     53        * css/CSSImageSetValue.cpp:
     54        (WebCore::CSSImageSetValue::fillImageSet):
     55        * css/CSSImageSetValue.h:
     56        * css/CSSImageValue.h:
     57        * css/CSSInheritedValue.h:
     58        * css/CSSInitialValue.h:
     59        * css/CSSLineBoxContainValue.h:
     60        * css/CSSParser.cpp:
     61        (WebCore::CSSParser::parseColor):
     62        (WebCore::CSSParser::addProperty):
     63        (WebCore::CSSParser::parse3ValuesFillPosition):
     64        (WebCore::CSSParser::parseFillPosition):
     65        (WebCore::CSSParser::parseFillRepeat):
     66        (WebCore::CSSParser::parseDeprecatedRadialGradient):
     67        (WebCore::CSSParser::parseRadialGradient):
     68        * css/CSSPrimitiveValue.h:
     69        * css/CSSReflectValue.h:
     70        * css/CSSToStyleMap.cpp:
     71        (WebCore::CSSToStyleMap::mapFillAttachment):
     72        (WebCore::CSSToStyleMap::mapFillClip):
     73        (WebCore::CSSToStyleMap::mapFillComposite):
     74        (WebCore::CSSToStyleMap::mapFillBlendMode):
     75        (WebCore::CSSToStyleMap::mapFillOrigin):
     76        (WebCore::CSSToStyleMap::mapFillRepeatX):
     77        (WebCore::CSSToStyleMap::mapFillRepeatY):
     78        (WebCore::CSSToStyleMap::mapFillSize):
     79        (WebCore::CSSToStyleMap::mapFillXPosition):
     80        (WebCore::CSSToStyleMap::mapFillYPosition):
     81        (WebCore::CSSToStyleMap::mapFillMaskSourceType):
     82        (WebCore::CSSToStyleMap::mapAnimationDelay):
     83        (WebCore::CSSToStyleMap::mapAnimationDirection):
     84        (WebCore::CSSToStyleMap::mapAnimationDuration):
     85        (WebCore::CSSToStyleMap::mapAnimationFillMode):
     86        (WebCore::CSSToStyleMap::mapAnimationIterationCount):
     87        (WebCore::CSSToStyleMap::mapAnimationName):
     88        (WebCore::CSSToStyleMap::mapAnimationPlayState):
     89        (WebCore::CSSToStyleMap::mapAnimationProperty):
     90        (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
     91        (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
     92        (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
     93        (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
     94        * css/CSSValue.cpp:
     95        (WebCore::CSSValue::destroy):
     96        * css/CSSValue.h:
     97        (WebCore::CSSValue::isLineBoxContainValue):
     98        (WebCore::CSSValue::isCalcValue):
     99        * css/CSSValueList.h:
     100        * css/CSSVariableValue.h:
     101        * css/DeprecatedStyleBuilder.cpp:
     102        (WebCore::ApplyPropertyDefault::applyValue):
     103        (WebCore::ApplyPropertyNumber::applyValue):
     104        (WebCore::ApplyPropertyAuto::applyValue):
     105        (WebCore::ApplyPropertyClip::applyValue):
     106        (WebCore::ApplyPropertyColor::applyValue):
     107        (WebCore::ApplyPropertyLength::applyValue):
     108        (WebCore::ApplyPropertyString::applyValue):
     109        (WebCore::ApplyPropertyBorderRadius::applyValue):
     110        (WebCore::ApplyPropertyComputeLength::applyValue):
     111        (WebCore::ApplyPropertyFont::applyValue):
     112        (WebCore::ApplyPropertyFontFamily::applyValue):
     113        (WebCore::ApplyPropertyFontSize::applyValue):
     114        (WebCore::ApplyPropertyFontWeight::applyValue):
     115        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
     116        (WebCore::ApplyPropertyCounter::applyValue):
     117        (WebCore::ApplyPropertyCursor::applyValue):
     118        (WebCore::ApplyPropertyTextAlign::applyValue):
     119        (WebCore::ApplyPropertyTextDecoration::applyValue):
     120        (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
     121        (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
     122        (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
     123        (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
     124        (WebCore::ApplyPropertyLineHeight::applyValue):
     125        (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
     126        (WebCore::ApplyPropertyPageSize::applyValue):
     127        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
     128        (WebCore::ApplyPropertyResize::applyValue):
     129        (WebCore::ApplyPropertyVerticalAlign::applyValue):
     130        (WebCore::ApplyPropertyAspectRatio::applyValue):
     131        (WebCore::ApplyPropertyZoom::applyValue):
     132        (WebCore::ApplyPropertyDisplay::applyValue):
     133        (WebCore::ApplyPropertyClipPath::applyValue):
     134        (WebCore::ApplyPropertyShape::applyValue):
     135        (WebCore::ApplyPropertyImageResolution::applyValue):
     136        (WebCore::ApplyPropertyTextIndent::applyValue):
     137        * css/FontFeatureValue.h:
     138        (WebCore::toFontFeatureValue):
     139        * css/FontValue.h:
     140        (WebCore::toFontValue):
     141        * css/MediaList.cpp:
     142        (WebCore::reportMediaQueryWarningIfNeeded):
     143        * css/MediaQueryEvaluator.cpp:
     144        (WebCore::compareAspectRatioValue):
     145        (WebCore::numberValue):
     146        (WebCore::orientationMediaFeatureEval):
     147        (WebCore::evalResolution):
     148        (WebCore::device_pixel_ratioMediaFeatureEval):
     149        (WebCore::resolutionMediaFeatureEval):
     150        (WebCore::computeLength):
     151        (WebCore::view_modeMediaFeatureEval):
     152        (WebCore::pointerMediaFeatureEval):
     153        * css/SVGCSSStyleSelector.cpp:
     154        (WebCore::StyleResolver::applySVGProperty):
     155        * css/ShadowValue.h:
     156        (WebCore::toShadowValue):
     157        * css/StylePropertySet.cpp:
     158        (WebCore::StylePropertySet::getLayeredShorthandValue):
     159        * css/StyleResolver.cpp:
     160        (WebCore::createGridTrackSize):
     161        (WebCore::createGridTrackList):
     162        (WebCore::createGridPosition):
     163        (WebCore::hasVariableReference):
     164        (WebCore::StyleResolver::applyProperty):
     165        (WebCore::StyleResolver::styleImage):
     166        (WebCore::StyleResolver::generatedOrPendingFromValue):
     167        (WebCore::StyleResolver::styleShader):
     168        (WebCore::StyleResolver::parseCustomFilterArrayParameter):
     169        (WebCore::StyleResolver::parseCustomFilterColorParameter):
     170        (WebCore::StyleResolver::parseCustomFilterNumberParameter):
     171        (WebCore::StyleResolver::parseCustomFilterParameter):
     172        (WebCore::StyleResolver::parseCustomFilterParameterList):
     173        (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
     174        (WebCore::StyleResolver::createFilterOperations):
     175        * css/TransformFunctions.cpp:
     176        (WebCore::transformsForValue):
     177        * css/ViewportStyleResolver.cpp:
     178        (WebCore::ViewportStyleResolver::getViewportArgumentValue):
     179        * css/WebKitCSSMatrix.cpp:
     180        (WebCore::WebKitCSSMatrix::setMatrixValue):
     181        * css/WebKitCSSShaderValue.h:
     182        (WebCore::toWebKitCSSShaderValue):
     183        * editing/ApplyStyleCommand.cpp:
     184        (WebCore::ApplyStyleCommand::computedFontSize):
     185        * editing/EditingStyle.cpp:
     186        (WebCore::identifierForStyleProperty):
     187        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
     188        (WebCore::cssValueToRGBA):
     189        (WebCore::EditingStyle::extractFontSizeDelta):
     190        (WebCore::EditingStyle::textDirection):
     191        (WebCore::EditingStyle::prepareToApplyAt):
     192        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
     193        (WebCore::EditingStyle::legacyFontSize):
     194        (WebCore::EditingStyle::textDirectionForSelection):
     195        (WebCore::StyleChange::extractTextStyles):
     196        (WebCore::fontWeightIsBold):
     197        (WebCore::isTransparentColorValue):
     198        * editing/markup.cpp:
     199        (WebCore::propertyMissingOrEqualToNone):
     200        * page/PageSerializer.cpp:
     201        (WebCore::PageSerializer::retrieveResourcesForProperties):
     202        * rendering/style/StylePendingImage.h:
     203        (WebCore::StylePendingImage::data):
     204        (WebCore::StylePendingImage::cssImageValue):
     205        (WebCore::StylePendingImage::cssImageGeneratorValue):
     206        (WebCore::StylePendingImage::cssCursorImageValue):
     207        (WebCore::StylePendingImage::cssImageSetValue):
     208
    12092013-09-22  Arunprasad Rajkumar  <[email protected]>
    2210
  • trunk/Source/WebCore/css/CSSAspectRatioValue.h

    r155060 r156253  
    6161};
    6262
     63CSS_VALUE_TYPE_CASTS(AspectRatioValue)
     64
    6365}
    6466
  • trunk/Source/WebCore/css/CSSBorderImageSliceValue.h

    r155060 r156253  
    5757};
    5858
     59CSS_VALUE_TYPE_CASTS(BorderImageSliceValue)
     60
    5961} // namespace WebCore
    6062
  • trunk/Source/WebCore/css/CSSCalculationValue.cpp

    r155060 r156253  
    450450            return false;
    451451
    452         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value.get());
    453         result->value = CSSCalcPrimitiveValue::create(primitiveValue, parserValue->isInt);
     452        result->value = CSSCalcPrimitiveValue::create(toCSSPrimitiveValue(value.get()), parserValue->isInt);
    454453
    455454        ++*index;
  • trunk/Source/WebCore/css/CSSCalculationValue.h

    r155060 r156253  
    128128    const bool m_nonNegative;
    129129};
     130
     131CSS_VALUE_TYPE_CASTS(CalcValue)
    130132   
    131133} // namespace WebCore
  • trunk/Source/WebCore/css/CSSCrossfadeValue.cpp

    r155100 r156253  
    4848{
    4949    if (value->isImageValue())
    50         return static_cast<CSSImageValue*>(value)->knownToBeOpaque(renderer);
     50        return toCSSImageValue(value)->knownToBeOpaque(renderer);
    5151
    5252    if (value->isImageGeneratorValue())
    53         return static_cast<CSSImageGeneratorValue*>(value)->knownToBeOpaque(renderer);
     53        return toCSSImageGeneratorValue(value)->knownToBeOpaque(renderer);
    5454
    5555    ASSERT_NOT_REACHED();
  • trunk/Source/WebCore/css/CSSCrossfadeValue.h

    r155100 r156253  
    111111};
    112112
    113 inline CSSCrossfadeValue* toCSSCrossfadeValue(CSSImageGeneratorValue* value)
    114 {
    115     ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isCrossfadeValue());
    116     return static_cast<CSSCrossfadeValue*>(value);
    117 }
     113CSS_VALUE_TYPE_CASTS(CrossfadeValue)
    118114
    119115} // namespace WebCore
  • trunk/Source/WebCore/css/CSSCursorImageValue.cpp

    r155412 r156253  
    7676    HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin();
    7777    HashSet<SVGElement*>::const_iterator end = m_referencedElements.end();
    78     String url = static_cast<CSSImageValue*>(m_imageValue.get())->url();
     78    String url = toCSSImageValue(m_imageValue.get())->url();
    7979
    8080    for (; it != end; ++it) {
     
    111111        return false;
    112112
    113     String url = static_cast<CSSImageValue*>(m_imageValue.get())->url();
     113    String url = toCSSImageValue(m_imageValue.get())->url();
    114114    if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, &element->document())) {
    115115        // FIXME: This will override hot spot specified in CSS, which is probably incorrect.
     
    140140#if ENABLE(CSS_IMAGE_SET)
    141141    if (m_imageValue->isImageSetValue())
    142         return static_cast<CSSImageSetValue*>(m_imageValue.get())->cachedImageSet(loader);
     142        return toCSSImageSetValue(m_imageValue.get())->cachedImageSet(loader);
    143143#endif
    144144
     
    151151        // we create an alternate CSSImageValue to use.
    152152        if (isSVGCursor() && loader && loader->document()) {
    153             RefPtr<CSSImageValue> imageValue = static_cast<CSSImageValue*>(m_imageValue.get());
     153            RefPtr<CSSImageValue> imageValue = toCSSImageValue(m_imageValue.get());
    154154            // FIXME: This will fail if the <cursor> element is in a shadow DOM (bug 59827)
    155155            if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(imageValue->url(), loader->document())) {
     
    163163
    164164        if (m_imageValue->isImageValue())
    165             m_image = static_cast<CSSImageValue*>(m_imageValue.get())->cachedImage(loader);
     165            m_image = toCSSImageValue(m_imageValue.get())->cachedImage(loader);
    166166    }
    167167
     
    177177    // Need to delegate completely so that changes in device scale factor can be handled appropriately.
    178178    if (m_imageValue->isImageSetValue())
    179         return static_cast<CSSImageSetValue*>(m_imageValue.get())->cachedOrPendingImageSet(document);
     179        return toCSSImageSetValue(m_imageValue.get())->cachedOrPendingImageSet(document);
    180180#endif
    181181
     
    190190{
    191191    if (m_imageValue->isImageValue()) {
    192         RefPtr<CSSImageValue> imageValue = static_cast<CSSImageValue*>(m_imageValue.get());
     192        RefPtr<CSSImageValue> imageValue = toCSSImageValue(m_imageValue.get());
    193193        KURL kurl(ParsedURLString, imageValue->url());
    194194        return kurl.hasFragmentIdentifier();
  • trunk/Source/WebCore/css/CSSCursorImageValue.h

    r155060 r156253  
    8383};
    8484
     85CSS_VALUE_TYPE_CASTS(CursorImageValue)
     86
    8587} // namespace WebCore
    8688
  • trunk/Source/WebCore/css/CSSFilterImageValue.h

    r155060 r156253  
    120120};
    121121
    122 inline CSSFilterImageValue* toCSSFilterImageValue(CSSImageGeneratorValue* value)
    123 {
    124     ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isFilterImageValue());
    125     return static_cast<CSSFilterImageValue*>(value);
    126 }
     122CSS_VALUE_TYPE_CASTS(FilterImageValue)
    127123
    128124} // namespace WebCore
  • trunk/Source/WebCore/css/CSSFontSelector.cpp

    r155729 r156253  
    117117            return;
    118118
    119         switch (static_cast<CSSPrimitiveValue*>(fontStyle.get())->getValueID()) {
     119        switch (toCSSPrimitiveValue(fontStyle.get())->getValueID()) {
    120120        case CSSValueNormal:
    121121            traitsMask |= FontStyleNormalMask;
     
    135135            return;
    136136
    137         switch (static_cast<CSSPrimitiveValue*>(fontWeight.get())->getValueID()) {
     137        switch (toCSSPrimitiveValue(fontWeight.get())->getValueID()) {
    138138        case CSSValueBold:
    139139        case CSSValue700:
     
    186186
    187187        for (unsigned i = 0; i < numVariants; ++i) {
    188             switch (static_cast<CSSPrimitiveValue*>(variantList->itemWithoutBoundsCheck(i))->getValueID()) {
     188            switch (toCSSPrimitiveValue(variantList->itemWithoutBoundsCheck(i))->getValueID()) {
    189189                case CSSValueNormal:
    190190                    traitsMask |= FontVariantNormalMask;
     
    266266    int familyLength = familyList->length();
    267267    for (int i = 0; i < familyLength; i++) {
    268         CSSPrimitiveValue* item = static_cast<CSSPrimitiveValue*>(familyList->itemWithoutBoundsCheck(i));
     268        CSSPrimitiveValue* item = toCSSPrimitiveValue(familyList->itemWithoutBoundsCheck(i));
    269269        String familyName;
    270270        if (item->isString()) {
  • trunk/Source/WebCore/css/CSSGradientValue.h

    r155060 r156253  
    233233};
    234234
     235CSS_VALUE_TYPE_CASTS(GradientValue)
     236
    235237} // namespace WebCore
    236238
  • trunk/Source/WebCore/css/CSSImageGeneratorValue.cpp

    r156226 r156253  
    111111        return static_cast<CSSCanvasValue*>(this)->image(renderer, size);
    112112    case CrossfadeClass:
    113         return static_cast<CSSCrossfadeValue*>(this)->image(renderer, size);
    114 #if ENABLE(CSS_FILTERS)
    115     case FilterImageClass:
    116         return static_cast<CSSFilterImageValue*>(this)->image(renderer, size);
     113        return toCSSCrossfadeValue(this)->image(renderer, size);
     114#if ENABLE(CSS_FILTERS)
     115    case FilterImageClass:
     116        return toCSSFilterImageValue(this)->image(renderer, size);
    117117#endif
    118118    case LinearGradientClass:
     
    153153        return static_cast<CSSCanvasValue*>(this)->fixedSize(renderer);
    154154    case CrossfadeClass:
    155         return static_cast<CSSCrossfadeValue*>(this)->fixedSize(renderer);
    156 #if ENABLE(CSS_FILTERS)
    157     case FilterImageClass:
    158         return static_cast<CSSFilterImageValue*>(this)->fixedSize(renderer);
     155        return toCSSCrossfadeValue(this)->fixedSize(renderer);
     156#if ENABLE(CSS_FILTERS)
     157    case FilterImageClass:
     158        return toCSSFilterImageValue(this)->fixedSize(renderer);
    159159#endif
    160160    case LinearGradientClass:
     
    214214    switch (classType()) {
    215215    case CrossfadeClass:
    216         static_cast<CSSCrossfadeValue*>(this)->loadSubimages(cachedResourceLoader);
     216        toCSSCrossfadeValue(this)->loadSubimages(cachedResourceLoader);
    217217        break;
    218218    case CanvasClass:
     
    221221#if ENABLE(CSS_FILTERS)
    222222    case FilterImageClass:
    223         static_cast<CSSFilterImageValue*>(this)->loadSubimages(cachedResourceLoader);
     223        toCSSFilterImageValue(this)->loadSubimages(cachedResourceLoader);
    224224        break;
    225225#endif
     
    238238{
    239239    if (value->isImageValue())
    240         return static_cast<CSSImageValue*>(value)->cachedOrPendingImage()->isPendingImage();
     240        return toCSSImageValue(value)->cachedOrPendingImage()->isPendingImage();
    241241   
    242242    if (value->isImageGeneratorValue())
    243         return static_cast<CSSImageGeneratorValue*>(value)->isPending();
    244 
    245     if (value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value)->getValueID() == CSSValueNone)
     243        return toCSSImageGeneratorValue(value)->isPending();
     244
     245    if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() == CSSValueNone)
    246246        return false;
    247247
     
    257257
    258258    if (value->isImageValue()) {
    259         StyleCachedImage* styleCachedImage = static_cast<CSSImageValue*>(value)->cachedImage(cachedResourceLoader);
     259        StyleCachedImage* styleCachedImage = toCSSImageValue(value)->cachedImage(cachedResourceLoader);
    260260        if (!styleCachedImage)
    261261            return 0;
     
    265265   
    266266    if (value->isImageGeneratorValue()) {
    267         static_cast<CSSImageGeneratorValue*>(value)->loadSubimages(cachedResourceLoader);
     267        toCSSImageGeneratorValue(value)->loadSubimages(cachedResourceLoader);
    268268        // FIXME: Handle CSSImageGeneratorValue (and thus cross-fades with gradients and canvas).
    269269        return 0;
    270270    }
    271271
    272     if (value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value)->getValueID() == CSSValueNone)
     272    if (value->isPrimitiveValue() && toCSSPrimitiveValue
     273        (value)->getValueID() == CSSValueNone)
    273274        return 0;
    274275
  • trunk/Source/WebCore/css/CSSImageGeneratorValue.h

    r156226 r156253  
    9393};
    9494
     95CSS_VALUE_TYPE_CASTS(ImageGeneratorValue)
     96
    9597} // namespace WebCore
    9698
  • trunk/Source/WebCore/css/CSSImageSetValue.cpp

    r155060 r156253  
    6363        CSSValue* imageValue = item(i);
    6464        ASSERT_WITH_SECURITY_IMPLICATION(imageValue->isImageValue());
    65         String imageURL = static_cast<CSSImageValue*>(imageValue)->url();
     65        String imageURL = toCSSImageValue(imageValue)->url();
    6666
    6767        ++i;
     
    6969        CSSValue* scaleFactorValue = item(i);
    7070        ASSERT_WITH_SECURITY_IMPLICATION(scaleFactorValue->isPrimitiveValue());
    71         float scaleFactor = static_cast<CSSPrimitiveValue*>(scaleFactorValue)->getFloatValue();
    7271
    7372        ImageWithScale image;
    7473        image.imageURL = imageURL;
    75         image.scaleFactor = scaleFactor;
     74        image.scaleFactor = toCSSPrimitiveValue(scaleFactorValue)->getFloatValue();
    7675        m_imagesInSet.append(image);
    7776        ++i;
  • trunk/Source/WebCore/css/CSSImageSetValue.h

    r155060 r156253  
    8585};
    8686
     87CSS_VALUE_TYPE_CASTS(ImageSetValue)
     88
    8789} // namespace WebCore
    8890
  • trunk/Source/WebCore/css/CSSImageValue.h

    r155060 r156253  
    6969};
    7070
     71CSS_VALUE_TYPE_CASTS(ImageValue)
     72
    7173} // namespace WebCore
    7274
  • trunk/Source/WebCore/css/CSSInheritedValue.h

    r155060 r156253  
    4545};
    4646
     47CSS_VALUE_TYPE_CASTS(InheritedValue)
     48
    4749} // namespace WebCore
    4850
  • trunk/Source/WebCore/css/CSSInitialValue.h

    r155060 r156253  
    5454};
    5555
     56CSS_VALUE_TYPE_CASTS(InitialValue)
     57
    5658} // namespace WebCore
    5759
  • trunk/Source/WebCore/css/CSSLineBoxContainValue.h

    r155060 r156253  
    5858};
    5959
     60CSS_VALUE_TYPE_CASTS(LineBoxContainValue)
     61
    6062} // namespace
    6163
  • trunk/Source/WebCore/css/CSSParser.cpp

    r156222 r156253  
    13901390        return false;
    13911391
    1392     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1392    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    13931393    if (!primitiveValue->isRGBColor())
    13941394        return false;
     
    15881588    if (!m_currentShorthand
    15891589#if ENABLE(CSS_VARIABLES)
    1590         || (value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value.get())->isVariableName())
     1590        || (value->isPrimitiveValue() && toCSSPrimitiveValue(value.get())->isVariableName())
    15911591#endif
    15921592        ) {
     
    41194119
    41204120#ifndef NDEBUG
    4121     CSSPrimitiveValue* first = static_cast<CSSPrimitiveValue*>(value1.get());
    4122     CSSPrimitiveValue* second = static_cast<CSSPrimitiveValue*>(value2.get());
     4121    CSSPrimitiveValue* first = toCSSPrimitiveValue(value1.get());
     4122    CSSPrimitiveValue* second = toCSSPrimitiveValue(value2.get());
    41234123    ident1 = first->getPairValue()->first()->getValueID();
    41244124    ident2 = second->getPairValue()->first()->getValueID();
     
    41804180    }
    41814181
    4182     RefPtr<CSSPrimitiveValue> parsedValue1 = static_cast<CSSPrimitiveValue*>(value1.get());
    4183     RefPtr<CSSPrimitiveValue> parsedValue2 = static_cast<CSSPrimitiveValue*>(value2.get());
     4182    RefPtr<CSSPrimitiveValue> parsedValue1 = toCSSPrimitiveValue(value1.get());
     4183    RefPtr<CSSPrimitiveValue> parsedValue2 = toCSSPrimitiveValue(value2.get());
    41844184
    41854185    value1.clear();
     
    42784278    // If only one value was specified, value2 is the same as value1.
    42794279    m_implicitShorthand = true;
    4280     value2 = cssValuePool().createIdentifierValue(static_cast<CSSPrimitiveValue*>(value1.get())->getValueID());
     4280    value2 = cssValuePool().createIdentifierValue(toCSSPrimitiveValue(value1.get())->getValueID());
    42814281}
    42824282
     
    77037703    ASSERT(!centerY || centerY->isPrimitiveValue());
    77047704
    7705     result->setFirstX(static_cast<CSSPrimitiveValue*>(centerX.get()));
    7706     result->setSecondX(static_cast<CSSPrimitiveValue*>(centerX.get()));
     7705    result->setFirstX(toCSSPrimitiveValue(centerX.get()));
     7706    result->setSecondX(toCSSPrimitiveValue(centerX.get()));
    77077707    // CSS3 radial gradients always share the same start and end point.
    7708     result->setFirstY(static_cast<CSSPrimitiveValue*>(centerY.get()));
    7709     result->setSecondY(static_cast<CSSPrimitiveValue*>(centerY.get()));
     7708    result->setFirstY(toCSSPrimitiveValue(centerY.get()));
     7709    result->setSecondY(toCSSPrimitiveValue(centerY.get()));
    77107710
    77117711    RefPtr<CSSPrimitiveValue> shapeValue;
     
    79677967        if (!a)
    79687968            return false;
    7969         result->setFirstX(static_cast<CSSPrimitiveValue*>(centerX.get()));
    7970         result->setFirstY(static_cast<CSSPrimitiveValue*>(centerY.get()));
     7969        result->setFirstX(toCSSPrimitiveValue(centerX.get()));
     7970        result->setFirstY(toCSSPrimitiveValue(centerY.get()));
    79717971        // Right now, CSS radial gradients have the same start and end centers.
    7972         result->setSecondX(static_cast<CSSPrimitiveValue*>(centerX.get()));
    7973         result->setSecondY(static_cast<CSSPrimitiveValue*>(centerY.get()));
     7972        result->setSecondX(toCSSPrimitiveValue(centerX.get()));
     7973        result->setSecondY(toCSSPrimitiveValue(centerY.get()));
    79747974    }
    79757975
  • trunk/Source/WebCore/css/CSSPrimitiveValue.h

    r156091 r156253  
    397397};
    398398
     399CSS_VALUE_TYPE_CASTS(PrimitiveValue)
     400
    399401} // namespace WebCore
    400402
  • trunk/Source/WebCore/css/CSSReflectValue.h

    r155060 r156253  
    7171};
    7272
     73CSS_VALUE_TYPE_CASTS(ReflectValue)
     74
    7375} // namespace WebCore
    7476
  • trunk/Source/WebCore/css/CSSToStyleMap.cpp

    r156125 r156253  
    7272        return;
    7373
    74     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    75     switch (primitiveValue->getValueID()) {
     74    switch (toCSSPrimitiveValue(value)->getValueID()) {
    7675    case CSSValueFixed:
    7776        layer->setAttachment(FixedBackgroundAttachment);
     
    9897        return;
    9998
    100     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    101     layer->setClip(*primitiveValue);
     99    layer->setClip(*toCSSPrimitiveValue(value));
    102100}
    103101
     
    112110        return;
    113111
    114     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    115     layer->setComposite(*primitiveValue);
     112    layer->setComposite(*toCSSPrimitiveValue(value));
    116113}
    117114
     
    126123        return;
    127124
    128     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     125    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    129126    layer->setBlendMode(*primitiveValue);
    130127}
     
    140137        return;
    141138
    142     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    143     layer->setOrigin(*primitiveValue);
     139    layer->setOrigin(*toCSSPrimitiveValue(value));
    144140}
    145141
     
    165161        return;
    166162
    167     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    168     layer->setRepeatX(*primitiveValue);
     163    layer->setRepeatX(*toCSSPrimitiveValue(value));
    169164}
    170165
     
    179174        return;
    180175
    181     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    182     layer->setRepeatY(*primitiveValue);
     176    layer->setRepeatY(*toCSSPrimitiveValue(value));
    183177}
    184178
     
    190184    }
    191185
    192     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     186    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    193187    if (primitiveValue->getValueID() == CSSValueContain)
    194188        layer->setSizeType(Contain);
     
    240234    float zoomFactor = style()->effectiveZoom();
    241235
    242     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     236    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    243237    Pair* pair = primitiveValue->getPairValue();
    244238    if (pair) {
     
    276270    float zoomFactor = style()->effectiveZoom();
    277271
    278     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     272    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    279273    Pair* pair = primitiveValue->getPairValue();
    280274    if (pair) {
     
    311305        return;
    312306
    313     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    314     switch (primitiveValue->getValueID()) {
     307    switch (toCSSPrimitiveValue(value)->getValueID()) {
    315308    case CSSValueAlpha:
    316309        type = EMaskSourceType::MaskAlpha;
     
    338331        return;
    339332
    340     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    341     animation->setDelay(primitiveValue->computeTime<double, CSSPrimitiveValue::Seconds>());
     333    animation->setDelay(toCSSPrimitiveValue(value)->computeTime<double, CSSPrimitiveValue::Seconds>());
    342334}
    343335
     
    352344        return;
    353345
    354     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    355     switch (primitiveValue->getValueID()) {
     346    switch (toCSSPrimitiveValue(value)->getValueID()) {
    356347    case CSSValueNormal:
    357348        layer->setDirection(Animation::AnimationDirectionNormal);
     
    381372        return;
    382373
    383     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    384     animation->setDuration(primitiveValue->computeTime<double, CSSPrimitiveValue::Seconds>());
     374    animation->setDuration(toCSSPrimitiveValue(value)->computeTime<double, CSSPrimitiveValue::Seconds>());
    385375}
    386376
     
    395385        return;
    396386
    397     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    398     switch (primitiveValue->getValueID()) {
     387    switch (toCSSPrimitiveValue(value)->getValueID()) {
    399388    case CSSValueNone:
    400389        layer->setFillMode(AnimationFillModeNone);
     
    424413        return;
    425414
    426     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     415    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    427416    if (primitiveValue->getValueID() == CSSValueInfinite)
    428417        animation->setIterationCount(Animation::IterationCountInfinite);
     
    441430        return;
    442431
    443     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     432    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    444433    if (primitiveValue->getValueID() == CSSValueNone)
    445434        layer->setIsNoneAnimation(true);
     
    458447        return;
    459448
    460     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    461     EAnimPlayState playState = (primitiveValue->getValueID() == CSSValuePaused) ? AnimPlayStatePaused : AnimPlayStatePlaying;
     449    EAnimPlayState playState = (toCSSPrimitiveValue(value)->getValueID() == CSSValuePaused) ? AnimPlayStatePaused : AnimPlayStatePlaying;
    462450    layer->setPlayState(playState);
    463451}
     
    474462        return;
    475463
    476     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     464    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    477465    if (primitiveValue->getValueID() == CSSValueAll) {
    478466        animation->setAnimationMode(Animation::AnimateAll);
     
    495483
    496484    if (value->isPrimitiveValue()) {
    497         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    498         switch (primitiveValue->getValueID()) {
     485        switch (toCSSPrimitiveValue(value)->getValueID()) {
    499486        case CSSValueLinear:
    500487            animation->setTimingFunction(LinearTimingFunction::create());
     
    602589
    603590    // Retrieve the border image value.
    604     CSSBorderImageSliceValue* borderImageSlice = static_cast<CSSBorderImageSliceValue*>(value);
     591    CSSBorderImageSliceValue* borderImageSlice = toCSSBorderImageSliceValue(value);
    605592
    606593    // Set up a length box to represent our image slices.
     
    638625
    639626    // Retrieve the primitive value.
    640     CSSPrimitiveValue* borderWidths = static_cast<CSSPrimitiveValue*>(value);
     627    CSSPrimitiveValue* borderWidths = toCSSPrimitiveValue(value);
    641628
    642629    // Set up a length box to represent our image slices.
     
    679666        return;
    680667
    681     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    682     Pair* pair = primitiveValue->getPairValue();
     668    Pair* pair = toCSSPrimitiveValue(value)->getPairValue();
    683669    if (!pair || !pair->first() || !pair->second())
    684670        return;
  • trunk/Source/WebCore/css/CSSValue.cpp

    r156125 r156253  
    384384    switch (classType()) {
    385385    case AspectRatioClass:
    386         delete static_cast<CSSAspectRatioValue*>(this);
     386        delete toCSSAspectRatioValue(this);
    387387        return;
    388388    case BorderImageSliceClass:
    389         delete static_cast<CSSBorderImageSliceValue*>(this);
     389        delete toCSSBorderImageSliceValue(this);
    390390        return;
    391391    case CanvasClass:
     
    393393        return;
    394394    case CursorImageClass:
    395         delete static_cast<CSSCursorImageValue*>(this);
     395        delete toCSSCursorImageValue(this);
    396396        return;
    397397    case FontClass:
     
    414414        return;
    415415    case CrossfadeClass:
    416         delete static_cast<CSSCrossfadeValue*>(this);
     416        delete toCSSCrossfadeValue(this);
    417417        return;
    418418    case ImageClass:
    419         delete static_cast<CSSImageValue*>(this);
     419        delete toCSSImageValue(this);
    420420        return;
    421421    case InheritedClass:
    422         delete static_cast<CSSInheritedValue*>(this);
     422        delete toCSSInheritedValue(this);
    423423        return;
    424424    case InitialClass:
    425         delete static_cast<CSSInitialValue*>(this);
     425        delete toCSSInitialValue(this);
    426426        return;
    427427    case PrimitiveClass:
    428         delete static_cast<CSSPrimitiveValue*>(this);
     428        delete toCSSPrimitiveValue(this);
    429429        return;
    430430    case ReflectClass:
     
    450450        return;
    451451    case LineBoxContainClass:
    452         delete static_cast<CSSLineBoxContainValue*>(this);
     452        delete toCSSLineBoxContainValue(this);
    453453        return;
    454454    case CalculationClass:
    455         delete static_cast<CSSCalcValue*>(this);
     455        delete toCSSCalcValue(this);
    456456        return;
    457457#if ENABLE(CSS_IMAGE_SET)
    458458    case ImageSetClass:
    459         delete static_cast<CSSImageSetValue*>(this);
     459        delete toCSSImageSetValue(this);
    460460        return;
    461461#endif
    462462#if ENABLE(CSS_FILTERS)
    463463    case FilterImageClass:
    464         delete static_cast<CSSFilterImageValue*>(this);
     464        delete toCSSFilterImageValue(this);
    465465        return;
    466466    case WebKitCSSFilterClass:
     
    478478        return;
    479479    case WebKitCSSShaderClass:
    480         delete static_cast<WebKitCSSShaderValue*>(this);
     480        delete toWebKitCSSShaderValue(this);
    481481        return;
    482482#endif
  • trunk/Source/WebCore/css/CSSValue.h

    r156125 r156253  
    9090    bool isStepsTimingFunctionValue() const { return m_classType == StepsTimingFunctionClass; }
    9191    bool isWebKitCSSTransformValue() const { return m_classType == WebKitCSSTransformClass; }
    92     bool isCSSLineBoxContainValue() const { return m_classType == LineBoxContainClass; }
    93     bool isCalculationValue() const {return m_classType == CalculationClass; }
     92    bool isLineBoxContainValue() const { return m_classType == LineBoxContainClass; }
     93    bool isCalcValue() const {return m_classType == CalculationClass; }
    9494#if ENABLE(CSS_FILTERS)
    9595    bool isFilterImageValue() const { return m_classType == FilterImageClass; }
     
    265265}
    266266
     267#define CSS_VALUE_TYPE_CASTS(ValueTypeName) \
     268inline const CSS##ValueTypeName* toCSS##ValueTypeName(const CSSValue* value) \
     269{ \
     270    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \
     271    return static_cast<const CSS##ValueTypeName*>(value); \
     272} \
     273inline CSS##ValueTypeName* toCSS##ValueTypeName(CSSValue* value) \
     274{ \
     275    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \
     276    return static_cast<CSS##ValueTypeName*>(value); \
     277} \
     278void toCSS##ValueTypeName(const CSS##ValueTypeName*); \
     279void toCSS##ValueTypeName(const CSS##ValueTypeName&);
     280
    267281} // namespace WebCore
    268282
  • trunk/Source/WebCore/css/CSSValueList.h

    r155060 r156253  
    9797};
    9898
     99CSS_VALUE_TYPE_CASTS(ValueList)
     100
    99101// Wrapper that can be used to iterate over any CSSValue. Non-list values and 0 behave as zero-length lists.
    100102// Objects of this class are intended to be stack-allocated and scoped to a single function.
     
    112114    size_t m_position;
    113115};
     116
    114117} // namespace WebCore
    115118
  • trunk/Source/WebCore/css/CSSVariableValue.h

    r148921 r156253  
    6262};
    6363
     64CSS_VALUE_TYPE_CASTS(VariableValue)
     65
    6466}
    6567
  • trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp

    r156132 r156253  
    151151    {
    152152        if (value->isPrimitiveValue())
    153             setValue(styleResolver->style(), *static_cast<CSSPrimitiveValue*>(value));
     153            setValue(styleResolver->style(), *toCSSPrimitiveValue(value));
    154154    }
    155155    static PropertyHandler createHandler()
     
    169169            return;
    170170
    171         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     171        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    172172        if (primitiveValue->getValueID() == idMapsToMinusOne)
    173173            setValue(styleResolver->style(), -1);
     
    217217            return;
    218218
    219         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     219        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    220220        if (primitiveValue->getValueID() == autoIdentity)
    221221            setAuto(styleResolver->style());
     
    256256            return;
    257257
    258         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     258        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    259259
    260260        if (Rect* rect = primitiveValue->getRectValue()) {
     
    302302            return;
    303303
    304         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     304        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    305305        if (inheritColorFromParent && primitiveValue->getValueID() == CSSValueCurrentcolor)
    306306            applyInheritValue(propertyID, styleResolver);
     
    363363            return;
    364364
    365         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     365        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    366366        if (noneEnabled && primitiveValue->getValueID() == CSSValueNone) {
    367367            if (noneUndefined)
     
    417417        if (!value->isPrimitiveValue())
    418418            return;
    419         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     419        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    420420        if ((identBehavior == MapNoneToNull && primitiveValue->getValueID() == CSSValueNone)
    421421            || (identBehavior == MapAutoToNull && primitiveValue->getValueID() == CSSValueAuto))
     
    440440            return;
    441441
    442         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    443         Pair* pair = primitiveValue->getPairValue();
     442        Pair* pair = toCSSPrimitiveValue(value)->getPairValue();
    444443        if (!pair || !pair->first() || !pair->second())
    445444            return;
     
    603602            return;
    604603
    605         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     604        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    606605
    607606        CSSValueID ident = primitiveValue->getValueID();
     
    673672        if (!value->isPrimitiveValue())
    674673            return;
    675         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    676674        FontDescription fontDescription = styleResolver->fontDescription();
    677         (fontDescription.*setterFunction)(*primitiveValue);
     675        (fontDescription.*setterFunction)(*toCSSPrimitiveValue(value));
    678676        styleResolver->setFontDescription(fontDescription);
    679677    }
     
    727725            if (!item->isPrimitiveValue())
    728726                continue;
    729             CSSPrimitiveValue* contentValue = static_cast<CSSPrimitiveValue*>(item);
     727            CSSPrimitiveValue* contentValue = toCSSPrimitiveValue(item);
    730728            AtomicString face;
    731729            if (contentValue->isString())
     
    837835            return;
    838836
    839         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     837        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    840838
    841839        FontDescription fontDescription = styleResolver->style()->fontDescription();
     
    850848        }
    851849
    852         if (CSSValueID ident = primitiveValue->getValueID()) {
     850        if (CSSValueID ident = toCSSPrimitiveValue(value)->getValueID()) {
    853851            // Keywords are being used.
    854852            switch (ident) {
     
    911909        if (!value->isPrimitiveValue())
    912910            return;
    913         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     911        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    914912        FontDescription fontDescription = styleResolver->fontDescription();
    915913        switch (primitiveValue->getValueID()) {
     
    972970                ASSERT(item->isPrimitiveValue());
    973971                if (item->isPrimitiveValue()) {
    974                     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(item);
    975                     switch (primitiveValue->getValueID()) {
     972                    switch (toCSSPrimitiveValue(item)->getValueID()) {
    976973                    case CSSValueNoCommonLigatures:
    977974                        commonLigaturesState = FontDescription::DisabledLigaturesState;
     
    1002999        else {
    10031000            ASSERT_WITH_SECURITY_IMPLICATION(value->isPrimitiveValue());
    1004             ASSERT(static_cast<CSSPrimitiveValue*>(value)->getValueID() == CSSValueNormal);
     1001            ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNormal);
    10051002        }
    10061003#endif
     
    11501147    static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
    11511148    {
    1152         bool setCounterIncrementToNone = counterBehavior == Increment && value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value)->getValueID() == CSSValueNone;
     1149        bool setCounterIncrementToNone = counterBehavior == Increment && value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() == CSSValueNone;
    11531150
    11541151        if (!value->isValueList() && !setCounterIncrementToNone)
     
    11751172                continue;
    11761173
    1177             Pair* pair = static_cast<CSSPrimitiveValue*>(currValue)->getPairValue();
     1174            Pair* pair = toCSSPrimitiveValue(currValue)->getPairValue();
    11781175            if (!pair || !pair->first() || !pair->second())
    11791176                continue;
     
    12171214                CSSValue* item = list->itemWithoutBoundsCheck(i);
    12181215                if (item->isCursorImageValue()) {
    1219                     CSSCursorImageValue* image = static_cast<CSSCursorImageValue*>(item);
     1216                    CSSCursorImageValue* image = toCSSCursorImageValue(item);
    12201217                    if (image->updateIfSVGCursorIsUsed(styleResolver->element())) // Elements with SVG cursors are not allowed to share style.
    12211218                        styleResolver->style()->setUnique();
    12221219                    styleResolver->style()->addCursor(styleResolver->styleImage(CSSPropertyCursor, image), image->hotSpot());
    12231220                } else if (item->isPrimitiveValue()) {
    1224                     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(item);
     1221                    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item);
    12251222                    if (primitiveValue->isValueID())
    12261223                        styleResolver->style()->setCursor(*primitiveValue);
     
    12281225            }
    12291226        } else if (value->isPrimitiveValue()) {
    1230             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1227            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    12311228            if (primitiveValue->isValueID() && styleResolver->style()->cursor() != ECursor(*primitiveValue))
    12321229                styleResolver->style()->setCursor(*primitiveValue);
     
    12441241            return;
    12451242
    1246         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1243        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    12471244        ASSERT(primitiveValue->isValueID());
    12481245
     
    12711268            CSSValue* item = i.value();
    12721269            ASSERT_WITH_SECURITY_IMPLICATION(item->isPrimitiveValue());
    1273             t |= *static_cast<CSSPrimitiveValue*>(item);
     1270            t |= *toCSSPrimitiveValue(item);
    12741271        }
    12751272        styleResolver->style()->setTextDecoration(t);
     
    12891286            return;
    12901287
    1291         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1288        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    12921289        if (primitiveValue->getValueID()) {
    12931290            switch (primitiveValue->getValueID()) {
     
    13241321            return;
    13251322
    1326         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1323        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    13271324        if (primitiveValue->getValueID() == CSSValueInfinite)
    13281325            styleResolver->style()->setMarqueeLoopCount(-1); // -1 means repeat forever.
     
    13441341            return;
    13451342
    1346         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1343        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    13471344        if (CSSValueID ident = primitiveValue->getValueID()) {
    13481345            switch (ident) {
     
    13781375        // This is true if value is 'auto' or 'alphabetic'.
    13791376        if (value->isPrimitiveValue()) {
    1380             TextUnderlinePosition t = *static_cast<CSSPrimitiveValue*>(value);
     1377            TextUnderlinePosition t = *toCSSPrimitiveValue(value);
    13811378            styleResolver->style()->setTextUnderlinePosition(t);
    13821379            return;
     
    14071404            return;
    14081405
    1409         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1406        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    14101407        Length lineHeight;
    14111408
     
    14451442            return;
    14461443
    1447         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1444        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    14481445        Length lineHeight;
    14491446
     
    15871584            if (!inspector.first()->isPrimitiveValue() || !inspector.second()->isPrimitiveValue())
    15881585                return;
    1589             CSSPrimitiveValue* first = static_cast<CSSPrimitiveValue*>(inspector.first());
    1590             CSSPrimitiveValue* second = static_cast<CSSPrimitiveValue*>(inspector.second());
     1586            CSSPrimitiveValue* first = toCSSPrimitiveValue(inspector.first());
     1587            CSSPrimitiveValue* second = toCSSPrimitiveValue(inspector.second());
    15911588            if (first->isLength()) {
    15921589                // <length>{2}
     
    16081605            if (!inspector.first()->isPrimitiveValue())
    16091606                return;
    1610             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(inspector.first());
     1607            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(inspector.first());
    16111608            if (primitiveValue->isLength()) {
    16121609                // <length>
     
    16721669                    continue;
    16731670
    1674                 CSSPrimitiveValue* value = static_cast<CSSPrimitiveValue*>(item);
     1671                CSSPrimitiveValue* value = toCSSPrimitiveValue(item);
    16751672                if (value->getValueID() == CSSValueFilled || value->getValueID() == CSSValueOpen)
    16761673                    styleResolver->style()->setTextEmphasisFill(*value);
     
    16841681        if (!value->isPrimitiveValue())
    16851682            return;
    1686         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1683        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    16871684
    16881685        if (primitiveValue->isString()) {
     
    18131810            return;
    18141811
    1815         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1812        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    18161813
    18171814        EResize r = RESIZE_NONE;
     
    18431840            return;
    18441841
    1845         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1842        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    18461843
    18471844        if (primitiveValue->getValueID())
     
    18821879            return;
    18831880        }
    1884         CSSAspectRatioValue* aspectRatioValue = static_cast<CSSAspectRatioValue*>(value);
     1881        CSSAspectRatioValue* aspectRatioValue = toCSSAspectRatioValue(value);
    18851882        styleResolver->style()->setHasAspectRatio(true);
    18861883        styleResolver->style()->setAspectRatioDenominator(aspectRatioValue->denominatorValue());
     
    19181915    {
    19191916        ASSERT_WITH_SECURITY_IMPLICATION(value->isPrimitiveValue());
    1920         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1917        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    19211918
    19221919        if (primitiveValue->getValueID() == CSSValueNormal) {
     
    19791976            return;
    19801977
    1981         EDisplay display = *static_cast<CSSPrimitiveValue*>(value);
     1978        EDisplay display = *toCSSPrimitiveValue(value);
    19821979
    19831980        if (!isValidDisplayValue(styleResolver, display))
     
    20001997    {
    20011998        if (value->isPrimitiveValue()) {
    2002             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1999            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    20032000            if (primitiveValue->getValueID() == CSSValueNone)
    20042001                setValue(styleResolver->style(), 0);
     
    20312028    {
    20322029        if (value->isPrimitiveValue()) {
    2033             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     2030            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    20342031            if (primitiveValue->getValueID() == CSSValueAuto)
    20352032                setValue(styleResolver->style(), 0);
     
    20842081            if (!item->isPrimitiveValue())
    20852082                continue;
    2086             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(item);
     2083            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item);
    20872084            if (primitiveValue->getValueID() == CSSValueFromImage)
    20882085                source = ImageResolutionFromImage;
     
    21402137                continue;
    21412138
    2142             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(item);
     2139            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item);
    21432140            if (!primitiveValue->getValueID())
    21442141                lengthOrPercentageValue = primitiveValue->convertToLength<FixedIntegerConversion | PercentConversion | CalculatedConversion | ViewportPercentageConversion>(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom());
  • trunk/Source/WebCore/css/FontFeatureValue.h

    r155060 r156253  
    5252};
    5353
     54inline FontFeatureValue* toFontFeatureValue(CSSValue* value)
     55{
     56    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isFontFeatureValue());
     57    return static_cast<FontFeatureValue*>(value);
     58}
     59
    5460} // namespace
    5561
  • trunk/Source/WebCore/css/FontValue.h

    r155060 r156253  
    5656};
    5757
     58inline FontValue* toFontValue(CSSValue* value)
     59{
     60    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isFontValue());
     61    return static_cast<FontValue*>(value);
     62}
     63
    5864} // namespace
    5965
  • trunk/Source/WebCore/css/MediaList.cpp

    r154533 r156253  
    335335                    CSSValue* cssValue =  exp->value();
    336336                    if (cssValue && cssValue->isPrimitiveValue()) {
    337                         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(cssValue);
     337                        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(cssValue);
    338338                        if (primitiveValue->isDotsPerInch() || primitiveValue->isDotsPerCentimeter())
    339339                            addResolutionWarningMessageToConsole(document, mediaQuerySet->mediaText(), primitiveValue);
  • trunk/Source/WebCore/css/MediaQueryEvaluator.cpp

    r155630 r156253  
    183183{
    184184    if (value->isAspectRatioValue()) {
    185         CSSAspectRatioValue* aspectRatio = static_cast<CSSAspectRatioValue*>(value);
     185        CSSAspectRatioValue* aspectRatio = toCSSAspectRatioValue(value);
    186186        return compareValue(width * static_cast<int>(aspectRatio->denominatorValue()), height * static_cast<int>(aspectRatio->numeratorValue()), op);
    187187    }
     
    193193{
    194194    if (value->isPrimitiveValue()
    195         && static_cast<CSSPrimitiveValue*>(value)->isNumber()) {
    196         result = static_cast<CSSPrimitiveValue*>(value)->getFloatValue(CSSPrimitiveValue::CSS_NUMBER);
     195        && toCSSPrimitiveValue(value)->isNumber()) {
     196        result = toCSSPrimitiveValue(value)->getFloatValue(CSSPrimitiveValue::CSS_NUMBER);
    197197        return true;
    198198    }
     
    243243    int height = view->layoutHeight();
    244244    if (value && value->isPrimitiveValue()) {
    245         const CSSValueID id = static_cast<CSSPrimitiveValue*>(value)->getValueID();
     245        const CSSValueID id = toCSSPrimitiveValue(value)->getValueID();
    246246        if (width > height) // Square viewport is portrait.
    247247            return CSSValueLandscape == id;
     
    307307        return false;
    308308
    309     CSSPrimitiveValue* resolution = static_cast<CSSPrimitiveValue*>(value);
     309    CSSPrimitiveValue* resolution = toCSSPrimitiveValue(value);
    310310    return compareValue(deviceScaleFactor, resolution->isNumber() ? resolution->getFloatValue() : resolution->getFloatValue(CSSPrimitiveValue::CSS_DPPX), op);
    311311}
     
    313313static bool device_pixel_ratioMediaFeatureEval(CSSValue *value, RenderStyle*, Frame* frame, MediaFeaturePrefix op)
    314314{
    315     return (!value || static_cast<CSSPrimitiveValue*>(value)->isNumber()) && evalResolution(value, frame, op);
     315    return (!value || toCSSPrimitiveValue(value)->isNumber()) && evalResolution(value, frame, op);
    316316}
    317317
     
    319319{
    320320#if ENABLE(RESOLUTION_MEDIA_QUERY)
    321     return (!value || static_cast<CSSPrimitiveValue*>(value)->isResolution()) && evalResolution(value, frame, op);
     321    return (!value || toCSSPrimitiveValue(value)->isResolution()) && evalResolution(value, frame, op);
    322322#else
    323323    UNUSED_PARAM(value);
     
    343343        return false;
    344344
    345     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     345    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    346346
    347347    if (primitiveValue->isNumber()) {
     
    597597        return true;
    598598
    599     const int viewModeCSSKeywordID = static_cast<CSSPrimitiveValue*>(value)->getValueID();
     599    const int viewModeCSSKeywordID = toCSSPrimitiveValue(value)->getValueID();
    600600    const Page::ViewMode viewMode = frame->page()->viewMode();
    601601    bool result = false;
     
    679679        return false;
    680680
    681     const CSSValueID id = static_cast<CSSPrimitiveValue*>(value)->getValueID();
     681    const CSSValueID id = toCSSPrimitiveValue(value)->getValueID();
    682682    return (pointer == NoPointer && id == CSSValueNone)
    683683        || (pointer == TouchPointer && id == CSSValueCoarse)
  • trunk/Source/WebCore/css/SVGCSSStyleSelector.cpp

    r154887 r156253  
    108108    CSSPrimitiveValue* primitiveValue = 0;
    109109    if (value->isPrimitiveValue())
    110         primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     110        primitiveValue = toCSSPrimitiveValue(value);
    111111
    112112    const State& state = m_state;
     
    286286                    continue;
    287287
    288                 CSSPrimitiveValue* dash = static_cast<CSSPrimitiveValue*>(dashes->itemWithoutBoundsCheck(i));
     288                CSSPrimitiveValue* dash = toCSSPrimitiveValue(dashes->itemWithoutBoundsCheck(i));
    289289                array.append(SVGLength::fromCSSPrimitiveValue(dash));
    290290            }
  • trunk/Source/WebCore/css/ShadowValue.h

    r155060 r156253  
    6363};
    6464
     65inline ShadowValue* toShadowValue(CSSValue* value)
     66{
     67    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isShadowValue());
     68    return static_cast<ShadowValue*>(value);
     69}
     70
    6571} // namespace
    6672
  • trunk/Source/WebCore/css/StylePropertySet.cpp

    r153880 r156253  
    417417                        yValue = nextValue;
    418418
    419                     CSSValueID xId = static_cast<CSSPrimitiveValue*>(value.get())->getValueID();
    420                     CSSValueID yId = static_cast<CSSPrimitiveValue*>(yValue.get())->getValueID();
     419                    CSSValueID xId = toCSSPrimitiveValue(value.get())->getValueID();
     420                    CSSValueID yId = toCSSPrimitiveValue(yValue.get())->getValueID();
    421421                    if (xId != yId) {
    422422                        if (xId == CSSValueRepeat && yId == CSSValueNoRepeat) {
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r155938 r156253  
    19261926        return false;
    19271927
    1928     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1928    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    19291929    Pair* minMaxTrackBreadth = primitiveValue->getPairValue();
    19301930    if (!minMaxTrackBreadth) {
     
    19501950    // Handle 'none'.
    19511951    if (value->isPrimitiveValue()) {
    1952         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     1952        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    19531953        return primitiveValue->getValueID() == CSSValueNone;
    19541954    }
     
    19611961        CSSValue* currValue = i.value();
    19621962        if (currValue->isPrimitiveValue()) {
    1963             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(currValue);
     1963            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(currValue);
    19641964            if (primitiveValue->isString()) {
    19651965                NamedGridLinesMap::AddResult result = namedGridLines.add(primitiveValue->getStringValue(), Vector<size_t>());
     
    19891989    if (value->isPrimitiveValue()) {
    19901990#if !ASSERT_DISABLED
    1991         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    1992         ASSERT(primitiveValue->getValueID() == CSSValueAuto);
     1991        ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueAuto);
    19931992#endif
    19941993        return true;
     
    20052004
    20062005    CSSValueListIterator it = values;
    2007     CSSPrimitiveValue* currentValue = static_cast<CSSPrimitiveValue*>(it.value());
     2006    CSSPrimitiveValue* currentValue = toCSSPrimitiveValue(it.value());
    20082007    if (currentValue->getValueID() == CSSValueSpan) {
    20092008        isSpanPosition = true;
    20102009        it.advance();
    2011         currentValue = it.hasMore() ? static_cast<CSSPrimitiveValue*>(it.value()) : 0;
     2010        currentValue = it.hasMore() ? toCSSPrimitiveValue(it.value()) : 0;
    20122011    }
    20132012
     
    20152014        gridLineNumber = currentValue->getIntValue();
    20162015        it.advance();
    2017         currentValue = it.hasMore() ? static_cast<CSSPrimitiveValue*>(it.value()) : 0;
     2016        currentValue = it.hasMore() ? toCSSPrimitiveValue(it.value()) : 0;
    20182017    }
    20192018
     
    20352034static bool hasVariableReference(CSSValue* value)
    20362035{
    2037     if (value->isPrimitiveValue()) {
    2038         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
    2039         return primitiveValue->hasVariableReference();
    2040     }
    2041 
    2042     if (value->isCalculationValue())
    2043         return static_cast<CSSCalcValue*>(value)->hasVariableReference();
     2036    if (value->isPrimitiveValue())
     2037        return toCSSPrimitiveValue(value)->hasVariableReference();
     2038
     2039    if (value->isCalcValue())
     2040        return toCSSCalcValue(value)->hasVariableReference();
    20442041
    20452042    if (value->isReflectValue()) {
     
    21342131    }
    21352132
    2136     CSSPrimitiveValue* primitiveValue = value->isPrimitiveValue() ? static_cast<CSSPrimitiveValue*>(value) : 0;
     2133    CSSPrimitiveValue* primitiveValue = value->isPrimitiveValue() ? toCSSPrimitiveValue(value) : 0;
    21372134
    21382135    float zoomFactor = state.style()->effectiveZoom();
     
    21612158                if (item->isImageGeneratorValue()) {
    21622159                    if (item->isGradientValue())
    2163                         state.style()->setContent(StyleGeneratedImage::create(static_cast<CSSGradientValue*>(item)->gradientWithStylesResolved(this).get()), didSet);
     2160                        state.style()->setContent(StyleGeneratedImage::create(toCSSGradientValue(item)->gradientWithStylesResolved(this).get()), didSet);
    21642161                    else
    2165                         state.style()->setContent(StyleGeneratedImage::create(static_cast<CSSImageGeneratorValue*>(item)), didSet);
     2162                        state.style()->setContent(StyleGeneratedImage::create(toCSSImageGeneratorValue(item)), didSet);
    21662163                    didSet = true;
    21672164#if ENABLE(CSS_IMAGE_SET)
    21682165                } else if (item->isImageSetValue()) {
    2169                     state.style()->setContent(setOrPendingFromValue(CSSPropertyContent, static_cast<CSSImageSetValue*>(item)), didSet);
     2166                    state.style()->setContent(setOrPendingFromValue(CSSPropertyContent, toCSSImageSetValue(item)), didSet);
    21702167                    didSet = true;
    21712168#endif
     
    21732170
    21742171                if (item->isImageValue()) {
    2175                     state.style()->setContent(cachedOrPendingFromValue(CSSPropertyContent, static_cast<CSSImageValue*>(item)), didSet);
     2172                    state.style()->setContent(cachedOrPendingFromValue(CSSPropertyContent, toCSSImageValue(item)), didSet);
    21762173                    didSet = true;
    21772174                    continue;
     
    21812178                    continue;
    21822179
    2183                 CSSPrimitiveValue* contentValue = static_cast<CSSPrimitiveValue*>(item);
     2180                CSSPrimitiveValue* contentValue = toCSSPrimitiveValue(item);
    21842181
    21852182                if (contentValue->isString()) {
     
    22552252                ASSERT_WITH_SECURITY_IMPLICATION(first->isPrimitiveValue());
    22562253                ASSERT_WITH_SECURITY_IMPLICATION(second->isPrimitiveValue());
    2257                 String startQuote = static_cast<CSSPrimitiveValue*>(first)->getStringValue();
    2258                 String endQuote = static_cast<CSSPrimitiveValue*>(second)->getStringValue();
     2254                String startQuote = toCSSPrimitiveValue(first)->getStringValue();
     2255                String endQuote = toCSSPrimitiveValue(second)->getStringValue();
    22592256                quotes.append(std::make_pair(startQuote, endQuote));
    22602257            }
     
    26772674        }
    26782675
    2679         if (!value->isCSSLineBoxContainValue())
     2676        if (!value->isLineBoxContainValue())
    26802677            return;
    26812678
    2682         CSSLineBoxContainValue* lineBoxContainValue = static_cast<CSSLineBoxContainValue*>(value);
     2679        CSSLineBoxContainValue* lineBoxContainValue = toCSSLineBoxContainValue(value);
    26832680        state.style()->setLineBoxContain(lineBoxContainValue->value());
    26842681        return;
     
    30763073{
    30773074    if (value->isImageValue())
    3078         return cachedOrPendingFromValue(property, static_cast<CSSImageValue*>(value));
     3075        return cachedOrPendingFromValue(property, toCSSImageValue(value));
    30793076
    30803077    if (value->isImageGeneratorValue()) {
    30813078        if (value->isGradientValue())
    3082             return generatedOrPendingFromValue(property, static_cast<CSSGradientValue*>(value)->gradientWithStylesResolved(this).get());
    3083         return generatedOrPendingFromValue(property, static_cast<CSSImageGeneratorValue*>(value));
     3079            return generatedOrPendingFromValue(property, toCSSGradientValue(value)->gradientWithStylesResolved(this).get());
     3080        return generatedOrPendingFromValue(property, toCSSImageGeneratorValue(value));
    30843081    }
    30853082
    30863083#if ENABLE(CSS_IMAGE_SET)
    30873084    if (value->isImageSetValue())
    3088         return setOrPendingFromValue(property, static_cast<CSSImageSetValue*>(value));
     3085        return setOrPendingFromValue(property, toCSSImageSetValue(value));
    30893086#endif
    30903087
    30913088    if (value->isCursorImageValue())
    3092         return cursorOrPendingFromValue(property, static_cast<CSSCursorImageValue*>(value));
     3089        return cursorOrPendingFromValue(property, toCSSCursorImageValue(value));
    30933090
    30943091    return 0;
     
    31083105    if (value->isFilterImageValue()) {
    31093106        // FilterImage needs to calculate FilterOperations.
    3110         static_cast<CSSFilterImageValue*>(value)->createFilterOperations(this);
     3107        toCSSFilterImageValue(value)->createFilterOperations(this);
    31113108    }
    31123109#endif
     
    33873384{
    33883385    if (value->isWebKitCSSShaderValue())
    3389         return cachedOrPendingStyleShaderFromValue(static_cast<WebKitCSSShaderValue*>(value));
     3386        return cachedOrPendingStyleShaderFromValue(toWebKitCSSShaderValue(value));
    33903387    return 0;
    33913388}
     
    34703467        if (!value->isPrimitiveValue())
    34713468            return 0;
    3472         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     3469        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    34733470        if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_NUMBER)
    34743471            return 0;
     
    34813478{
    34823479    ASSERT(values->length());
    3483     CSSPrimitiveValue* firstPrimitiveValue = static_cast<CSSPrimitiveValue*>(values->itemWithoutBoundsCheck(0));
     3480    CSSPrimitiveValue* firstPrimitiveValue = toCSSPrimitiveValue(values->itemWithoutBoundsCheck(0));
    34843481    RefPtr<CustomFilterColorParameter> colorParameter = CustomFilterColorParameter::create(name);
    34853482    colorParameter->setColor(Color(firstPrimitiveValue->getRGBA32Value()));
     
    34943491        if (!value->isPrimitiveValue())
    34953492            return 0;
    3496         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
     3493        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
    34973494        if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_NUMBER)
    34983495            return 0;
     
    35433540        return 0;
    35443541   
    3545     CSSPrimitiveValue* firstPrimitiveValue = static_cast<CSSPrimitiveValue*>(values->itemWithoutBoundsCheck(0));
     3542    CSSPrimitiveValue* firstPrimitiveValue = toCSSPrimitiveValue(values->itemWithoutBoundsCheck(0));
    35463543    if (firstPrimitiveValue->primitiveType() == CSSPrimitiveValue::CSS_NUMBER)
    35473544        return parseCustomFilterNumberParameter(name, values);
     
    35633560        if (!iterator.isPrimitiveValue())
    35643561            return false;
    3565         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(iterator.value());
     3562        CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(iterator.value());
    35663563        if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_STRING)
    35673564            return false;
     
    36233620            ASSERT(mixFunction->length() <= 3);
    36243621            while (iterator.hasMore()) {
    3625                 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(iterator.value());
     3622                CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(iterator.value());
    36263623                if (CSSParser::isBlendMode(primitiveValue->getValueID()))
    36273624                    mixSettings.blendMode = *primitiveValue;
     
    36553652
    36563653        if (iterator.hasMore() && iterator.isPrimitiveValue()) {
    3657             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(iterator.value());
     3654            CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(iterator.value());
    36583655            if (primitiveValue->isNumber()) {
    36593656                // If only one integer value is specified, it will set both
     
    36643661                // Try to match another number for the rows.
    36653662                if (iterator.hasMore() && iterator.isPrimitiveValue()) {
    3666                     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(iterator.value());
     3663                    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(iterator.value());
    36673664                    if (primitiveValue->isNumber()) {
    36683665                        meshRows = primitiveValue->getIntValue();
     
    36743671       
    36753672        if (iterator.hasMore() && iterator.isPrimitiveValue()) {
    3676             CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(iterator.value());
    3677             if (primitiveValue->getValueID() == CSSValueDetached) {
     3673            if (toCSSPrimitiveValue(iterator.value())->getValueID() == CSSValueDetached) {
    36783674                meshType = MeshTypeDetached;
    36793675                iterator.advance();
     
    37203716   
    37213717    if (inValue->isPrimitiveValue()) {
    3722         CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(inValue);
    3723         if (primitiveValue->getValueID() == CSSValueNone)
     3718        if (toCSSPrimitiveValue(inValue)->getValueID() == CSSValueNone)
    37243719            return true;
    37253720    }
     
    37913786        }
    37923787
    3793         CSSPrimitiveValue* firstValue = filterValue->length() ? static_cast<CSSPrimitiveValue*>(filterValue->itemWithoutBoundsCheck(0)) : 0;
     3788        CSSPrimitiveValue* firstValue = filterValue->length() ? toCSSPrimitiveValue(filterValue->itemWithoutBoundsCheck(0)) : 0;
    37943789        switch (filterValue->operationType()) {
    37953790        case WebKitCSSFilterValue::GrayscaleFilterOperation:
  • trunk/Source/WebCore/css/TransformFunctions.cpp

    r148753 r156253  
    111111            continue;
    112112
    113         CSSPrimitiveValue* firstValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(0));
     113        CSSPrimitiveValue* firstValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(0));
    114114
    115115        switch (transformValue->operationType()) {
     
    125125                if (transformValue->operationType() != WebKitCSSTransformValue::ScaleXTransformOperation) {
    126126                    if (transformValue->length() > 1) {
    127                         CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
     127                        CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
    128128                        sy = secondValue->getDoubleValue();
    129129                    } else
     
    147147                if (transformValue->operationType() != WebKitCSSTransformValue::ScaleXTransformOperation) {
    148148                    if (transformValue->length() > 2) {
    149                         CSSPrimitiveValue* thirdValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(2));
     149                        CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2));
    150150                        sz = thirdValue->getDoubleValue();
    151151                    }
    152152                    if (transformValue->length() > 1) {
    153                         CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
     153                        CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
    154154                        sy = secondValue->getDoubleValue();
    155155                    } else
     
    171171                if (transformValue->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
    172172                    if (transformValue->length() > 1) {
    173                         CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
     173                        CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
    174174                        ty = convertToFloatLength(secondValue, style, rootStyle, zoomFactor);
    175175                    }
     
    196196                if (transformValue->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
    197197                    if (transformValue->length() > 2) {
    198                         CSSPrimitiveValue* thirdValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(2));
     198                        CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2));
    199199                        tz = convertToFloatLength(thirdValue, style, rootStyle, zoomFactor);
    200200                    }
    201201                    if (transformValue->length() > 1) {
    202                         CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
     202                        CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
    203203                        ty = convertToFloatLength(secondValue, style, rootStyle, zoomFactor);
    204204                    }
     
    237237            if (transformValue->length() < 4)
    238238                break;
    239             CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
    240             CSSPrimitiveValue* thirdValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(2));
    241             CSSPrimitiveValue* fourthValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(3));
     239            CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
     240            CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2));
     241            CSSPrimitiveValue* fourthValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(3));
    242242            double x = firstValue->getDoubleValue();
    243243            double y = secondValue->getDoubleValue();
     
    259259                if (transformValue->operationType() == WebKitCSSTransformValue::SkewTransformOperation) {
    260260                    if (transformValue->length() > 1) {
    261                         CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1));
     261                        CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1));
    262262                        angleY = secondValue->computeDegrees();
    263263                    }
     
    271271                break;
    272272            double a = firstValue->getDoubleValue();
    273             double b = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1))->getDoubleValue();
    274             double c = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(2))->getDoubleValue();
    275             double d = static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(3))->getDoubleValue();
    276             double e = zoomFactor * static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(4))->getDoubleValue();
    277             double f = zoomFactor * static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(5))->getDoubleValue();
     273            double b = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1))->getDoubleValue();
     274            double c = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2))->getDoubleValue();
     275            double d = toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(3))->getDoubleValue();
     276            double e = zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(4))->getDoubleValue();
     277            double f = zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(5))->getDoubleValue();
    278278            operations.operations().append(MatrixTransformOperation::create(a, b, c, d, e, f));
    279279            break;
     
    282282            if (transformValue->length() < 16)
    283283                break;
    284             TransformationMatrix matrix(static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(0))->getDoubleValue(),
    285                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(1))->getDoubleValue(),
    286                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(2))->getDoubleValue(),
    287                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(3))->getDoubleValue(),
    288                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(4))->getDoubleValue(),
    289                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(5))->getDoubleValue(),
    290                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(6))->getDoubleValue(),
    291                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(7))->getDoubleValue(),
    292                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(8))->getDoubleValue(),
    293                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(9))->getDoubleValue(),
    294                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(10))->getDoubleValue(),
    295                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(11))->getDoubleValue(),
    296                                 zoomFactor * static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(12))->getDoubleValue(),
    297                                 zoomFactor * static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(13))->getDoubleValue(),
    298                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(14))->getDoubleValue(),
    299                                 static_cast<CSSPrimitiveValue*>(transformValue->itemWithoutBoundsCheck(15))->getDoubleValue());
     284            TransformationMatrix matrix(toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(0))->getDoubleValue(),
     285                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(1))->getDoubleValue(),
     286                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(2))->getDoubleValue(),
     287                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(3))->getDoubleValue(),
     288                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(4))->getDoubleValue(),
     289                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(5))->getDoubleValue(),
     290                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(6))->getDoubleValue(),
     291                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(7))->getDoubleValue(),
     292                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(8))->getDoubleValue(),
     293                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(9))->getDoubleValue(),
     294                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(10))->getDoubleValue(),
     295                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(11))->getDoubleValue(),
     296                zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(12))->getDoubleValue(),
     297                zoomFactor * toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(13))->getDoubleValue(),
     298                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(14))->getDoubleValue(),
     299                toCSSPrimitiveValue(transformValue->itemWithoutBoundsCheck(15))->getDoubleValue());
    300300            operations.operations().append(Matrix3DTransformOperation::create(matrix));
    301301            break;
  • trunk/Source/WebCore/css/ViewportStyleResolver.cpp

    r153880 r156253  
    111111        return defaultValue;
    112112
    113     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value.get());
     113    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value.get());
    114114
    115115    if (primitiveValue->isNumber() || primitiveValue->isPx())
  • trunk/Source/WebCore/css/WebKitCSSMatrix.cpp

    r151783 r156253  
    6363
    6464        // Check for a "none" or empty transform. In these cases we can use the default identity matrix.
    65         if (!value || (value->isPrimitiveValue() && (static_cast<CSSPrimitiveValue*>(value.get()))->getValueID() == CSSValueNone))
     65        if (!value || (value->isPrimitiveValue() && (toCSSPrimitiveValue(value.get()))->getValueID() == CSSValueNone))
    6666            return;
    6767
  • trunk/Source/WebCore/editing/ApplyStyleCommand.cpp

    r155957 r156253  
    15161516    RefPtr<CSSValue> value = ComputedStyleExtractor(node).propertyValue(CSSPropertyFontSize);
    15171517    ASSERT(value && value->isPrimitiveValue());
    1518     return static_cast<CSSPrimitiveValue*>(value.get())->getFloatValue(CSSPrimitiveValue::CSS_PX);
     1518    return toCSSPrimitiveValue(value.get())->getFloatValue(CSSPrimitiveValue::CSS_PX);
    15191519}
    15201520
  • trunk/Source/WebCore/editing/EditingStyle.cpp

    r155496 r156253  
    145145    if (!value || !value->isPrimitiveValue())
    146146        return 0;
    147     return static_cast<CSSPrimitiveValue*>(value.get())->getValueID();
     147    return toCSSPrimitiveValue(value.get())->getValueID();
    148148}
    149149
     
    202202{
    203203    RefPtr<CSSValue> value = style->getPropertyCSSValue(m_propertyID);
    204     return matches(element) && value && value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value.get())->getValueID() == m_primitiveValue->getValueID();
     204    return matches(element) && value && value->isPrimitiveValue() && toCSSPrimitiveValue(value.get())->getValueID() == m_primitiveValue->getValueID();
    205205}
    206206
     
    379379        return Color::transparent;
    380380   
    381     CSSPrimitiveValue* primitiveColor = static_cast<CSSPrimitiveValue*>(colorValue);
     381    CSSPrimitiveValue* primitiveColor = toCSSPrimitiveValue(colorValue);
    382382    if (primitiveColor->isRGBColor())
    383383        return primitiveColor->getRGBA32Value();
     
    499499        return;
    500500
    501     CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value.get());
     501    CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value.get());
    502502
    503503    // Only PX handled now. If we handle more types in the future, perhaps
     
    524524        return false;
    525525
    526     CSSValueID unicodeBidiValue = static_cast<CSSPrimitiveValue*>(unicodeBidi.get())->getValueID();
     526    CSSValueID unicodeBidiValue = toCSSPrimitiveValue(unicodeBidi.get())->getValueID();
    527527    if (unicodeBidiValue == CSSValueEmbed) {
    528528        RefPtr<CSSValue> direction = m_mutableStyle->getPropertyCSSValue(CSSPropertyDirection);
     
    530530            return false;
    531531
    532         writingDirection = static_cast<CSSPrimitiveValue*>(direction.get())->getValueID() == CSSValueLtr ? LeftToRightWritingDirection : RightToLeftWritingDirection;
     532        writingDirection = toCSSPrimitiveValue(direction.get())->getValueID() == CSSValueLtr ? LeftToRightWritingDirection : RightToLeftWritingDirection;
    533533
    534534        return true;
     
    950950
    951951    if (unicodeBidi && unicodeBidi->isPrimitiveValue()) {
    952         m_mutableStyle->setProperty(CSSPropertyUnicodeBidi, static_cast<CSSValueID>(static_cast<CSSPrimitiveValue*>(unicodeBidi.get())->getValueID()));
     952        m_mutableStyle->setProperty(CSSPropertyUnicodeBidi, static_cast<CSSValueID>(toCSSPrimitiveValue(unicodeBidi.get())->getValueID()));
    953953        if (direction && direction->isPrimitiveValue())
    954             m_mutableStyle->setProperty(CSSPropertyDirection, static_cast<CSSValueID>(static_cast<CSSPrimitiveValue*>(direction.get())->getValueID()));
     954            m_mutableStyle->setProperty(CSSPropertyDirection, static_cast<CSSValueID>(toCSSPrimitiveValue(direction.get())->getValueID()));
    955955    }
    956956}
     
    11501150            if (!value->isPrimitiveValue())
    11511151                continue;
    1152             if (static_cast<CSSPrimitiveValue*>(value)->isPercentage()) {
     1152            if (toCSSPrimitiveValue(value)->isPercentage()) {
    11531153                if (RefPtr<CSSValue> computedPropertyValue = computedStyle.propertyValue(property.id()))
    11541154                    fromComputedStyle->addParsedProperty(CSSProperty(property.id(), computedPropertyValue.release()));
     
    12231223    if (!cssValue || !cssValue->isPrimitiveValue())
    12241224        return 0;
    1225     return legacyFontSizeFromCSSValue(document, static_cast<CSSPrimitiveValue*>(cssValue.get()),
     1225    return legacyFontSizeFromCSSValue(document, toCSSPrimitiveValue(cssValue.get()),
    12261226        m_shouldUseFixedDefaultFontSize, AlwaysUseLegacyFontSize);
    12271227}
     
    12871287                continue;
    12881288
    1289             CSSValueID unicodeBidiValue = static_cast<CSSPrimitiveValue*>(unicodeBidi.get())->getValueID();
     1289            CSSValueID unicodeBidiValue = toCSSPrimitiveValue(unicodeBidi.get())->getValueID();
    12901290            if (unicodeBidiValue == CSSValueEmbed || unicodeBidiValue == CSSValueBidiOverride)
    12911291                return NaturalWritingDirection;
     
    13161316            continue;
    13171317
    1318         CSSValueID unicodeBidiValue = static_cast<CSSPrimitiveValue*>(unicodeBidi.get())->getValueID();
     1318        CSSValueID unicodeBidiValue = toCSSPrimitiveValue(unicodeBidi.get())->getValueID();
    13191319        if (unicodeBidiValue == CSSValueNormal)
    13201320            continue;
     
    13281328            continue;
    13291329
    1330         CSSValueID directionValue = static_cast<CSSPrimitiveValue*>(direction.get())->getValueID();
     1330        CSSValueID directionValue = toCSSPrimitiveValue(direction.get())->getValueID();
    13311331        if (directionValue != CSSValueLtr && directionValue != CSSValueRtl)
    13321332            continue;
     
    14681468        if (!fontSize->isPrimitiveValue())
    14691469            style->removeProperty(CSSPropertyFontSize); // Can't make sense of the number. Put no font size.
    1470         else if (int legacyFontSize = legacyFontSizeFromCSSValue(document, static_cast<CSSPrimitiveValue*>(fontSize.get()),
     1470        else if (int legacyFontSize = legacyFontSizeFromCSSValue(document, toCSSPrimitiveValue(fontSize.get()),
    14711471                shouldUseFixedFontDefaultSize, UseLegacyFontSizeOnlyIfPixelValuesMatch)) {
    14721472            m_applyFontSize = String::number(legacyFontSize);
     
    15001500    // Because b tag can only bold text, there are only two states in plain html: bold and not bold.
    15011501    // Collapse all other values to either one of these two states for editing purposes.
    1502     switch (static_cast<CSSPrimitiveValue*>(fontWeight)->getValueID()) {
     1502    switch (toCSSPrimitiveValue(fontWeight)->getValueID()) {
    15031503        case CSSValue100:
    15041504        case CSSValue200:
     
    15941594    if (!cssValue->isPrimitiveValue())
    15951595        return false;
    1596     CSSPrimitiveValue* value = static_cast<CSSPrimitiveValue*>(cssValue);   
     1596    CSSPrimitiveValue* value = toCSSPrimitiveValue(cssValue);   
    15971597    if (value->isRGBColor())
    15981598        return !alphaChannel(value->getRGBA32Value());   
  • trunk/Source/WebCore/editing/markup.cpp

    r155938 r156253  
    468468    if (!value->isPrimitiveValue())
    469469        return false;
    470     return static_cast<CSSPrimitiveValue*>(value.get())->getValueID() == CSSValueNone;
     470    return toCSSPrimitiveValue(value.get())->getValueID() == CSSValueNone;
    471471}
    472472
  • trunk/Source/WebCore/page/PageSerializer.cpp

    r156144 r156253  
    333333            continue;
    334334
    335         CSSImageValue* imageValue = static_cast<CSSImageValue*>(cssValue.get());
     335        CSSImageValue* imageValue = toCSSImageValue(cssValue.get());
    336336        StyleImage* styleImage = imageValue->cachedOrPendingImage();
    337337        // Non cached-images are just place-holders and do not contain data.
  • trunk/Source/WebCore/rendering/style/StylePendingImage.h

    r141637 r156253  
    4646    static PassRefPtr<StylePendingImage> create(CSSValue* value) { return adoptRef(new StylePendingImage(value)); }
    4747
    48     virtual WrappedImagePtr data() const { return static_cast<CSSImageValue*>(m_value); }
     48    virtual WrappedImagePtr data() const { return toCSSImageValue(m_value); }
    4949
    5050    virtual PassRefPtr<CSSValue> cssValue() const { return m_value; }
    51     CSSImageValue* cssImageValue() const { return m_value->isImageValue() ? static_cast<CSSImageValue*>(m_value) : 0; }
    52     CSSImageGeneratorValue* cssImageGeneratorValue() const { return m_value->isImageGeneratorValue() ? static_cast<CSSImageGeneratorValue*>(m_value) : 0; }
    53     CSSCursorImageValue* cssCursorImageValue() const { return m_value->isCursorImageValue() ? static_cast<CSSCursorImageValue*>(m_value) : 0; }
     51    CSSImageValue* cssImageValue() const { return m_value->isImageValue() ? toCSSImageValue(m_value) : 0; }
     52    CSSImageGeneratorValue* cssImageGeneratorValue() const { return m_value->isImageGeneratorValue() ? toCSSImageGeneratorValue(m_value) : 0; }
     53    CSSCursorImageValue* cssCursorImageValue() const { return m_value->isCursorImageValue() ? toCSSCursorImageValue(m_value) : 0; }
    5454#if ENABLE(CSS_IMAGE_SET)
    55     CSSImageSetValue* cssImageSetValue() const { return m_value->isImageSetValue() ? static_cast<CSSImageSetValue*>(m_value) : 0; }
     55    CSSImageSetValue* cssImageSetValue() const { return m_value->isImageSetValue() ? toCSSImageSetValue(m_value) : 0; }
    5656#endif
    5757   
Note: See TracChangeset for help on using the changeset viewer.