ladybird/Userland/Libraries/LibWeb/CSS
Andreas Kling bfd354492e LibWeb: Put most LibWeb GC objects in type-specific heap blocks
With this change, we now have ~1200 CellAllocators across both LibJS and
LibWeb in a normal WebContent instance.

This gives us a minimum heap size of 4.7 MiB in the scenario where we
only have one cell allocated per type. Of course, in practice there will
be many more of each type, so the effective overhead is quite a bit
smaller than that in practice.

I left a few types unconverted to this mechanism because I got tired of
doing this. :^)
2023-11-19 22:00:48 +01:00
..
Parser LibWeb: Remove now-unused CSS::PositionValue type and associated parsing 2023-11-07 22:00:24 +00:00
StyleValues LibWeb: Store ConicGradientStyleValue's position as PositionStyleValue 2023-11-07 22:00:24 +00: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
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: Make StyleValue::to_string() infallible 2023-08-22 17:51:48 +01: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
ColumnCount.h LibWeb: Implement support for parsing CSS column-count property 2023-09-07 20:16:33 +02:00
ComputedValues.h LibWeb: Rename "position" enum to "positioning" 2023-10-30 10:40:30 +00:00
CSS.cpp LibWeb: Make Serialize functions infallible 2023-08-22 17:51:48 +01: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 LibWeb: Port CSSConditionRule interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
CSSConditionRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSFontFaceRule.cpp LibWeb: Parse src: local(...) in CSS @font-face rules 2023-08-25 11:51:28 +02:00
CSSFontFaceRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSFontFaceRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +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: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSImportRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSImportRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSImportRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSKeyframeRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSKeyframeRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSKeyframeRule.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
CSSKeyframesRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSKeyframesRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSKeyframesRule.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
CSSMediaRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSMediaRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSNamespaceRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSNamespaceRule.idl LibWeb: Rough implementation of CSS namespace rule 2023-07-30 20:27:19 +01:00
CSSNumericType.cpp LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
CSSNumericType.h LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
CSSRule.cpp LibWeb/LibJS: Avoid GC visit of raw pointers where possible 2023-11-19 08:05:45 +00:00
CSSRule.h LibWeb: Rough implementation of CSS namespace rule 2023-07-30 20:27:19 +01:00
CSSRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSRuleList.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSRuleList.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleDeclaration.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleDeclaration.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSStyleRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
CSSStyleSheet.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleSheet.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSStyleSheet.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
CSSSupportsRule.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSSupportsRule.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CSSSupportsRule.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
Default.css LibWeb/HTMLInputElement: Improve appearance of color picker 2023-10-16 12:46:30 +01: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 LibWeb: Move Element.prototype.style to ElementCSSInlineStyle mixin 2023-03-20 20:37:40 -04:00
Enums.json LibWeb: Adapt parse_position() into parse_position_value() 2023-11-07 22:00:24 +00: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 LibWeb: Parse font-weight and font-style inside @font-face rules 2023-05-24 17:19:18 +02:00
FontFace.h LibWeb: Parse src: local(...) in CSS @font-face rules 2023-08-25 11:51:28 +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 LibWeb: Port GeneralEnclosed to new Strings 2023-02-19 00:51:16 +01:00
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: Store GridSize values as a Variant 2023-09-28 20:33:20 +01:00
GridTrackSize.h LibWeb: Store GridSize values as a Variant 2023-09-28 20:33:20 +01:00
Identifiers.json LibWeb: Implement mask-type CSS property 2023-10-09 07:28:18 +02:00
Length.cpp LibWeb: Change viewport ownership from BrowsingContext to Navigable 2023-09-16 16:53:32 +02:00
Length.h LibWeb: Add CSSPixels::nearest_value_for(FloatingPoint) 2023-08-26 23:53:45 +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 LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
MediaList.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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 FrameLoader 2023-09-20 18:29:17 +02:00
MediaQuery.h LibWeb: Make serializing media-queries infallible 2023-08-22 17:51:48 +01:00
MediaQueryList.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
MediaQueryList.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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
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 Length::resolved() overload for CSSPixels 2023-08-30 20:09:15 +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 'object-position' property and 'position' enum 2023-10-30 10:40:30 +00:00
PseudoClasses.json LibWeb: Implement the :open and :closed pseudo-classes 2023-09-13 19:55:22 +02:00
QuirksMode.css LibWeb: Flesh out the default "quirks mode" style sheet 2022-09-20 14:48:07 +02:00
Ratio.cpp LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
Ratio.h LibWeb: Use CSSPixelFraction to represent aspect ratios 2023-09-04 12:40:17 +02:00
Resolution.cpp LibWeb: Fix broken conversion of CSS <resolution> dpi/dpcm to dppx 2023-08-25 20:10:47 +02:00
Resolution.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
ResolvedCSSStyleDeclaration.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
ResolvedCSSStyleDeclaration.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
Screen.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
Screen.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
Screen.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
Selector.cpp LibWeb: Make serializing selectors infallible 2023-08-22 17:51:48 +01:00
Selector.h LibWeb: Make serializing selectors infallible 2023-08-22 17:51:48 +01:00
SelectorEngine.cpp LibWeb: Port all callers of Element::namespace to Element::namespace_uri 2023-11-06 11:37:08 +01:00
SelectorEngine.h LibWeb: Add namespaces to Universal and TagName selectors 2023-08-08 20:49:45 +01:00
Serialize.cpp LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
Serialize.h LibWeb: Make Serialize functions infallible 2023-08-22 17:51:48 +01:00
Size.cpp LibWeb: Add Length::resolved() overload for CSSPixels 2023-08-30 20:09:15 +02:00
Size.h LibWeb: Add Length::resolved() overload for CSSPixels 2023-08-30 20:09:15 +02:00
StyleComputer.cpp AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
StyleComputer.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
StyleProperties.cpp LibWeb: Add plumbing for the new 'object-position' property 2023-10-30 10:40:30 +00:00
StyleProperties.h LibWeb: Add plumbing for the new 'object-position' property 2023-10-30 10:40:30 +00: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: Port custom properties to FlyString 2023-11-07 11:33:41 +01:00
StyleSheet.cpp LibWeb: Respect media attribute of style tag 2022-11-14 14:47:37 +00:00
StyleSheet.h LibWeb: Port CSSStyleSheet interface from DeprecatedString to String 2023-09-05 20:36:09 -04:00
StyleSheet.idl LibWeb: Add comments and missing items of various IDL files 2023-10-25 19:45:41 +02:00
StyleSheetList.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
StyleSheetList.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01: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 Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
StyleValue.h LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
Supports.cpp LibWeb: Make serializing Supports rules infallible 2023-08-22 17:51:48 +01:00
Supports.h LibWeb: Make serializing Supports rules infallible 2023-08-22 17:51:48 +01: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: Make CSS Transformation struct a proper class 2023-10-15 07:14:39 +02:00
Transformation.h LibWeb: Make CSS Transformation struct a proper class 2023-10-15 07:14:39 +02:00
TransformFunctions.json LibWeb: Reformat inconsistent CSS JSON files 2023-08-02 12:49:46 +01:00
UnicodeRange.h LibWeb: Make serializing basic CSS types infallible 2023-08-22 17:51:48 +01:00
VisualViewport.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +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