String CSSValue::cssText() const { if (m_isTextClone) { ASSERT(isCSSOMSafe()); return toTextCloneCSSValue(this)->cssText(); } ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM()); switch (classType()) { case AspectRatioClass: return toCSSAspectRatioValue(this)->customCSSText(); case BorderImageSliceClass: return toCSSBorderImageSliceValue(this)->customCSSText(); case FontClass: return toCSSFontValue(this)->customCSSText(); case FontFaceSrcClass: return toCSSFontFaceSrcValue(this)->customCSSText(); case FontFeatureClass: return toCSSFontFeatureValue(this)->customCSSText(); case FunctionClass: return toCSSFunctionValue(this)->customCSSText(); case LinearGradientClass: return toCSSLinearGradientValue(this)->customCSSText(); case RadialGradientClass: return toCSSRadialGradientValue(this)->customCSSText(); case CrossfadeClass: return toCSSCrossfadeValue(this)->customCSSText(); case ImageClass: return toCSSImageValue(this)->customCSSText(); case InheritedClass: return toCSSInheritedValue(this)->customCSSText(); case InitialClass: return toCSSInitialValue(this)->customCSSText(); case PrimitiveClass: return toCSSPrimitiveValue(this)->customCSSText(); case ShadowClass: return toCSSShadowValue(this)->customCSSText(); case CubicBezierTimingFunctionClass: return toCSSCubicBezierTimingFunctionValue(this)->customCSSText(); case StepsTimingFunctionClass: return toCSSStepsTimingFunctionValue(this)->customCSSText(); case UnicodeRangeClass: return toCSSUnicodeRangeValue(this)->customCSSText(); case ValueListClass: return toCSSValueList(this)->customCSSText(); case CSSTransformClass: return toCSSTransformValue(this)->customCSSText(); case LineBoxContainClass: return toCSSLineBoxContainValue(this)->customCSSText(); case CalculationClass: return toCSSCalcValue(this)->customCSSText(); case ImageSetClass: return toCSSImageSetValue(this)->customCSSText(); case CSSFilterClass: return toCSSFilterValue(this)->customCSSText(); } ASSERT_NOT_REACHED(); return String(); }
void CSSValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const StyleSheetContents* styleSheet) const { // This should get called for internal instances only. ASSERT(!isCSSOMSafe()); if (isPrimitiveValue()) static_cast<const CSSPrimitiveValue*>(this)->addSubresourceStyleURLs(urls, styleSheet); else if (isValueList()) static_cast<const CSSValueList*>(this)->addSubresourceStyleURLs(urls, styleSheet); else if (classType() == FontFaceSrcClass) static_cast<const CSSFontFaceSrcValue*>(this)->addSubresourceStyleURLs(urls, styleSheet); else if (classType() == ReflectClass) static_cast<const CSSReflectValue*>(this)->addSubresourceStyleURLs(urls, styleSheet); }
void CSSValue::addSubresourceStyleURLs(ListHashSet<URL>& urls, const StyleSheetContents* styleSheet) const { // This should get called for internal instances only. ASSERT(!isCSSOMSafe()); if (is<CSSPrimitiveValue>(*this)) downcast<CSSPrimitiveValue>(*this).addSubresourceStyleURLs(urls, styleSheet); else if (is<CSSValueList>(*this)) downcast<CSSValueList>(*this).addSubresourceStyleURLs(urls, styleSheet); else if (is<CSSFontFaceSrcValue>(*this)) downcast<CSSFontFaceSrcValue>(*this).addSubresourceStyleURLs(urls, styleSheet); else if (is<CSSReflectValue>(*this)) downcast<CSSReflectValue>(*this).addSubresourceStyleURLs(urls, styleSheet); }
bool CSSValue::hasFailedOrCanceledSubresources() const { // This should get called for internal instances only. ASSERT(!isCSSOMSafe()); if (isValueList()) return toCSSValueList(this)->hasFailedOrCanceledSubresources(); if (classType() == FontFaceSrcClass) return toCSSFontFaceSrcValue(this)->hasFailedOrCanceledSubresources(); if (classType() == ImageClass) return toCSSImageValue(this)->hasFailedOrCanceledSubresources(); if (classType() == CrossfadeClass) return toCSSCrossfadeValue(this)->hasFailedOrCanceledSubresources(); if (classType() == ImageSetClass) return toCSSImageSetValue(this)->hasFailedOrCanceledSubresources(); return false; }
bool CSSValue::hasFailedOrCanceledSubresources() const { // This should get called for internal instances only. ASSERT(!isCSSOMSafe()); if (isValueList()) return static_cast<const CSSValueList*>(this)->hasFailedOrCanceledSubresources(); if (classType() == FontFaceSrcClass) return static_cast<const CSSFontFaceSrcValue*>(this)->hasFailedOrCanceledSubresources(); if (classType() == ImageClass) return static_cast<const CSSImageValue*>(this)->hasFailedOrCanceledSubresources(); if (classType() == CrossfadeClass) return static_cast<const CSSCrossfadeValue*>(this)->hasFailedOrCanceledSubresources(); #if ENABLE(CSS_IMAGE_SET) if (classType() == ImageSetClass) return static_cast<const CSSImageSetValue*>(this)->hasFailedOrCanceledSubresources(); #endif return false; }
bool CSSValue::traverseSubresources(const std::function<bool (const CachedResource&)>& handler) const { // This should get called for internal instances only. ASSERT(!isCSSOMSafe()); if (is<CSSValueList>(*this)) return downcast<CSSValueList>(*this).traverseSubresources(handler); if (is<CSSFontFaceSrcValue>(*this)) return downcast<CSSFontFaceSrcValue>(*this).traverseSubresources(handler); if (is<CSSImageValue>(*this)) return downcast<CSSImageValue>(*this).traverseSubresources(handler); if (is<CSSCrossfadeValue>(*this)) return downcast<CSSCrossfadeValue>(*this).traverseSubresources(handler); if (is<CSSFilterImageValue>(*this)) return downcast<CSSFilterImageValue>(*this).traverseSubresources(handler); if (is<CSSImageSetValue>(*this)) return downcast<CSSImageSetValue>(*this).traverseSubresources(handler); return false; }
void CSSValue::destroy() { if (m_isTextClone) { ASSERT(isCSSOMSafe()); delete static_cast<TextCloneCSSValue*>(this); return; } ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM()); switch (classType()) { case AspectRatioClass: delete static_cast<CSSAspectRatioValue*>(this); return; case BorderImageSliceClass: delete static_cast<CSSBorderImageSliceValue*>(this); return; case CanvasClass: delete static_cast<CSSCanvasValue*>(this); return; case CursorImageClass: delete static_cast<CSSCursorImageValue*>(this); return; case FontClass: delete static_cast<FontValue*>(this); return; case FontFaceSrcClass: delete static_cast<CSSFontFaceSrcValue*>(this); return; case FontFeatureClass: delete static_cast<FontFeatureValue*>(this); return; case FunctionClass: delete static_cast<CSSFunctionValue*>(this); return; case LinearGradientClass: delete static_cast<CSSLinearGradientValue*>(this); return; case RadialGradientClass: delete static_cast<CSSRadialGradientValue*>(this); return; case CrossfadeClass: delete static_cast<CSSCrossfadeValue*>(this); return; case ImageClass: delete static_cast<CSSImageValue*>(this); return; case InheritedClass: delete static_cast<CSSInheritedValue*>(this); return; case InitialClass: delete static_cast<CSSInitialValue*>(this); return; case PrimitiveClass: delete static_cast<CSSPrimitiveValue*>(this); return; case ReflectClass: delete static_cast<CSSReflectValue*>(this); return; case ShadowClass: delete static_cast<ShadowValue*>(this); return; case LinearTimingFunctionClass: delete static_cast<CSSLinearTimingFunctionValue*>(this); return; case CubicBezierTimingFunctionClass: delete static_cast<CSSCubicBezierTimingFunctionValue*>(this); return; case StepsTimingFunctionClass: delete static_cast<CSSStepsTimingFunctionValue*>(this); return; case UnicodeRangeClass: delete static_cast<CSSUnicodeRangeValue*>(this); return; case ValueListClass: delete static_cast<CSSValueList*>(this); return; case WebKitCSSTransformClass: delete static_cast<WebKitCSSTransformValue*>(this); return; case LineBoxContainClass: delete static_cast<CSSLineBoxContainValue*>(this); return; case CalculationClass: delete static_cast<CSSCalcValue*>(this); return; #if ENABLE(CSS_IMAGE_SET) case ImageSetClass: delete static_cast<CSSImageSetValue*>(this); return; #endif #if ENABLE(CSS_FILTERS) case WebKitCSSFilterClass: delete static_cast<WebKitCSSFilterValue*>(this); return; #if ENABLE(CSS_SHADERS) case WebKitCSSMixFunctionValueClass: delete static_cast<WebKitCSSMixFunctionValue*>(this); return; case WebKitCSSShaderClass: delete static_cast<WebKitCSSShaderValue*>(this); return; #endif #endif #if ENABLE(CSS_VARIABLES) case VariableClass: delete static_cast<CSSVariableValue*>(this); return; #endif #if ENABLE(SVG) case SVGColorClass: delete static_cast<SVGColor*>(this); return; case SVGPaintClass: delete static_cast<SVGPaint*>(this); return; case WebKitCSSSVGDocumentClass: delete static_cast<WebKitCSSSVGDocumentValue*>(this); return; #endif } ASSERT_NOT_REACHED(); }
bool CSSValue::equals(const CSSValue& other) const { if (m_isTextClone) { ASSERT(isCSSOMSafe()); return static_cast<const TextCloneCSSValue*>(this)->cssText() == other.cssText(); } if (m_classType == other.m_classType) { switch (m_classType) { case AspectRatioClass: return compareCSSValues<CSSAspectRatioValue>(*this, other); case BorderImageSliceClass: return compareCSSValues<CSSBorderImageSliceValue>(*this, other); case CanvasClass: return compareCSSValues<CSSCanvasValue>(*this, other); case CursorImageClass: return compareCSSValues<CSSCursorImageValue>(*this, other); #if ENABLE(CSS_FILTERS) case FilterImageClass: return compareCSSValues<CSSFilterImageValue>(*this, other); #endif case FontClass: return compareCSSValues<FontValue>(*this, other); case FontFaceSrcClass: return compareCSSValues<CSSFontFaceSrcValue>(*this, other); case FontFeatureClass: return compareCSSValues<FontFeatureValue>(*this, other); case FunctionClass: return compareCSSValues<CSSFunctionValue>(*this, other); case LinearGradientClass: return compareCSSValues<CSSLinearGradientValue>(*this, other); case RadialGradientClass: return compareCSSValues<CSSRadialGradientValue>(*this, other); case CrossfadeClass: return compareCSSValues<CSSCrossfadeValue>(*this, other); case ImageClass: return compareCSSValues<CSSImageValue>(*this, other); case InheritedClass: return compareCSSValues<CSSInheritedValue>(*this, other); case InitialClass: return compareCSSValues<CSSInitialValue>(*this, other); case PrimitiveClass: return compareCSSValues<CSSPrimitiveValue>(*this, other); case ReflectClass: return compareCSSValues<CSSReflectValue>(*this, other); case ShadowClass: return compareCSSValues<ShadowValue>(*this, other); case CubicBezierTimingFunctionClass: return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, other); case StepsTimingFunctionClass: return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); case UnicodeRangeClass: return compareCSSValues<CSSUnicodeRangeValue>(*this, other); case ValueListClass: return compareCSSValues<CSSValueList>(*this, other); case WebKitCSSTransformClass: return compareCSSValues<WebKitCSSTransformValue>(*this, other); case LineBoxContainClass: return compareCSSValues<CSSLineBoxContainValue>(*this, other); case CalculationClass: return compareCSSValues<CSSCalcValue>(*this, other); #if ENABLE(CSS_IMAGE_SET) case ImageSetClass: return compareCSSValues<CSSImageSetValue>(*this, other); #endif #if ENABLE(CSS_FILTERS) case WebKitCSSFilterClass: return compareCSSValues<WebKitCSSFilterValue>(*this, other); #if ENABLE(CSS_SHADERS) case WebKitCSSArrayFunctionValueClass: return compareCSSValues<WebKitCSSArrayFunctionValue>(*this, other); case WebKitCSSMatFunctionValueClass: return compareCSSValues<WebKitCSSMatFunctionValue>(*this, other); case WebKitCSSMixFunctionValueClass: return compareCSSValues<WebKitCSSMixFunctionValue>(*this, other); case WebKitCSSShaderClass: return compareCSSValues<WebKitCSSShaderValue>(*this, other); #endif #endif #if ENABLE(CSS_VARIABLES) case VariableClass: return compareCSSValues<CSSVariableValue>(*this, other); #endif #if ENABLE(SVG) case SVGColorClass: return compareCSSValues<SVGColor>(*this, other); case SVGPaintClass: return compareCSSValues<SVGPaint>(*this, other); case WebKitCSSSVGDocumentClass: return compareCSSValues<WebKitCSSSVGDocumentValue>(*this, other); #endif default: ASSERT_NOT_REACHED(); return false; } } else if (m_classType == ValueListClass && other.m_classType != ValueListClass) return static_cast<const CSSValueList*>(this)->equals(other); else if (m_classType != ValueListClass && other.m_classType == ValueListClass) return static_cast<const CSSValueList&>(other).equals(*this); return false; }
bool CSSValue::equals(const CSSValue& other) const { if (m_isTextClone) { ASSERT(isCSSOMSafe()); return toTextCloneCSSValue(this)->cssText() == other.cssText(); } if (m_classType == other.m_classType) { switch (m_classType) { case AspectRatioClass: return compareCSSValues<CSSAspectRatioValue>(*this, other); case BorderImageSliceClass: return compareCSSValues<CSSBorderImageSliceValue>(*this, other); case FontClass: return compareCSSValues<CSSFontValue>(*this, other); case FontFaceSrcClass: return compareCSSValues<CSSFontFaceSrcValue>(*this, other); case FontFeatureClass: return compareCSSValues<CSSFontFeatureValue>(*this, other); case FunctionClass: return compareCSSValues<CSSFunctionValue>(*this, other); case LinearGradientClass: return compareCSSValues<CSSLinearGradientValue>(*this, other); case RadialGradientClass: return compareCSSValues<CSSRadialGradientValue>(*this, other); case CrossfadeClass: return compareCSSValues<CSSCrossfadeValue>(*this, other); case ImageClass: return compareCSSValues<CSSImageValue>(*this, other); case InheritedClass: return compareCSSValues<CSSInheritedValue>(*this, other); case InitialClass: return compareCSSValues<CSSInitialValue>(*this, other); case PrimitiveClass: return compareCSSValues<CSSPrimitiveValue>(*this, other); case ShadowClass: return compareCSSValues<CSSShadowValue>(*this, other); case CubicBezierTimingFunctionClass: return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, other); case StepsTimingFunctionClass: return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); case UnicodeRangeClass: return compareCSSValues<CSSUnicodeRangeValue>(*this, other); case ValueListClass: return compareCSSValues<CSSValueList>(*this, other); case CSSTransformClass: return compareCSSValues<CSSTransformValue>(*this, other); case LineBoxContainClass: return compareCSSValues<CSSLineBoxContainValue>(*this, other); case CalculationClass: return compareCSSValues<CSSCalcValue>(*this, other); case ImageSetClass: return compareCSSValues<CSSImageSetValue>(*this, other); case CSSFilterClass: return compareCSSValues<CSSFilterValue>(*this, other); default: ASSERT_NOT_REACHED(); return false; } } else if (m_classType == ValueListClass && other.m_classType != ValueListClass) return toCSSValueList(this)->equals(other); else if (m_classType != ValueListClass && other.m_classType == ValueListClass) return static_cast<const CSSValueList&>(other).equals(*this); return false; }
void CSSValue::destroy() { if (m_isTextClone) { ASSERT(isCSSOMSafe()); delete static_cast<TextCloneCSSValue*>(this); return; } ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM()); switch (classType()) { case AspectRatioClass: delete downcast<CSSAspectRatioValue>(this); return; case BorderImageSliceClass: delete downcast<CSSBorderImageSliceValue>(this); return; case CanvasClass: delete downcast<CSSCanvasValue>(this); return; case NamedImageClass: delete downcast<CSSNamedImageValue>(this); return; case CursorImageClass: delete downcast<CSSCursorImageValue>(this); return; case FontClass: delete downcast<CSSFontValue>(this); return; case FontFaceSrcClass: delete downcast<CSSFontFaceSrcValue>(this); return; case FontFeatureClass: delete downcast<CSSFontFeatureValue>(this); return; case FunctionClass: delete downcast<CSSFunctionValue>(this); return; case LinearGradientClass: delete downcast<CSSLinearGradientValue>(this); return; case RadialGradientClass: delete downcast<CSSRadialGradientValue>(this); return; case CrossfadeClass: delete downcast<CSSCrossfadeValue>(this); return; case ImageClass: delete downcast<CSSImageValue>(this); return; case InheritedClass: delete downcast<CSSInheritedValue>(this); return; case InitialClass: delete downcast<CSSInitialValue>(this); return; case UnsetClass: delete downcast<CSSUnsetValue>(this); return; case RevertClass: delete downcast<CSSRevertValue>(this); return; #if ENABLE(CSS_GRID_LAYOUT) case GridAutoRepeatClass: delete downcast<CSSGridAutoRepeatValue>(this); return; case GridLineNamesClass: delete downcast<CSSGridLineNamesValue>(this); return; case GridTemplateAreasClass: delete downcast<CSSGridTemplateAreasValue>(this); return; #endif case PrimitiveClass: delete downcast<CSSPrimitiveValue>(this); return; case ReflectClass: delete downcast<CSSReflectValue>(this); return; case ShadowClass: delete downcast<CSSShadowValue>(this); return; case CubicBezierTimingFunctionClass: delete downcast<CSSCubicBezierTimingFunctionValue>(this); return; case StepsTimingFunctionClass: delete downcast<CSSStepsTimingFunctionValue>(this); return; case SpringTimingFunctionClass: delete downcast<CSSSpringTimingFunctionValue>(this); return; case UnicodeRangeClass: delete downcast<CSSUnicodeRangeValue>(this); return; case ValueListClass: delete downcast<CSSValueList>(this); return; case WebKitCSSTransformClass: delete downcast<WebKitCSSTransformValue>(this); return; case LineBoxContainClass: delete downcast<CSSLineBoxContainValue>(this); return; case CalculationClass: delete downcast<CSSCalcValue>(this); return; case ImageSetClass: delete downcast<CSSImageSetValue>(this); return; case FilterImageClass: delete downcast<CSSFilterImageValue>(this); return; case WebKitCSSFilterClass: delete downcast<WebKitCSSFilterValue>(this); return; case SVGColorClass: delete downcast<SVGColor>(this); return; case SVGPaintClass: delete downcast<SVGPaint>(this); return; #if ENABLE(CSS_ANIMATIONS_LEVEL_2) case AnimationTriggerScrollClass: delete downcast<CSSAnimationTriggerScrollValue>(this); return; #endif case CSSContentDistributionClass: delete downcast<CSSContentDistributionValue>(this); return; case CustomPropertyClass: delete downcast<CSSCustomPropertyValue>(this); return; case VariableDependentClass: delete downcast<CSSVariableDependentValue>(this); return; case VariableClass: delete downcast<CSSVariableValue>(this); return; } ASSERT_NOT_REACHED(); }
bool CSSValue::equals(const CSSValue& other) const { if (m_isTextClone) { ASSERT(isCSSOMSafe()); return static_cast<const TextCloneCSSValue*>(this)->cssText() == other.cssText(); } if (m_classType == other.m_classType) { switch (m_classType) { case AspectRatioClass: return compareCSSValues<CSSAspectRatioValue>(*this, other); case BorderImageSliceClass: return compareCSSValues<CSSBorderImageSliceValue>(*this, other); case CanvasClass: return compareCSSValues<CSSCanvasValue>(*this, other); case NamedImageClass: return compareCSSValues<CSSNamedImageValue>(*this, other); case CursorImageClass: return compareCSSValues<CSSCursorImageValue>(*this, other); case FilterImageClass: return compareCSSValues<CSSFilterImageValue>(*this, other); case FontClass: return compareCSSValues<CSSFontValue>(*this, other); case FontFaceSrcClass: return compareCSSValues<CSSFontFaceSrcValue>(*this, other); case FontFeatureClass: return compareCSSValues<CSSFontFeatureValue>(*this, other); case FunctionClass: return compareCSSValues<CSSFunctionValue>(*this, other); case LinearGradientClass: return compareCSSValues<CSSLinearGradientValue>(*this, other); case RadialGradientClass: return compareCSSValues<CSSRadialGradientValue>(*this, other); case CrossfadeClass: return compareCSSValues<CSSCrossfadeValue>(*this, other); case ImageClass: return compareCSSValues<CSSImageValue>(*this, other); case InheritedClass: return compareCSSValues<CSSInheritedValue>(*this, other); case InitialClass: return compareCSSValues<CSSInitialValue>(*this, other); case UnsetClass: return compareCSSValues<CSSUnsetValue>(*this, other); case RevertClass: return compareCSSValues<CSSRevertValue>(*this, other); #if ENABLE(CSS_GRID_LAYOUT) case GridAutoRepeatClass: return compareCSSValues<CSSGridAutoRepeatValue>(*this, other); case GridLineNamesClass: return compareCSSValues<CSSGridLineNamesValue>(*this, other); case GridTemplateAreasClass: return compareCSSValues<CSSGridTemplateAreasValue>(*this, other); #endif case PrimitiveClass: return compareCSSValues<CSSPrimitiveValue>(*this, other); case ReflectClass: return compareCSSValues<CSSReflectValue>(*this, other); case ShadowClass: return compareCSSValues<CSSShadowValue>(*this, other); case CubicBezierTimingFunctionClass: return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, other); case StepsTimingFunctionClass: return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other); case SpringTimingFunctionClass: return compareCSSValues<CSSSpringTimingFunctionValue>(*this, other); case UnicodeRangeClass: return compareCSSValues<CSSUnicodeRangeValue>(*this, other); case ValueListClass: return compareCSSValues<CSSValueList>(*this, other); case WebKitCSSTransformClass: return compareCSSValues<WebKitCSSTransformValue>(*this, other); case LineBoxContainClass: return compareCSSValues<CSSLineBoxContainValue>(*this, other); case CalculationClass: return compareCSSValues<CSSCalcValue>(*this, other); case ImageSetClass: return compareCSSValues<CSSImageSetValue>(*this, other); case WebKitCSSFilterClass: return compareCSSValues<WebKitCSSFilterValue>(*this, other); case SVGColorClass: return compareCSSValues<SVGColor>(*this, other); case SVGPaintClass: return compareCSSValues<SVGPaint>(*this, other); #if ENABLE(CSS_ANIMATIONS_LEVEL_2) case AnimationTriggerScrollClass: return compareCSSValues<CSSAnimationTriggerScrollValue>(*this, other); #endif case CSSContentDistributionClass: return compareCSSValues<CSSContentDistributionValue>(*this, other); case CustomPropertyClass: return compareCSSValues<CSSCustomPropertyValue>(*this, other); case VariableDependentClass: return compareCSSValues<CSSVariableDependentValue>(*this, other); case VariableClass: return compareCSSValues<CSSVariableValue>(*this, other); default: ASSERT_NOT_REACHED(); return false; } } else if (is<CSSValueList>(*this) && !is<CSSValueList>(other)) return downcast<CSSValueList>(*this).equals(other); else if (!is<CSSValueList>(*this) && is<CSSValueList>(other)) return static_cast<const CSSValueList&>(other).equals(*this); return false; }
String CSSValue::cssText() const { if (m_isTextClone) { ASSERT(isCSSOMSafe()); return static_cast<const TextCloneCSSValue*>(this)->cssText(); } ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM()); switch (classType()) { case AspectRatioClass: return toCSSAspectRatioValue(this)->customCSSText(); case BorderImageSliceClass: return toCSSBorderImageSliceValue(this)->customCSSText(); case CanvasClass: return toCSSCanvasValue(this)->customCSSText(); case CursorImageClass: return toCSSCursorImageValue(this)->customCSSText(); #if ENABLE(CSS_FILTERS) case FilterImageClass: return toCSSFilterImageValue(this)->customCSSText(); #endif case FontClass: return toCSSFontValue(this)->customCSSText(); case FontFaceSrcClass: return toCSSFontFaceSrcValue(this)->customCSSText(); case FontFeatureClass: return toCSSFontFeatureValue(this)->customCSSText(); case FunctionClass: return toCSSFunctionValue(this)->customCSSText(); case LinearGradientClass: return toCSSLinearGradientValue(this)->customCSSText(); case RadialGradientClass: return toCSSRadialGradientValue(this)->customCSSText(); case CrossfadeClass: return toCSSCrossfadeValue(this)->customCSSText(); case ImageClass: return toCSSImageValue(this)->customCSSText(); case InheritedClass: return toCSSInheritedValue(this)->customCSSText(); case InitialClass: return toCSSInitialValue(this)->customCSSText(); case GridTemplateClass: return toCSSGridTemplateValue(this)->customCSSText(); case PrimitiveClass: return toCSSPrimitiveValue(this)->customCSSText(); case ReflectClass: return toCSSReflectValue(this)->customCSSText(); case ShadowClass: return toCSSShadowValue(this)->customCSSText(); case CubicBezierTimingFunctionClass: return toCSSCubicBezierTimingFunctionValue(this)->customCSSText(); case StepsTimingFunctionClass: return toCSSStepsTimingFunctionValue(this)->customCSSText(); case UnicodeRangeClass: return toCSSUnicodeRangeValue(this)->customCSSText(); case ValueListClass: return toCSSValueList(this)->customCSSText(); case WebKitCSSTransformClass: return toWebKitCSSTransformValue(this)->customCSSText(); case LineBoxContainClass: return toCSSLineBoxContainValue(this)->customCSSText(); case CalculationClass: return toCSSCalcValue(this)->customCSSText(); #if ENABLE(CSS_IMAGE_SET) case ImageSetClass: return toCSSImageSetValue(this)->customCSSText(); #endif #if ENABLE(CSS_FILTERS) case WebKitCSSFilterClass: return toWebKitCSSFilterValue(this)->customCSSText(); #if ENABLE(CSS_SHADERS) case WebKitCSSArrayFunctionValueClass: return toWebKitCSSArrayFunctionValue(this)->customCSSText(); case WebKitCSSMatFunctionValueClass: return toWebKitCSSMatFunctionValue(this)->customCSSText(); case WebKitCSSMixFunctionValueClass: return toWebKitCSSMixFunctionValue(this)->customCSSText(); case WebKitCSSShaderClass: return toWebKitCSSShaderValue(this)->customCSSText(); #endif #endif #if ENABLE(SVG) case SVGColorClass: return toSVGColor(this)->customCSSText(); case SVGPaintClass: return toSVGPaint(this)->customCSSText(); case WebKitCSSSVGDocumentClass: return toWebKitCSSSVGDocumentValue(this)->customCSSText(); #endif } ASSERT_NOT_REACHED(); return String(); }
void CSSValue::trace(Visitor* visitor) { if (m_isTextClone) { ASSERT(isCSSOMSafe()); toTextCloneCSSValue(this)->traceAfterDispatch(visitor); return; } ASSERT(!isCSSOMSafe() || isSubtypeExposedToCSSOM()); switch (classType()) { case AspectRatioClass: toCSSAspectRatioValue(this)->traceAfterDispatch(visitor); return; case BorderImageSliceClass: toCSSBorderImageSliceValue(this)->traceAfterDispatch(visitor); return; case CanvasClass: toCSSCanvasValue(this)->traceAfterDispatch(visitor); return; case CursorImageClass: toCSSCursorImageValue(this)->traceAfterDispatch(visitor); return; case FontClass: toCSSFontValue(this)->traceAfterDispatch(visitor); return; case FontFaceSrcClass: toCSSFontFaceSrcValue(this)->traceAfterDispatch(visitor); return; case FontFeatureClass: toCSSFontFeatureValue(this)->traceAfterDispatch(visitor); return; case FunctionClass: toCSSFunctionValue(this)->traceAfterDispatch(visitor); return; case LinearGradientClass: toCSSLinearGradientValue(this)->traceAfterDispatch(visitor); return; case RadialGradientClass: toCSSRadialGradientValue(this)->traceAfterDispatch(visitor); return; case CrossfadeClass: toCSSCrossfadeValue(this)->traceAfterDispatch(visitor); return; case ImageClass: toCSSImageValue(this)->traceAfterDispatch(visitor); return; case InheritedClass: toCSSInheritedValue(this)->traceAfterDispatch(visitor); return; case InitialClass: toCSSInitialValue(this)->traceAfterDispatch(visitor); return; case GridLineNamesClass: toCSSGridLineNamesValue(this)->traceAfterDispatch(visitor); return; case GridTemplateAreasClass: toCSSGridTemplateAreasValue(this)->traceAfterDispatch(visitor); return; case PrimitiveClass: toCSSPrimitiveValue(this)->traceAfterDispatch(visitor); return; case ShadowClass: toCSSShadowValue(this)->traceAfterDispatch(visitor); return; case CubicBezierTimingFunctionClass: toCSSCubicBezierTimingFunctionValue(this)->traceAfterDispatch(visitor); return; case StepsTimingFunctionClass: toCSSStepsTimingFunctionValue(this)->traceAfterDispatch(visitor); return; case UnicodeRangeClass: toCSSUnicodeRangeValue(this)->traceAfterDispatch(visitor); return; case ValueListClass: toCSSValueList(this)->traceAfterDispatch(visitor); return; case CSSTransformClass: toCSSTransformValue(this)->traceAfterDispatch(visitor); return; case LineBoxContainClass: toCSSLineBoxContainValue(this)->traceAfterDispatch(visitor); return; case CalculationClass: toCSSCalcValue(this)->traceAfterDispatch(visitor); return; case ImageSetClass: toCSSImageSetValue(this)->traceAfterDispatch(visitor); return; case CSSFilterClass: toCSSFilterValue(this)->traceAfterDispatch(visitor); return; } ASSERT_NOT_REACHED(); }