Title: [208069] trunk/Source/WebCore
Revision
208069
Author
hy...@apple.com
Date
2016-10-28 14:12:41 -0700 (Fri, 28 Oct 2016)

Log Message

[CSS Parser] Support initial-letter
https://bugs.webkit.org/show_bug.cgi?id=164150

Reviewed by Simon Fraser.

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeInitialLetter):
(WebCore::CSSPropertyParser::parseSingleValue):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (208068 => 208069)


--- trunk/Source/WebCore/ChangeLog	2016-10-28 21:02:53 UTC (rev 208068)
+++ trunk/Source/WebCore/ChangeLog	2016-10-28 21:12:41 UTC (rev 208069)
@@ -1,3 +1,14 @@
+2016-10-28  Dave Hyatt  <hy...@apple.com>
+
+        [CSS Parser] Support initial-letter
+        https://bugs.webkit.org/show_bug.cgi?id=164150
+
+        Reviewed by Simon Fraser.
+
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::consumeInitialLetter):
+        (WebCore::CSSPropertyParser::parseSingleValue):
+
 2016-10-28  Simon Fraser  <simon.fra...@apple.com>
 
         Remove some unused code in RenderLayerCompositor::computeExtent()

Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (208068 => 208069)


--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2016-10-28 21:02:53 UTC (rev 208068)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2016-10-28 21:12:41 UTC (rev 208069)
@@ -3125,6 +3125,27 @@
     return consumeCustomIdent(range);
 }
 
+static RefPtr<CSSValue> consumeInitialLetter(CSSParserTokenRange& range)
+{
+    RefPtr<CSSValue> ident = consumeIdent<CSSValueNormal>(range);
+    if (ident)
+        return ident;
+    
+    RefPtr<CSSPrimitiveValue> height = consumeNumber(range, ValueRangeNonNegative);
+    if (!height)
+        return nullptr;
+    
+    RefPtr<CSSPrimitiveValue> position;
+    if (!range.atEnd()) {
+        position = consumeNumber(range, ValueRangeNonNegative);
+        if (!position || !range.atEnd())
+            return nullptr;
+    } else
+        position = height.copyRef();
+    
+    return createPrimitiveValuePair(position.releaseNonNull(), WTFMove(height));
+}
+
 static RefPtr<CSSValue> consumeWebkitMarqueeIncrement(CSSParserTokenRange& range, CSSParserMode cssParserMode)
 {
     if (range.peek().type() == IdentToken)
@@ -3516,6 +3537,8 @@
 #endif
     case CSSPropertyWebkitLineGrid:
         return consumeLineGrid(m_range);
+    case CSSPropertyWebkitInitialLetter:
+        return consumeInitialLetter(m_range);
     case CSSPropertyWebkitMarqueeIncrement:
         return consumeWebkitMarqueeIncrement(m_range, m_context.mode);
     case CSSPropertyWebkitMarqueeRepetition:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to