ladybird/Userland/Libraries/LibWeb/CSS
Sam Atkins 7c91fda088 LibWeb: Allow multiple text-decoration-lines
The spec grammar for `text-decoration-line` is:

`none | [ underline || overline || line-through || blink ]`

Which means that it's either `none`, or any combination of the other
values. This patch makes that parse for `text-decoration-line` and
`text-decoration`, stores the results as a Vector, and adjusts
`paint_text_decoration()` to run as a loop over all the values that are
provided.

As noted, storing a Vector of values is a bit wasteful, as they could be
stored as flags in a single `u8`. But I was getting too confused trying
to do that in a nice way.
2022-04-14 21:54:10 +02:00
..
Parser LibWeb: Allow multiple text-decoration-lines 2022-04-14 21:54:10 +02:00
SyntaxHighlighter LibWeb: Move Token and Tokenizer into Parser namespace 2022-04-12 23:03:46 +02:00
.gitignore Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Angle.cpp LibWeb: Implement CSS Angle class 2022-02-24 08:04:25 +01:00
Angle.h LibWeb: Implement CSS Angle class 2022-02-24 08:04:25 +01:00
ComputedValues.h LibWeb: Allow multiple text-decoration-lines 2022-04-14 21:54:10 +02:00
CSSConditionRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSConditionRule.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSConditionRule.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSSFontFaceRule.cpp LibWeb: Implement initial CSSFontFaceRule and FontFace classes 2022-03-28 22:25:25 +02:00
CSSFontFaceRule.h LibWeb: Implement initial CSSFontFaceRule and FontFace classes 2022-03-28 22:25:25 +02:00
CSSFontFaceRule.idl LibWeb: Implement initial CSSFontFaceRule and FontFace classes 2022-03-28 22:25:25 +02:00
CSSGroupingRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSGroupingRule.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSGroupingRule.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSSImportRule.cpp LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
CSSImportRule.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CSSMediaRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSMediaRule.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSRule.h LibWeb: Support CSSRule.type 2022-04-11 21:10:08 +02:00
CSSRule.idl LibWeb: Support CSSRule.type 2022-04-11 21:10:08 +02:00
CSSRuleList.cpp LibWeb: Support CSSRule.type 2022-04-11 21:10:08 +02:00
CSSRuleList.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSRuleList.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSSStyleDeclaration.cpp LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
CSSStyleDeclaration.h LibWeb: Support CSSStyleDeclaration.getPropertyPriority() 2022-04-11 21:10:07 +02:00
CSSStyleDeclaration.idl LibWeb: Support CSSStyleDeclaration.getPropertyPriority() 2022-04-11 21:10:07 +02:00
CSSStyleRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSStyleRule.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CSSStyleRule.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSSStyleSheet.cpp LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
CSSStyleSheet.h LibWeb: Spec-comment parse_a_stylesheet() 2022-03-30 18:43:07 +02:00
CSSStyleSheet.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSSSupportsRule.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CSSSupportsRule.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
Default.css LibWeb: Use ThreedShadow1 palette color for input border in Default.css 2022-03-26 01:35:39 +00:00
Display.cpp LibWeb: Don't crash on unknown CSS display types, fall back to inline 2022-02-13 01:03:49 +01:00
Display.h LibWeb: Fix typo in CSS::Display::is_outside_and_inside() name 2022-04-13 16:40:46 +02:00
Enums.json LibWeb: Add a new code generator for CSS enums 2022-04-14 14:54:06 +02:00
FontFace.cpp LibWeb: Parse @font-face unicode-range descriptor 2022-04-07 21:20:14 +02:00
FontFace.h LibWeb: Understand the format() part of a @font-face's src 2022-04-07 21:20:14 +02:00
Frequency.cpp LibWeb: Implement CSS Frequency class 2022-02-24 08:04:25 +01:00
Frequency.h LibWeb: Implement CSS Frequency class 2022-02-24 08:04:25 +01:00
GeneralEnclosed.h LibWeb: Implement independent GeneralEnclosed class 2021-11-24 22:57:46 +01:00
Identifiers.json LibWeb: Add MEDIAQUERIES-5 identifiers 2022-03-16 22:07:53 +01:00
Length.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
Length.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LengthBox.h LibWeb: Stop including StyleValue.h in a few places 2022-04-14 14:54:06 +02:00
MediaFeatures.json LibWeb: Add missing MEDIAQUERIES-5 media-features 2022-03-16 22:07:53 +01:00
MediaList.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
MediaList.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
MediaList.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
MediaQuery.cpp LibGfx: Rename FontMetrics => FontPixelMetrics 2022-03-30 00:57:15 +02:00
MediaQuery.h LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
MediaQueryList.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
MediaQueryList.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
MediaQueryList.idl LibWeb: Replace ad-hoc EventHandler type with callback function typedef 2022-03-31 01:10:47 +02:00
MediaQueryListEvent.h LibWeb: Fire MediaQueryListEvents when an MQL's match-state changes 2021-10-05 18:51:39 +02:00
MediaQueryListEvent.idl LibWeb: Fire MediaQueryListEvents when an MQL's match-state changes 2021-10-05 18:51:39 +02:00
Number.h LibWeb: Break friendship between CSS Number and Tokenizer 2022-04-12 23:03:46 +02:00
Percentage.cpp LibWeb: Implement CSS Time class 2022-02-24 08:04:25 +01:00
Percentage.h LibWeb: Make resolved styles handle calculated length-percentages 2022-04-03 23:12:13 +02:00
PreferredColorScheme.cpp LibWeb: Add Web::CSS::PreferredColorScheme enum 2021-10-31 18:39:13 +01:00
PreferredColorScheme.h LibWeb: Add Web::CSS::PreferredColorScheme enum 2021-10-31 18:39:13 +01:00
Properties.json LibWeb: Use generated enum code for property value validation 2022-04-14 14:54:06 +02:00
QuirksMode.css Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Ratio.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Ratio.h LibWeb: Introduce and parse CSS Ratio type 2022-03-07 13:42:25 +01:00
Resolution.cpp LibWeb: Implement CSS Resolution class 2022-02-24 08:04:25 +01:00
Resolution.h LibWeb: Implement CSS Resolution class 2022-02-24 08:04:25 +01:00
ResolvedCSSStyleDeclaration.cpp LibWeb: Allow multiple text-decoration-lines 2022-04-14 21:54:10 +02:00
ResolvedCSSStyleDeclaration.h LibWeb: Implement CSSStyleDeclaration.{set,remove}Property close to spec 2022-04-11 21:10:07 +02:00
Screen.cpp LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
Screen.h LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
Screen.idl LibWeb: Implement the Screen interface 2021-04-04 00:37:54 +02:00
Selector.cpp LibWeb: Implement attribute selector case identifier 2022-03-29 18:53:20 +02:00
Selector.h LibWeb: Implement attribute selector case identifier 2022-03-29 18:53:20 +02:00
SelectorEngine.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SelectorEngine.h LibWeb: Match styles for pseudo-elements 2022-02-25 19:35:34 +01:00
Serialize.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Serialize.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
StyleComputer.cpp LibWeb: Make StyleProperties::property() always return a value 2022-04-14 14:54:06 +02:00
StyleComputer.h LibWeb: Move ComponentValue to CSS::Parser namespace 2022-04-12 23:03:46 +02:00
StyleProperties.cpp LibWeb: Allow multiple text-decoration-lines 2022-04-14 21:54:10 +02:00
StyleProperties.h LibWeb: Allow multiple text-decoration-lines 2022-04-14 21:54:10 +02:00
StyleSheet.cpp LibWeb: Make StyleSheet::m_parent_style_sheet a WeakPtr 2021-12-06 19:22:16 +01:00
StyleSheet.h LibWeb: Add the StyleSheet.href attribute 2022-03-09 19:56:08 +01:00
StyleSheet.idl LibWeb: Add the StyleSheet.href attribute 2022-03-09 19:56:08 +01:00
StyleSheetList.cpp LibWeb: Load fonts from style sheet once when sheet is added 2022-04-08 21:27:35 +02:00
StyleSheetList.h LibWeb: Remove unused StyleSheetList::m_generation 2022-03-29 16:35:46 +02:00
StyleSheetList.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
StyleValue.cpp LibWeb: Bring BorderRadiusStyleValue::to_string() closer to spec 2022-04-04 00:03:15 +02:00
StyleValue.h LibWeb: Generate and use to_string(css_enum) functions 2022-04-14 14:54:06 +02:00
Supports.cpp LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
Supports.h LibWeb: Move CSS Parser into new Web::CSS::Parser namespace 2022-04-12 23:03:46 +02:00
Time.cpp LibWeb: Implement CSS Time class 2022-02-24 08:04:25 +01:00
Time.h LibWeb: Implement CSS Time class 2022-02-24 08:04:25 +01:00
UnicodeRange.h LibWeb: Add CSS::UnicodeRange class 2022-04-07 21:20:14 +02:00