- Revision
- 175932
- Author
- [email protected]
- Date
- 2014-11-11 08:31:44 -0800 (Tue, 11 Nov 2014)
Log Message
Move '-webkit-marquee-speed' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138595
Reviewed by Antti Koivisto.
Move '-webkit-marquee-speed' CSS property from DeprecatedStyleBuilder
to the new StyleBuilder by adding a new MarqueeSpeed Converter.
No new tests, no behavior change.
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeSpeed::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertMarqueeSpeed):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (175931 => 175932)
--- trunk/Source/WebCore/ChangeLog 2014-11-11 16:29:23 UTC (rev 175931)
+++ trunk/Source/WebCore/ChangeLog 2014-11-11 16:31:44 UTC (rev 175932)
@@ -1,3 +1,23 @@
+2014-11-11 Chris Dumez <[email protected]>
+
+ Move '-webkit-marquee-speed' CSS property to the new StyleBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=138595
+
+ Reviewed by Antti Koivisto.
+
+ Move '-webkit-marquee-speed' CSS property from DeprecatedStyleBuilder
+ to the new StyleBuilder by adding a new MarqueeSpeed Converter.
+
+ No new tests, no behavior change.
+
+ * css/CSSPropertyNames.in:
+ * css/DeprecatedStyleBuilder.cpp:
+ (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+ (WebCore::ApplyPropertyMarqueeSpeed::applyValue): Deleted.
+ (WebCore::ApplyPropertyMarqueeSpeed::createHandler): Deleted.
+ * css/StyleBuilderConverter.h:
+ (WebCore::StyleBuilderConverter::convertMarqueeSpeed):
+
2014-10-07 Sergio Villar Senin <[email protected]>
[CSS Grid Layout] Limit the size of explicit/implicit grid
Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (175931 => 175932)
--- trunk/Source/WebCore/css/CSSPropertyNames.in 2014-11-11 16:29:23 UTC (rev 175931)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in 2014-11-11 16:31:44 UTC (rev 175932)
@@ -421,7 +421,7 @@
-webkit-marquee-direction [NewStyleBuilder]
-webkit-marquee-increment [NewStyleBuilder, Custom=Value]
-webkit-marquee-repetition
--webkit-marquee-speed
+-webkit-marquee-speed [NewStyleBuilder, Converter=MarqueeSpeed]
-webkit-marquee-style [NewStyleBuilder, TypeName=EMarqueeBehavior, NameForMethods=MarqueeBehavior]
-webkit-mask
-webkit-mask-box-image [NewStyleBuilder, Initial=initialNinePieceImage, Converter=BorderMask<CSSPropertyWebkitMaskBoxImage>]
Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (175931 => 175932)
--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp 2014-11-11 16:29:23 UTC (rev 175931)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp 2014-11-11 16:31:44 UTC (rev 175932)
@@ -1051,40 +1051,6 @@
}
};
-class ApplyPropertyMarqueeSpeed {
-public:
- static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
- {
- if (!is<CSSPrimitiveValue>(*value))
- return;
-
- CSSPrimitiveValue& primitiveValue = downcast<CSSPrimitiveValue>(*value);
- if (CSSValueID ident = primitiveValue.getValueID()) {
- switch (ident) {
- case CSSValueSlow:
- styleResolver->style()->setMarqueeSpeed(500); // 500 msec.
- break;
- case CSSValueNormal:
- styleResolver->style()->setMarqueeSpeed(85); // 85msec. The WinIE default.
- break;
- case CSSValueFast:
- styleResolver->style()->setMarqueeSpeed(10); // 10msec. Super fast.
- break;
- default:
- break;
- }
- } else if (primitiveValue.isTime())
- styleResolver->style()->setMarqueeSpeed(primitiveValue.computeTime<int, CSSPrimitiveValue::Milliseconds>());
- else if (primitiveValue.isNumber()) // For scrollamount support.
- styleResolver->style()->setMarqueeSpeed(primitiveValue.getIntValue());
- }
- static PropertyHandler createHandler()
- {
- PropertyHandler handler = ApplyPropertyDefault<int, &RenderStyle::marqueeSpeed, int, &RenderStyle::setMarqueeSpeed, int, &RenderStyle::initialMarqueeSpeed>::createHandler();
- return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
- }
-};
-
class ApplyPropertyTextUnderlinePosition {
public:
static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
@@ -1626,7 +1592,6 @@
setPropertyHandler(CSSPropertyWebkitFontSmoothing, ApplyPropertyFont<FontSmoothingMode, &FontDescription::fontSmoothing, &FontDescription::setFontSmoothing, AutoSmoothing>::createHandler());
setPropertyHandler(CSSPropertyWebkitFontVariantLigatures, ApplyPropertyFontVariantLigatures::createHandler());
setPropertyHandler(CSSPropertyWebkitMarqueeRepetition, ApplyPropertyMarqueeRepetition::createHandler());
- setPropertyHandler(CSSPropertyWebkitMarqueeSpeed, ApplyPropertyMarqueeSpeed::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImageOutset, ApplyPropertyBorderImageModifier<BorderMask, Outset>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImageRepeat, ApplyPropertyBorderImageModifier<BorderMask, Repeat>::createHandler());
setPropertyHandler(CSSPropertyWebkitMaskBoxImageSlice, ApplyPropertyBorderImageModifier<BorderMask, Slice>::createHandler());
Modified: trunk/Source/WebCore/css/StyleBuilderConverter.h (175931 => 175932)
--- trunk/Source/WebCore/css/StyleBuilderConverter.h 2014-11-11 16:29:23 UTC (rev 175931)
+++ trunk/Source/WebCore/css/StyleBuilderConverter.h 2014-11-11 16:31:44 UTC (rev 175932)
@@ -63,6 +63,7 @@
static ETextAlign convertTextAlign(StyleResolver&, CSSValue&);
static PassRefPtr<ClipPathOperation> convertClipPath(StyleResolver&, CSSValue&);
static EResize convertResize(StyleResolver&, CSSValue&);
+ static int convertMarqueeSpeed(StyleResolver&, CSSValue&);
private:
static Length convertToRadiusLength(CSSToLengthConversionData&, CSSPrimitiveValue&);
@@ -387,6 +388,35 @@
return resize;
}
+inline int StyleBuilderConverter::convertMarqueeSpeed(StyleResolver&, CSSValue& value)
+{
+ auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
+ int speed = 85;
+ if (CSSValueID ident = primitiveValue.getValueID()) {
+ switch (ident) {
+ case CSSValueSlow:
+ speed = 500; // 500 msec.
+ break;
+ case CSSValueNormal:
+ speed = 85; // 85msec. The WinIE default.
+ break;
+ case CSSValueFast:
+ speed = 10; // 10msec. Super fast.
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+ } else if (primitiveValue.isTime())
+ speed = primitiveValue.computeTime<int, CSSPrimitiveValue::Milliseconds>();
+ else {
+ // For scrollamount support.
+ ASSERT(primitiveValue.isNumber());
+ speed = primitiveValue.getIntValue();
+ }
+ return speed;
+}
+
} // namespace WebCore
#endif // StyleBuilderConverter_h