1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 19:35:08 +00:00
serenity/Libraries/LibHTML/CSS
Andreas Kling 735f02900b LibHTML: Implement basic partial style invalidation
This patch makes it possible to call Node::invalidate_style() and have
that node and all of its ancestors recompute their style.

We then figure out if the new style is visually different from the old
style, and if so do a paint invalidation with set_needs_display().
Note that the "are they visually different" code is very incomplete!

Use this to make hover effects a lot more efficient. They no longer
cause a full relayout+repaint, but only a style invalidation.
Style invalidations are still quite heavy though, and there's a lot of
room for improvement there. :^)
2019-10-14 18:33:23 +02:00
..
.gitignore Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
Default.css LibHTML: Implement basic :hover pseudo-class support 2019-10-14 17:55:04 +02:00
Length.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
LengthBox.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
PropertyID.h LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00
Selector.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
Selector.h LibHTML: Parse the :link and :hover CSS pseudo-classes 2019-10-14 17:31:52 +02:00
SelectorEngine.cpp LibHTML: Implement basic :hover pseudo-class support 2019-10-14 17:55:04 +02:00
SelectorEngine.h LibHTML: Move selector matching into a SelectorEngine namespace 2019-10-08 15:35:05 +02:00
Specificity.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
StyleDeclaration.cpp LibHTML: Fix incorrect CSS object model 2019-09-30 20:06:17 +02:00
StyleDeclaration.h LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00
StyleProperties.cpp LibHTML: Implement basic partial style invalidation 2019-10-14 18:33:23 +02:00
StyleProperties.h LibHTML: Implement basic partial style invalidation 2019-10-14 18:33:23 +02:00
StyleResolver.cpp LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00
StyleResolver.h LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00
StyleRule.cpp LibHTML: Fix incorrect CSS object model 2019-09-30 20:06:17 +02:00
StyleRule.h LibHTML: Fix incorrect CSS object model 2019-09-30 20:06:17 +02:00
StyleSheet.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
StyleSheet.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
StyleValue.cpp LibHTML: Respect the link color set via <body link> 2019-10-06 10:25:08 +02:00
StyleValue.h LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00