1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 10:01:13 +09:00
ladybird/Userland/Libraries/LibWeb/CSS
Aliaksandr Kalenik 67d68eac64 LibWeb: Save "background-clip: text" mask as a nested display list
Before this change, "background-clip: text" was implemented by saving a
Vector<Gfx::Path> of all glyphs needed to paint a mask for the
background. The issue with this approach was that once glyphs were
extracted into vector paths, the glyph rasterization cache could no
longer be utilized.

With this change, all text required for mask painting is saved in a
nested display list and rasterized as a regular text.
2024-07-25 14:33:33 +02:00
..
Parser LibWeb: Implement grid-template function fit-content() 2024-07-25 13:12:26 +02:00
StyleValues LibWeb: Save "background-clip: text" mask as a nested display list 2024-07-25 14:33:33 +02:00
SyntaxHighlighter LibSyntax+Userland: Make LibSyntax not depend on LibGUI 2023-08-29 07:57:39 -04:00
Angle.cpp AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
Angle.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
AnimationEvent.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
AnimationEvent.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
AnimationEvent.idl LibWeb: Add the AnimationEvent IDL objects 2024-02-16 12:02:11 -07:00
BackdropFilter.h
CalculatedOr.cpp LibWeb: Add method for converting a FooOrCalculated to a StyleValue 2023-12-30 20:11:24 +01:00
CalculatedOr.h LibWeb: Add method for converting a FooOrCalculated to a StyleValue 2023-12-30 20:11:24 +01:00
Clip.cpp
Clip.h
ColumnCount.h LibWeb: Implement support for parsing CSS column-count property 2023-09-07 20:16:33 +02:00
ComputedValues.h LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
CSS.cpp LibWeb: Make Serialize functions infallible 2023-08-22 17:51:48 +01:00
CSS.h
CSS.idl
CSSAnimation.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
CSSAnimation.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
CSSAnimation.idl LibWeb: Add the CSSAnimation IDL object 2024-02-16 12:02:11 -07:00
CSSConditionRule.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
CSSConditionRule.h LibWeb: Make CSSConditionRule.conditionText read-only 2024-02-28 22:14:58 +01:00
CSSConditionRule.idl LibWeb: Make CSSConditionRule.conditionText read-only 2024-02-28 22:14:58 +01:00
CSSFontFaceRule.cpp LibWeb: Rename CSS::FontFace to CSS::ParsedFontFace 2024-05-08 10:39:16 +02:00
CSSFontFaceRule.h LibWeb: Rename CSS::FontFace to CSS::ParsedFontFace 2024-05-08 10:39:16 +02:00
CSSFontFaceRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSGroupingRule.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
CSSGroupingRule.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CSSGroupingRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSImportRule.cpp AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
CSSImportRule.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
CSSImportRule.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
CSSKeyframeRule.cpp LibWeb: Implement CSSStyleDeclaration.parentRule 2024-06-14 20:45:37 +02:00
CSSKeyframeRule.h LibWeb: Implement CSSKeyframesRule.cssRuleList 2024-06-14 20:45:37 +02:00
CSSKeyframeRule.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
CSSKeyframesRule.cpp LibWeb: Make CSSKeyframeRule.parentRule actually point to parent rule 2024-06-14 20:45:37 +02:00
CSSKeyframesRule.h LibWeb: Make CSSKeyframeRule.parentRule actually point to parent rule 2024-06-14 20:45:37 +02:00
CSSKeyframesRule.idl LibWeb: Implement CSSKeyframesRule.cssRuleList 2024-06-14 20:45:37 +02:00
CSSMediaRule.cpp LibWeb: Serialize empty media rules with a single newline 2024-05-01 07:21:21 +02:00
CSSMediaRule.h LibWeb: Make CSSConditionRule.conditionText read-only 2024-02-28 22:14:58 +01:00
CSSMediaRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSNamespaceRule.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
CSSNamespaceRule.h LibWeb: Port CSSNamespaceRule to FlyString 2023-12-01 16:03:58 +01:00
CSSNamespaceRule.idl LibWeb: Format all .idl files to use four space indentation 2024-01-18 14:00:06 +01:00
CSSNumericType.cpp Meta: Add basic-shape as a CSS property value type 2024-05-26 07:55:50 +02:00
CSSNumericType.h LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
CSSRule.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
CSSRule.h LibWeb: Return String from CSSStyleRule::selector_text() 2023-12-01 20:48:13 +01:00
CSSRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSRuleList.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
CSSRuleList.h LibWeb: Ensure CSSStyleSheet::css_rules() always returns the same object 2024-02-24 21:59:28 +01:00
CSSRuleList.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSStyleDeclaration.cpp LibWeb: Implement CSSStyleDeclaration.parentRule 2024-06-14 20:45:37 +02:00
CSSStyleDeclaration.h LibWeb: Implement CSSStyleDeclaration.parentRule 2024-06-14 20:45:37 +02:00
CSSStyleDeclaration.idl LibWeb: Remove unnecessary FIXME marker for CSSStyleDeclaration.cssFloat 2024-06-14 20:45:37 +02:00
CSSStyleRule.cpp LibWeb: Implement CSSStyleDeclaration.parentRule 2024-06-14 20:45:37 +02:00
CSSStyleRule.h LibWeb: Make CSSStyleRule::declaration() return a more specific type 2024-03-19 16:48:22 +01:00
CSSStyleRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSStyleSheet.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
CSSStyleSheet.h LibJS: Make JS::Cell a Weakable 2024-05-04 21:42:59 +02:00
CSSStyleSheet.idl LibWeb: Remove first rule if no argument is given for remove_rule() 2024-02-24 21:59:28 +01:00
CSSSupportsRule.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
CSSSupportsRule.h LibWeb: Make CSSConditionRule.conditionText read-only 2024-02-28 22:14:58 +01:00
CSSSupportsRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSTransition.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
CSSTransition.h LibWeb: Remove TimingFunction in favor of EasingStyleValue::Function 2024-06-16 07:12:46 +02:00
CSSTransition.idl LibWeb: Add the CSSTransition IDL object 2024-03-29 21:58:12 +01:00
Default.css LibWeb: Make details and summary elements display:block in the UA style 2024-07-20 13:09:28 +02:00
Display.cpp LibWeb: Move <display-foo> definitions into Enums.json 2023-09-11 17:03:22 +01:00
Display.h LibWeb: Add display: math 2023-09-11 17:03:22 +01:00
EasingFunctions.json Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions 2023-07-13 05:10:41 +02:00
EdgeRect.cpp LibWeb: Don't convert to floating point in CSS::EdgeRect 2023-09-01 09:40:14 +02:00
EdgeRect.h LibWeb: Don't convert to floating point in CSS::EdgeRect 2023-09-01 09:40:14 +02:00
ElementCSSInlineStyle.idl
Enums.json LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
Flex.cpp LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
Flex.h LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
FontFace.cpp LibGfx+LibWeb: Remove typeface classes for WOFF fonts 2024-07-22 15:05:04 +02:00
FontFace.h LibGfx+LibWeb: Rename Gfx::VectorFont to Gfx::Typeface 2024-06-30 13:09:23 +02:00
FontFace.idl LibWeb: Support loading FontFaces constructed with binary data 2024-05-14 12:31:10 -06:00
FontFaceSet.cpp LibWeb/CSS: Implement FontFaceSet.onloadingerror 2024-06-07 19:30:35 +02:00
FontFaceSet.h LibWeb/CSS: Implement FontFaceSet.onloadingerror 2024-06-07 19:30:35 +02:00
FontFaceSet.idl LibWeb/CSS: Implement FontFaceSet.onloadingerror 2024-06-07 19:30:35 +02:00
Frequency.cpp LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
Frequency.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
GeneralEnclosed.h
GridTrackPlacement.cpp LibWeb: Define if identifier represent area or line during layout [GFC] 2023-08-28 09:19:41 +02:00
GridTrackPlacement.h LibWeb: Define if identifier represent area or line during layout [GFC] 2023-08-28 09:19:41 +02:00
GridTrackSize.cpp LibWeb: Implement grid-template function fit-content() 2024-07-25 13:12:26 +02:00
GridTrackSize.h LibWeb: Implement grid-template function fit-content() 2024-07-25 13:12:26 +02:00
Identifiers.json LibWeb: Handle inline-start and inline-end as float values 2024-07-10 17:41:18 +02:00
Length.cpp LibGfx: Remove Bitmap::glyph_spacing() 2024-06-04 18:45:30 +02:00
Length.h LibWeb: Let Length::to_px(Layout::Node) be inline for absolute lengths 2024-03-02 13:00:09 +01:00
LengthBox.cpp
LengthBox.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LinkStyle.idl
MathFunctions.json LibWeb: Generate parsing code for CSS math functions 2023-07-15 10:23:33 +02:00
MediaFeatures.json LibWeb: Reformat inconsistent CSS JSON files 2023-08-02 12:49:46 +01:00
MediaList.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
MediaList.h LibWeb: Add CSSStyleSheet constructor binding 2024-02-24 21:59:28 +01:00
MediaList.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
MediaQuery.cpp LibWeb: Remove is_media_feature_name function 2024-06-22 14:57:47 +02:00
MediaQuery.h LibWeb: Remove is_media_feature_name function 2024-06-22 14:57:47 +02:00
MediaQueryList.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
MediaQueryList.h LibWeb: Use String for getting/setting MediaQueryList media 2023-12-01 20:48:13 +01:00
MediaQueryList.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
MediaQueryListEvent.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
MediaQueryListEvent.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
MediaQueryListEvent.idl LibWeb: Switch IDL from UseNewAKString to UseDeprecatedAKString 2023-09-02 19:23:41 +01:00
Number.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
ParsedFontFace.cpp LibWeb: Rename CSS::FontFace to CSS::ParsedFontFace 2024-05-08 10:39:16 +02:00
ParsedFontFace.h LibWeb: Rename CSS::FontFace to CSS::ParsedFontFace 2024-05-08 10:39:16 +02:00
Percentage.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
PercentageOr.cpp LibWeb: Add Length::resolved() overload for CSSPixels 2023-08-30 20:09:15 +02:00
PercentageOr.h LibWeb: Add PercentageOr<Length>::to_px() fast path for absolute lengths 2024-03-02 13:00:09 +01:00
PreferredColorScheme.cpp
PreferredColorScheme.h
PreferredContrast.cpp LibWeb: Add Contrast preference 2024-06-13 11:18:38 +02:00
PreferredContrast.h LibWeb: Add Contrast preference 2024-06-13 11:18:38 +02:00
PreferredMotion.cpp LibWeb: Add motion preference 2024-06-18 10:31:54 -04:00
PreferredMotion.h LibWeb: Add motion preference 2024-06-18 10:31:54 -04:00
Properties.json LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
PseudoClasses.json LibWeb: Implement the :has() pseudo-class 2024-07-15 11:52:03 +01:00
QuirksMode.css
Ratio.cpp LibWeb: Limit ratio parts to 5 decimal places when printing 2024-03-03 19:50:25 +01:00
Ratio.h LibWeb: Use CSSPixelFraction to represent aspect ratios 2023-09-04 12:40:17 +02:00
Resolution.cpp LibWeb: Make resolution calculable 2023-12-30 20:11:24 +01:00
Resolution.h LibWeb: Make resolution calculable 2023-12-30 20:11:24 +01:00
ResolvedCSSStyleDeclaration.cpp LibWeb: Add support for -webkit-text-fill-color 2024-07-10 10:25:04 -06:00
ResolvedCSSStyleDeclaration.h LibWeb: Move use pseudo element styles from TreeBuilder to StyleComputer 2023-12-17 23:12:34 +01:00
Screen.cpp LibWeb: Stub out Window-Management proposal extensions to Screen API 2024-05-27 17:24:51 -06:00
Screen.h LibWeb: Stub out Window-Management proposal extensions to Screen API 2024-05-27 17:24:51 -06:00
Screen.idl LibWeb: Stub out Window-Management proposal extensions to Screen API 2024-05-27 17:24:51 -06:00
ScreenOrientation.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
ScreenOrientation.h LibWeb: Add stubs for the Screen Orientation API 2024-04-03 10:09:58 +01:00
ScreenOrientation.idl LibWeb: Add stubs for the Screen Orientation API 2024-04-03 10:09:58 +01:00
Selector.cpp LibWeb: Implement the :has() pseudo-class 2024-07-15 11:52:03 +01:00
Selector.h LibWeb: Use an ancestor filter to quickly reject many CSS selectors 2024-03-22 18:27:32 +01:00
SelectorEngine.cpp LibWeb: Implement :host and :host(<compound-selector>) selector matching 2024-07-23 18:03:46 +02:00
SelectorEngine.h LibWeb: Implement :host and :host(<compound-selector>) selector matching 2024-07-23 18:03:46 +02:00
Serialize.cpp LibWeb: Limit color alpha values to 4 decimal places when serializing 2024-03-03 19:50:25 +01:00
Serialize.h LibWeb+LibGfx: Move UnicodeRange from LibWeb to LibGfx 2023-12-10 17:32:04 +01:00
Size.cpp LibWeb: Forbid using CSS::Length as reference value in resolved() 2024-01-07 09:03:57 +01:00
Size.h LibWeb: Forbid using CSS::Length as reference value in resolved() 2024-01-07 09:03:57 +01:00
StyleComputer.cpp LibWeb: Implement :host and :host(<compound-selector>) selector matching 2024-07-23 18:03:46 +02:00
StyleComputer.h LibGfx+LibWeb: Rename Gfx::VectorFont to Gfx::Typeface 2024-06-30 13:09:23 +02:00
StyleInvalidation.cpp LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
StyleInvalidation.h LibWeb: Add fast path to calculate invalidations for animated css props 2024-03-19 17:30:34 +01:00
StyleProperties.cpp LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
StyleProperties.h LibWeb: Support content-visibility css 2024-07-19 09:04:30 +01:00
StyleProperty.cpp
StyleProperty.h LibWeb: Port custom properties to FlyString 2023-11-07 11:33:41 +01:00
StyleSheet.cpp LibWeb: Align StyleSheet title getter with the specification 2024-04-29 08:10:38 +02:00
StyleSheet.h LibWeb: Align StyleSheet title getter with the specification 2024-04-29 08:10:38 +02:00
StyleSheet.idl LibWeb: Align StyleSheet title getter with the specification 2024-04-29 08:10:38 +02:00
StyleSheetList.cpp LibWeb: Verify something was removed in StyleSheetList::remove_sheet() 2024-07-23 11:12:18 +02:00
StyleSheetList.h LibWeb: Don't redundantly re-sort StyleSheetList on sheet removal 2024-04-21 19:32:49 +02:00
StyleSheetList.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
StyleValue.cpp LibWeb: Implement support for scrollbar-gutter 2024-07-04 13:22:40 +02:00
StyleValue.h LibWeb: Implement support for scrollbar-gutter 2024-07-04 13:22:40 +02:00
Supports.cpp LibWeb: Don't leak entire realm after parsing CSS @supports rule 2024-04-05 08:14:19 +02:00
Supports.h LibWeb: Don't leak entire realm after parsing CSS @supports rule 2024-04-05 08:14:19 +02:00
SystemColor.cpp LibWeb: Implement <system-color> and <deprecated-color> keywords 2023-08-25 20:30:20 +01:00
SystemColor.h LibWeb: Implement <system-color> and <deprecated-color> keywords 2023-08-25 20:30:20 +01:00
Time.cpp LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
Time.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
Transformation.cpp LibWeb/CSS: Ensure length is absolute before converting to pixels 2024-02-21 19:38:17 +01:00
Transformation.h LibWeb: Allow percentages on CSS transform scale functions 2024-01-10 09:48:25 +01:00
TransformFunctions.json LibWeb: Add missing CSS Transforms Module Level 2 functions 2024-01-10 09:48:25 +01:00
VisualViewport.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
VisualViewport.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
VisualViewport.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00