mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 05:37:43 +00: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())
|
if (color.has_value())
|
||||||
return ColorStyleValue::create(color.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;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue