Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: de28c5277420b12db5bfcc0483ec65950b7bc53d
      
https://github.com/WebKit/WebKit/commit/de28c5277420b12db5bfcc0483ec65950b7bc53d
  Author: Zak Ridouh <[email protected]>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    A LayoutTests/fast/css/test-at-supports-newline-expected.txt
    A LayoutTests/fast/css/test-at-supports-newline.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-syntax/custom-property-rule-ambiguity-expected.txt
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/parser/CSSParserToken.cpp
    M Source/WebCore/css/parser/CSSParserToken.h
    M Source/WebCore/css/parser/CSSParserTokenRange.cpp
    M Source/WebCore/css/parser/CSSParserTokenRange.h
    M Source/WebCore/css/parser/CSSSelectorParser.cpp
    M Source/WebCore/css/parser/CSSSupportsParser.cpp
    M Source/WebCore/css/parser/CSSTokenizer.cpp
    M Source/WebCore/css/parser/CSSTokenizer.h
    M Source/WebCore/css/parser/CSSTokenizerInputStream.cpp
    M Source/WebCore/css/parser/CSSTokenizerInputStream.h
    M Source/WebCore/css/parser/SizesCalcParser.cpp
    M Source/WebCore/html/track/WebVTTTokenizer.cpp
    M Source/WebCore/platform/graphics/Color.h
    M Source/WebCore/platform/text/SegmentedString.h
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp
    A Tools/TestWebKitAPI/Tests/WebCore/CSSTokenizerTests.cpp

  Log Message:
  -----------
  [CSS] Tokenizer should distinguish newline from whitespace
https://bugs.webkit.org/show_bug.cgi?id=276431
rdar://131474098

Reviewed by Darin Adler.

Preserve newlines in Custom CSS Properties. Write unit tests to test the 
CSSTokenizer and the CSSParser.

    * LayoutTests/fast/css/test-at-supports-newline-expected.txt: Added.
    * LayoutTests/fast/css/test-at-supports-newline.html: Added.
    * 
LayoutTests/imported/w3c/web-platform-tests/css/css-syntax/custom-property-rule-ambiguity-expected.txt:
    * Source/WebCore/Headers.cmake:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebCore/css/CSSValue.h:
    * Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp:
    (WebCore::CSSCalcExpressionNodeParser::parseCalcFunction):
    (WebCore::CSSCalcExpressionNodeParser::parseValue):
    (WebCore::CSSCalcExpressionNodeParser::parseCalcProduct):
    (WebCore::CSSCalcExpressionNodeParser::parseCalcSum):
    * Source/WebCore/css/parser/CSSParserImpl.cpp:
    (WebCore::CSSParserImpl::consumeRuleList):
    (WebCore::CSSParserImpl::consumeFontFeatureValuesRuleBlock):
    (WebCore::CSSParserImpl::consumeBlockContent):
    * Source/WebCore/css/parser/CSSParserToken.cpp:
    (WebCore::CSSParserToken::CSSParserToken):
    (WebCore::CSSParserToken::hasStringBacking const):
    (WebCore::CSSParserToken::operator== const):
    (WebCore::CSSParserToken::serialize const):
    * Source/WebCore/css/parser/CSSParserToken.h:
    * Source/WebCore/css/parser/CSSParserTokenRange.cpp:
    (WebCore::CSSParserTokenRange::consumeBlockCheckingForEditability):
    (WebCore::CSSParserTokenRange::trimTrailingWhitespace):
    * Source/WebCore/css/parser/CSSParserTokenRange.h:
    (WebCore::CSSParserTokenRange::consumeWhitespace):
    * Source/WebCore/css/parser/CSSSelectorParser.cpp:
    (WebCore::CSSSelectorParser::consumeCombinator):
    * Source/WebCore/css/parser/CSSSupportsParser.cpp:
    (WebCore::CSSSupportsParser::consumeCondition):
    (WebCore::CSSSupportsParser::consumeNegation):
    * Source/WebCore/css/parser/CSSTokenizer.cpp:
    (WebCore::CSSTokenizer::preprocessString):
    (WebCore::CSSTokenizer::isWhitespace):
    (WebCore::CSSTokenizer::isNewline):
    (WebCore::CSSTokenizer::newline):
    (WebCore::twoCharsAreValidEscape):
    (WebCore::CSSTokenizer::whitespace):
    (WebCore::CSSTokenizer::leftParenthesis):
    (WebCore::CSSTokenizer::rightParenthesis):
    (WebCore::CSSTokenizer::leftBracket):
    (WebCore::CSSTokenizer::rightBracket):
    (WebCore::CSSTokenizer::leftBrace):
    (WebCore::CSSTokenizer::rightBrace):
    (WebCore::CSSTokenizer::comma):
    (WebCore::CSSTokenizer::colon):
    (WebCore::CSSTokenizer::semiColon):
    (WebCore::CSSTokenizer::endOfFile):
    (WebCore::CSSTokenizer::consumeStringTokenUntil):
    (WebCore::CSSTokenizer::consumeEscape):
    (WebCore::isNewLine): Deleted.
    (WebCore::CSSTokenizer::whiteSpace): Deleted.
    * Source/WebCore/css/parser/CSSTokenizer.h:
    * Source/WebCore/css/parser/CSSTokenizerInputStream.cpp:
    (WebCore::CSSTokenizerInputStream::advanceUntilNonWhitespace):
    (WebCore::CSSTokenizerInputStream::advanceUntilNewlineOrNonWhitespace):
    * Source/WebCore/css/parser/CSSTokenizerInputStream.h:
    * Source/WebCore/css/parser/SizesCalcParser.cpp:
    (WebCore::SizesCalcParser::calcToReversePolishNotation):
    * Source/WebCore/html/track/WebVTTTokenizer.cpp:
    * Source/WebCore/platform/graphics/Color.h:
    (WebCore::Color::Color):
    * Source/WebCore/platform/text/SegmentedString.h:
    * Tools/TestWebKitAPI/CMakeLists.txt:
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
    (TestWebKitAPI::TEST(CSSParser, ParseColorInput)):
    (TestWebKitAPI::TEST(CSSParser, ParseColorWithNewlineAndWhitespacesInput)):
    (TestWebKitAPI::TEST(CSSParser, ParseCustomPropertyWithNewlineInput)):
    (TestWebKitAPI::TEST(CSSParser, 
ParseCustomPropertyWithNewlineAndWhitespacesInput)):
    (TestWebKitAPI::TEST(CSSParser, 
ParseCustomPropertyWithNewlineBetweenIdentInput)):
    (TestWebKitAPI::TEST(CSSParser, 
ParseColorPropertyWithNewlineBetweenIdentInput)):
    (TestWebKitAPI::TEST(CSSParser, 
ParseTextTransformPropertyWithNewlineBetweenTwoIdentInput)):
    (TestWebKitAPI::TEST(CSSPropertyParser, GridTrackLimits)):
    (TestWebKitAPI::TEST(CSSPropertyParserTest, GridTrackLimits)): Deleted.
    * Tools/TestWebKitAPI/Tests/WebCore/CSSTokenizerTests.cpp: Added.
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeWhitespaceLikeInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeIdentAndCommaInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeMultipleWhitespaceInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeNewlineTokenOnlyInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeNewlineAndWhitespaceInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, 
TokenizeNewlineWhitespaceAndIdentInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, TokenizeURLWithProperInput)):
    (TestWebKitAPI::TEST(CSSTokenizerTest, 
TokenizeURLWithNewlineWhitespaceInput)):

Canonical link: https://commits.webkit.org/282084@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to