-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=102901 Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2013-02-11 Reviewed by Antti Koivisto. Source/WebCore: Added comparison method to CSSValue and its children, so that the css values could be compared efficiently. Before this patch, CSSValue objects were compared using strings that were generated by the cssText() method. Test: cssom/cssvalue-comparison.html * css/CSSAspectRatioValue.cpp: (WebCore::CSSAspectRatioValue::equals): (WebCore): * css/CSSAspectRatioValue.h: (CSSAspectRatioValue): * css/CSSBasicShapes.cpp: (WebCore::CSSBasicShapeRectangle::equals): (WebCore): (WebCore::CSSBasicShapeCircle::equals): (WebCore::CSSBasicShapeEllipse::equals): (WebCore::CSSBasicShapePolygon::equals): * css/CSSBasicShapes.h: (CSSBasicShapeRectangle): (CSSBasicShapeCircle): (CSSBasicShapeEllipse): (CSSBasicShapePolygon): * css/CSSBorderImageSliceValue.cpp: (WebCore::CSSBorderImageSliceValue::equals): (WebCore): * css/CSSBorderImageSliceValue.h: (CSSBorderImageSliceValue): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcValue::equals): (WebCore): (WebCore::CSSCalcPrimitiveValue::equals): (CSSCalcPrimitiveValue): (WebCore::CSSCalcPrimitiveValue::type): (WebCore::CSSCalcBinaryOperation::equals): (CSSCalcBinaryOperation): (WebCore::CSSCalcBinaryOperation::type): * css/CSSCalculationValue.h: (WebCore::CSSCalcExpressionNode::equals): (CSSCalcExpressionNode): (CSSCalcValue): * css/CSSCanvasValue.cpp: (WebCore::CSSCanvasValue::equals): (WebCore): * css/CSSCanvasValue.h: (CSSCanvasValue): * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches): (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand): * css/CSSCrossfadeValue.cpp: (WebCore::CSSCrossfadeValue::equals): (WebCore): * css/CSSCrossfadeValue.h: (CSSCrossfadeValue): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::equals): (WebCore): * css/CSSCursorImageValue.h: (CSSCursorImageValue): * css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::equals): (WebCore): * css/CSSFontFaceSrcValue.h: (CSSFontFaceSrcValue): * css/CSSFunctionValue.cpp: (WebCore::CSSFunctionValue::equals): (WebCore): * css/CSSFunctionValue.h: (CSSFunctionValue): * css/CSSGradientValue.cpp: (WebCore::CSSLinearGradientValue::equals): (WebCore): (WebCore::CSSRadialGradientValue::equals): * css/CSSGradientValue.h: (WebCore::CSSGradientColorStop::operator==): (CSSLinearGradientValue): (CSSRadialGradientValue): * css/CSSImageValue.cpp: (WebCore::CSSImageValue::equals): (WebCore): * css/CSSImageValue.h: (CSSImageValue): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::equals): (CSSInheritedValue): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::equals): (CSSInitialValue): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::equals): * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::equals): (WebCore): * css/CSSPrimitiveValue.h: (CSSPrimitiveValue): * css/CSSReflectValue.cpp: (WebCore::CSSReflectValue::equals): (WebCore): * css/CSSReflectValue.h: (CSSReflectValue): * css/CSSTimingFunctionValue.cpp: (WebCore::CSSCubicBezierTimingFunctionValue::equals): (WebCore): (WebCore::CSSStepsTimingFunctionValue::equals): * css/CSSTimingFunctionValue.h: (WebCore::CSSLinearTimingFunctionValue::equals): (CSSLinearTimingFunctionValue): (CSSCubicBezierTimingFunctionValue): (CSSStepsTimingFunctionValue): * css/CSSUnicodeRangeValue.cpp: (WebCore::CSSUnicodeRangeValue::equals): (WebCore): * css/CSSUnicodeRangeValue.h: (CSSUnicodeRangeValue): * css/CSSValue.cpp: (WebCore): (WebCore::compareCSSValues): (WebCore::CSSValue::equals): * css/CSSValue.h: (CSSValue): (WebCore): (WebCore::compareCSSValueVector): (WebCore::compareCSSValuePtr): * css/CSSValueList.cpp: (WebCore::CSSValueList::removeAll): (WebCore::CSSValueList::hasValue): (WebCore::CSSValueList::equals): (WebCore): * css/CSSValueList.h: (CSSValueList): * css/CSSVariableValue.h: (WebCore::CSSVariableValue::equals): (CSSVariableValue): * css/Counter.h: (Counter): (WebCore::Counter::equals): * css/DashboardRegion.h: (WebCore::DashboardRegion::equals): * css/FontFeatureValue.cpp: (WebCore::FontFeatureValue::equals): (WebCore): * css/FontFeatureValue.h: (FontFeatureValue): * css/FontValue.cpp: (WebCore::FontValue::equals): (WebCore): * css/FontValue.h: (FontValue): * css/MediaQueryExp.h: (WebCore::MediaQueryExp::operator==): * css/Pair.h: (WebCore::Pair::equals): (Pair): * css/Rect.h: (WebCore::RectBase::equals): (RectBase): * css/ShadowValue.cpp: (WebCore::ShadowValue::equals): (WebCore): * css/ShadowValue.h: (ShadowValue): * css/StylePropertySet.cpp: (WebCore::StylePropertySet::get4Values): (WebCore::StylePropertySet::propertyMatches): * css/WebKitCSSArrayFunctionValue.cpp: (WebCore::WebKitCSSArrayFunctionValue::equals): (WebCore): * css/WebKitCSSArrayFunctionValue.h: (WebKitCSSArrayFunctionValue): * css/WebKitCSSFilterValue.cpp: (WebCore::WebKitCSSFilterValue::equals): (WebCore): * css/WebKitCSSFilterValue.h: (WebKitCSSFilterValue): * css/WebKitCSSMixFunctionValue.cpp: (WebCore::WebKitCSSMixFunctionValue::equals): (WebCore): * css/WebKitCSSMixFunctionValue.h: (WebKitCSSMixFunctionValue): * css/WebKitCSSSVGDocumentValue.cpp: (WebCore::WebKitCSSSVGDocumentValue::equals): (WebCore): * css/WebKitCSSSVGDocumentValue.h: (WebKitCSSSVGDocumentValue): * css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::equals): (WebCore): * css/WebKitCSSShaderValue.h: (WebKitCSSShaderValue): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::equals): * editing/EditingStyle.cpp: (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): * svg/SVGColor.cpp: (WebCore::SVGColor::equals): (WebCore): * svg/SVGColor.h: (SVGColor): * svg/SVGPaint.cpp: (WebCore::SVGPaint::equals): (WebCore): * svg/SVGPaint.h: (SVGPaint): LayoutTests: New layout test to verify that CSSValue objects comparison works properly. * cssom/cssvalue-comparison-expected.txt: Added. * cssom/cssvalue-comparison.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
b4b784a2