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