1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 18:28:10 +00:00
serenity/Userland/Libraries/LibWeb/CSS
Andreas Kling 429b2e5860 LibWeb: Make FontCache per-StyleComputer
This effectively makes it per-Document, but we hang it off of
StyleComputer since that's what it's used for.

The purpose of this is to prevent downloaded fonts from escaping the
context that loaded them. There's probably a more elegant solution where
we still share caching of system fonts, but let's start here.
2023-08-17 20:32:21 +02:00
..
Parser LibWeb: Move CSS ParsingContext to its own header 2023-08-17 19:39:10 +02:00
StyleValues LibWeb: Allow any valid <color> in CSS gradients 2023-08-16 14:51:12 +02:00
SyntaxHighlighter LibGfx+Userland: Make TextAttributes::underline_style optional 2023-03-15 14:55:49 +01:00
Angle.cpp LibWeb: Implement CSS sin() 2023-06-15 16:54:14 +01:00
Angle.h LibWeb: Implement CSS sin() 2023-06-15 16:54:14 +01:00
BackdropFilter.h LibWeb: Split FilterValueListStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
CalculatedOr.cpp LibWeb: Allow calc() values in image sizes attribute 2023-07-29 11:58:51 +02:00
CalculatedOr.h LibWeb: Allow calc() values in image sizes attribute 2023-07-29 11:58:51 +02:00
Clip.cpp LibWeb: Move CSS::EdgeRect into its own files 2023-03-30 21:29:50 +02:00
Clip.h LibWeb: Move CSS::EdgeRect into its own files 2023-03-30 21:29:50 +02:00
ComputedValues.h LibWeb: Add table-layout CSS property 2023-08-09 08:33:02 +01:00
CSS.cpp LibWeb: Make property_id_from_string() return Optional 2023-05-25 06:36:10 +02:00
CSS.h LibWeb: Port the CSS namespace to IDL 2023-03-15 12:48:25 -04:00
CSS.idl LibWeb: Port the CSS namespace to IDL 2023-03-15 12:48:25 -04:00
CSSConditionRule.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CSSConditionRule.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CSSConditionRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSFontFaceRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSFontFaceRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSFontFaceRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSGroupingRule.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CSSGroupingRule.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CSSGroupingRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSImportRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSImportRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSImportRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSKeyframeRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSKeyframeRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSKeyframeRule.idl LibWeb: Generate JavaScript bindings for CSSKeyframeRule 2023-06-21 12:26:22 +02:00
CSSKeyframesRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSKeyframesRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSKeyframesRule.idl LibWeb: Generate JavaScript bindings for CSSKeyframesRule 2023-06-21 12:26:22 +02:00
CSSMediaRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSMediaRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSMediaRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSNamespaceRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSNamespaceRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSNamespaceRule.idl LibWeb: Rough implementation of CSS namespace rule 2023-07-30 20:27:19 +01:00
CSSNumericType.cpp LibWeb: Add CSSNumericType::matches_dimension() 2023-07-15 10:23:33 +02:00
CSSNumericType.h LibWeb: Add CSSNumericType::matches_dimension() 2023-07-15 10:23:33 +02:00
CSSRule.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
CSSRule.h LibWeb: Rough implementation of CSS namespace rule 2023-07-30 20:27:19 +01:00
CSSRule.idl LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSRuleList.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSRuleList.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSRuleList.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSStyleDeclaration.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleDeclaration.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleDeclaration.idl LibIDL: Also parse extended attributes after 'optional' 2023-03-05 21:59:16 +00:00
CSSStyleRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
CSSStyleSheet.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleSheet.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSStyleSheet.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
CSSSupportsRule.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSSupportsRule.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CSSSupportsRule.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
Default.css LibWeb: Make table headings centered by default 2023-07-24 02:28:21 +02:00
Display.cpp LibWeb: Port CSS::Display to new Strings 2023-02-15 12:48:26 -05:00
Display.h LibWeb: Support multi-keyword syntax for CSS display property 2023-05-02 20:27:28 +02:00
EasingFunctions.json Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions 2023-07-13 05:10:41 +02:00
EdgeRect.cpp LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +02:00
EdgeRect.h LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
ElementCSSInlineStyle.idl LibWeb: Move Element.prototype.style to ElementCSSInlineStyle mixin 2023-03-20 20:37:40 -04:00
Enums.json LibWeb: Add table-layout CSS property 2023-08-09 08:33:02 +01:00
FontFace.cpp LibWeb: Parse font-weight and font-style inside @font-face rules 2023-05-24 17:19:18 +02:00
FontFace.h LibWeb: Parse font-weight and font-style inside @font-face rules 2023-05-24 17:19:18 +02:00
Frequency.cpp LibWeb: Change calc node representation from float to double 2023-05-31 10:56:32 +02:00
Frequency.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
GeneralEnclosed.h LibWeb: Port GeneralEnclosed to new Strings 2023-02-19 00:51:16 +01:00
GridTrackPlacement.cpp LibWeb: Use String class in certain CSS Grid classes 2023-01-21 14:35:00 +01:00
GridTrackPlacement.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
GridTrackSize.cpp LibWeb: Use none as initial value for grid-template-column/rows 2023-06-07 14:13:07 +02:00
GridTrackSize.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Identifiers.json LibWeb: Add 'object-fit' property 2023-08-02 11:35:57 +01:00
Length.cpp LibWeb: Remove 3 decimal places rounding hack in Length::percentage_of 2023-08-11 11:00:27 +01:00
Length.h LibWeb: Add a way to resolve calc() values without a layout node 2023-06-02 20:03:28 +02:00
LengthBox.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
LengthBox.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LinkStyle.idl LibWeb: Extract the LinkStyle IDL mixin 2022-07-29 17:15:49 +01:00
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 LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaList.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaList.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
MediaQuery.cpp LibWeb: Don't include CSS/StyleComputer.h from Element.h and Document.h 2023-05-08 09:29:44 +02:00
MediaQuery.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
MediaQueryList.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaQueryList.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaQueryList.idl LibWeb: Replace ad-hoc EventHandler type with callback function typedef 2022-03-31 01:10:47 +02:00
MediaQueryListEvent.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaQueryListEvent.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
MediaQueryListEvent.idl LibWeb: Port MediaQueryListEvent to new String 2023-03-05 18:25:59 +00:00
Number.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
Percentage.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
PercentageOr.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
PercentageOr.h LibWeb: Make PercentageOr<T> equality comparison work for calc() values 2023-05-13 07:38:08 +02:00
Position.cpp LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
Position.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
PreferredColorScheme.cpp Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case 2023-03-10 13:15:44 +01:00
PreferredColorScheme.h LibWeb: Use StringView in CSS::PreferredColorScheme 2023-02-15 12:48:26 -05:00
Properties.json LibWeb: Add table-layout CSS property 2023-08-09 08:33:02 +01:00
PseudoClasses.json LibWeb: Make :host() take a <compound-selector> 2023-08-12 16:26:32 +02:00
QuirksMode.css LibWeb: Flesh out the default "quirks mode" style sheet 2022-09-20 14:48:07 +02:00
Ratio.cpp LibWeb+WebContent: Use new String class in CSS::StyleValue 2023-01-09 11:09:31 +01:00
Ratio.h LibWeb: Add RatioStyleValue and parsing 2023-06-09 20:37:51 +02:00
Resolution.cpp LibWeb: Serialize Resolution according to spec 2023-05-31 05:56:25 +02:00
Resolution.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
ResolvedCSSStyleDeclaration.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
ResolvedCSSStyleDeclaration.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Screen.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Screen.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Screen.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
Selector.cpp LibWeb: Add hack for :host in pseudo-class serialization 2023-08-12 16:26:32 +02:00
Selector.h LibWeb: Use generated PseudoClass data 2023-08-12 16:26:32 +02:00
SelectorEngine.cpp LibWeb: Support multiple values in :lang() selector 2023-08-16 18:05:26 +02:00
SelectorEngine.h LibWeb: Add namespaces to Universal and TagName selectors 2023-08-08 20:49:45 +01:00
Serialize.cpp LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors 2023-02-15 12:48:26 -05:00
Serialize.h LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors 2023-02-15 12:48:26 -05:00
Size.cpp LibWeb: Add fit-content as a valid size value for CSS width 2023-05-27 05:47:54 +02:00
Size.h LibWeb: Add fit-content as a valid size value for CSS width 2023-05-27 05:47:54 +02:00
StyleComputer.cpp LibWeb: Make FontCache per-StyleComputer 2023-08-17 20:32:21 +02:00
StyleComputer.h LibWeb: Make FontCache per-StyleComputer 2023-08-17 20:32:21 +02:00
StyleProperties.cpp LibWeb: Add table-layout CSS property 2023-08-09 08:33:02 +01:00
StyleProperties.h LibWeb: Add table-layout CSS property 2023-08-09 08:33:02 +01:00
StyleProperty.cpp LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
StyleProperty.h LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
StyleSheet.cpp LibWeb: Respect media attribute of style tag 2022-11-14 14:47:37 +00:00
StyleSheet.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
StyleSheet.idl LibWeb: Respect media attribute of style tag 2022-11-14 14:47:37 +00:00
StyleSheetList.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
StyleSheetList.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
StyleSheetList.idl LibWeb: Remove the NoInstanceWrapper extended IDL attribute 2022-09-06 00:27:09 +02:00
StyleValue.cpp LibWeb: Move font stretch width calc from StyleComputer to StyleValue 2023-08-09 05:48:32 +02:00
StyleValue.h LibWeb: Move font stretch width calc from StyleComputer to StyleValue 2023-08-09 05:48:32 +02:00
Supports.cpp LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
Supports.h LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
Time.cpp LibWeb: Change calc node representation from float to double 2023-05-31 10:56:32 +02:00
Time.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
TransformFunctions.json LibWeb: Reformat inconsistent CSS JSON files 2023-08-02 12:49:46 +01:00
UnicodeRange.h LibWeb: Port CSS::UnicodeRange to new Strings 2023-02-15 12:48:26 -05:00
VisualViewport.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
VisualViewport.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
VisualViewport.idl LibWeb: Implement basic version of CSSOM View's VisualViewport 2023-08-06 16:29:24 +02:00