Title: [209237] trunk/Source/WebCore
Revision
209237
Author
[email protected]
Date
2016-12-02 08:31:14 -0800 (Fri, 02 Dec 2016)

Log Message

[CSS Parser] Fix font-variant parsing 
https://bugs.webkit.org/show_bug.cgi?id=165301

Reviewed by Zalan Bujtas.

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontVariantEastAsian):
(WebCore::CSSPropertyParser::consumeFontVariantShorthand):
Fix a bug with font-variant-east-asian parsing where the id
was getting improperly consumed even when it didn't match.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (209236 => 209237)


--- trunk/Source/WebCore/ChangeLog	2016-12-02 16:29:00 UTC (rev 209236)
+++ trunk/Source/WebCore/ChangeLog	2016-12-02 16:31:14 UTC (rev 209237)
@@ -1,5 +1,18 @@
 2016-12-02  Dave Hyatt  <[email protected]>
 
+        [CSS Parser] Fix font-variant parsing 
+        https://bugs.webkit.org/show_bug.cgi?id=165301
+
+        Reviewed by Zalan Bujtas.
+
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::consumeFontVariantEastAsian):
+        (WebCore::CSSPropertyParser::consumeFontVariantShorthand):
+        Fix a bug with font-variant-east-asian parsing where the id
+        was getting improperly consumed even when it didn't match.
+
+2016-12-02  Dave Hyatt  <[email protected]>
+
         [CSS Parser] Fix animation property parsing
         https://bugs.webkit.org/show_bug.cgi?id=165305
 

Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (209236 => 209237)


--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2016-12-02 16:29:00 UTC (rev 209236)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2016-12-02 16:31:14 UTC (rev 209237)
@@ -663,8 +663,7 @@
             return nullptr;
         
         auto id = range.peek().id();
-        range.consumeIncludingWhitespace();
-
+        
         switch (id) {
         case CSSValueJis78:
             variant = FontVariantEastAsianVariant::Jis78;
@@ -696,6 +695,8 @@
         default:
             return nullptr;
         }
+        
+        range.consumeIncludingWhitespace();
     }
         
     switch (variant) {
@@ -4292,6 +4293,24 @@
     FontVariantLigaturesParser ligaturesParser;
     FontVariantNumericParser numericParser;
     do {
+        if (!capsValue) {
+            capsValue = consumeFontVariantCaps(m_range);
+            if (capsValue)
+                continue;
+        }
+        
+        if (!positionValue) {
+            positionValue = consumeFontVariantPosition(m_range);
+            if (positionValue)
+                continue;
+        }
+
+        if (!alternatesValue) {
+            alternatesValue = consumeFontVariantAlternates(m_range);
+            if (alternatesValue)
+                continue;
+        }
+
         FontVariantLigaturesParser::ParseResult ligaturesParseResult = ligaturesParser.consumeLigature(m_range);
         FontVariantNumericParser::ParseResult numericParseResult = numericParser.consumeNumeric(m_range);
         if (ligaturesParseResult == FontVariantLigaturesParser::ParseResult::ConsumedValue
@@ -4305,27 +4324,9 @@
         if (!eastAsianValue) {
             eastAsianValue = consumeFontVariantEastAsian(m_range);
             if (eastAsianValue)
-                continue;
+            continue;
         }
-        
-        if (!capsValue) {
-            capsValue = consumeFontVariantCaps(m_range);
-            if (capsValue)
-                continue;
-        }
-        
-        if (!alternatesValue) {
-            alternatesValue = consumeFontVariantAlternates(m_range);
-            if (alternatesValue)
-                continue;
-        }
-        
-        if (!positionValue) {
-            positionValue = consumeFontVariantPosition(m_range);
-            if (positionValue)
-                continue;
-        }
-        
+
         // Saw some value that didn't match anything else.
         return false;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to