mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 10:22:05 -05:00
LibWeb: Teach the CSS parser about extra color keywords
All of these identifiers can be treated as a color, so let's make sure the parser understands that.
This commit is contained in:
parent
465ecf37c2
commit
aad2f0963f
1 changed files with 66 additions and 0 deletions
|
@ -4029,6 +4029,72 @@ ErrorOr<RefPtr<StyleValue>> Parser::parse_color_value(ComponentValue const& comp
|
|||
if (color.has_value())
|
||||
return ColorStyleValue::create(color.value());
|
||||
|
||||
if (component_value.is(Token::Type::Ident)) {
|
||||
if (auto ident = value_id_from_string(component_value.token().ident()); ident.has_value()) {
|
||||
switch (ident.value()) {
|
||||
case ValueID::Currentcolor:
|
||||
case ValueID::LibwebLink:
|
||||
case ValueID::LibwebPaletteActiveLink:
|
||||
case ValueID::LibwebPaletteActiveWindowBorder1:
|
||||
case ValueID::LibwebPaletteActiveWindowBorder2:
|
||||
case ValueID::LibwebPaletteActiveWindowTitle:
|
||||
case ValueID::LibwebPaletteBase:
|
||||
case ValueID::LibwebPaletteBaseText:
|
||||
case ValueID::LibwebPaletteButton:
|
||||
case ValueID::LibwebPaletteButtonText:
|
||||
case ValueID::LibwebPaletteDesktopBackground:
|
||||
case ValueID::LibwebPaletteFocusOutline:
|
||||
case ValueID::LibwebPaletteHighlightWindowBorder1:
|
||||
case ValueID::LibwebPaletteHighlightWindowBorder2:
|
||||
case ValueID::LibwebPaletteHighlightWindowTitle:
|
||||
case ValueID::LibwebPaletteHoverHighlight:
|
||||
case ValueID::LibwebPaletteInactiveSelection:
|
||||
case ValueID::LibwebPaletteInactiveSelectionText:
|
||||
case ValueID::LibwebPaletteInactiveWindowBorder1:
|
||||
case ValueID::LibwebPaletteInactiveWindowBorder2:
|
||||
case ValueID::LibwebPaletteInactiveWindowTitle:
|
||||
case ValueID::LibwebPaletteLink:
|
||||
case ValueID::LibwebPaletteMenuBase:
|
||||
case ValueID::LibwebPaletteMenuBaseText:
|
||||
case ValueID::LibwebPaletteMenuSelection:
|
||||
case ValueID::LibwebPaletteMenuSelectionText:
|
||||
case ValueID::LibwebPaletteMenuStripe:
|
||||
case ValueID::LibwebPaletteMovingWindowBorder1:
|
||||
case ValueID::LibwebPaletteMovingWindowBorder2:
|
||||
case ValueID::LibwebPaletteMovingWindowTitle:
|
||||
case ValueID::LibwebPaletteRubberBandBorder:
|
||||
case ValueID::LibwebPaletteRubberBandFill:
|
||||
case ValueID::LibwebPaletteRuler:
|
||||
case ValueID::LibwebPaletteRulerActiveText:
|
||||
case ValueID::LibwebPaletteRulerBorder:
|
||||
case ValueID::LibwebPaletteRulerInactiveText:
|
||||
case ValueID::LibwebPaletteSelection:
|
||||
case ValueID::LibwebPaletteSelectionText:
|
||||
case ValueID::LibwebPaletteSyntaxComment:
|
||||
case ValueID::LibwebPaletteSyntaxControlKeyword:
|
||||
case ValueID::LibwebPaletteSyntaxIdentifier:
|
||||
case ValueID::LibwebPaletteSyntaxKeyword:
|
||||
case ValueID::LibwebPaletteSyntaxNumber:
|
||||
case ValueID::LibwebPaletteSyntaxOperator:
|
||||
case ValueID::LibwebPaletteSyntaxPreprocessorStatement:
|
||||
case ValueID::LibwebPaletteSyntaxPreprocessorValue:
|
||||
case ValueID::LibwebPaletteSyntaxPunctuation:
|
||||
case ValueID::LibwebPaletteSyntaxString:
|
||||
case ValueID::LibwebPaletteSyntaxType:
|
||||
case ValueID::LibwebPaletteTextCursor:
|
||||
case ValueID::LibwebPaletteThreedHighlight:
|
||||
case ValueID::LibwebPaletteThreedShadow1:
|
||||
case ValueID::LibwebPaletteThreedShadow2:
|
||||
case ValueID::LibwebPaletteVisitedLink:
|
||||
case ValueID::LibwebPaletteWindow:
|
||||
case ValueID::LibwebPaletteWindowText:
|
||||
return IdentifierStyleValue::create(ident.value());
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue