ladybird/Tests/LibWeb/Text/input/css
Sam Atkins 7daf5cdaff LibWeb: Invalidate layout if pseudo-element style changes
Pseudo-elements' style is only computed while building the layout tree.
This meant that previously, they would not have their style recomputed
in some cases. (Such as when :hover is applied to an ancestor.)

Now, when recomputing an element's style, we also return a full
invalidation if one or more pseudo-elements would exist either before or
after style recomputation.

This heuristic produces some false positives, but no false negatives.
Because pseudo-elements' style is computed during layout building, any
computation done here is then thrown away. So this approach minimises
the amount of wasted style computation. Plus it's simple, until we have
data on what approach would be faster.

This fixes the Acid2 nose becoming blue when the .nose div is hovered.
2024-07-30 09:45:45 +02:00
..
animating-transform-with-calc-crash.html LibWeb: Use LengthPercentage for calc values in Transformation matrix 2024-05-25 22:19:47 +02:00
animating-unresolved-properties-crash.html LibWeb: Add tests for animating unresolved properties 2024-03-20 09:17:33 +01:00
attr-serialization.html LibWeb: Stop adding extra whitespace when serializing CSS Functions 2023-09-20 18:29:37 +02:00
box-shadow-resolves-length-functions.html LibWeb: Support calc(...) in box-shadow's values of type Length 2023-06-25 10:27:08 +01:00
changing-animation-name-crash.html LibWeb: Add a test for changing animation-name 2024-03-02 19:58:12 +01:00
constructed-style-sheets.html LibWeb: Evaluate media rules for adopted style sheets 2024-04-29 08:10:38 +02:00
css-hsl-with-calc.html LibWeb/CSS: Resolve NumericCalculationNode to percentage when requested 2024-01-11 08:01:47 +01:00
CSSConditionRule-conditionText-readonly.html LibWeb: Fix typo on CSSConditionRule test 2024-02-29 09:01:04 +01:00
cssFloat-property.html LibWeb: Remove unnecessary FIXME marker for CSSStyleDeclaration.cssFloat 2024-06-14 20:45:37 +02:00
CSSStyleRule-set-selectorText.html LibWeb: Invalidate style when CSSStyleRule selectorText changes 2024-04-15 22:12:49 +02:00
CSSStyleSheet-addRule.html LibWeb: Implement CSSStyleSheet.addRule() 2024-02-24 21:59:28 +01:00
CSSStyleSheet-constructor.html LibWeb: Align StyleSheet title getter with the specification 2024-04-29 08:10:38 +02:00
CSSStyleSheet-removeRule.html LibWeb: Remove first rule if no argument is given for remove_rule() 2024-02-24 21:59:28 +01:00
CSSStyleSheet-replace.html LibWeb: Implement CSSStyleSheet.replace() 2024-02-24 21:59:28 +01:00
CSSStyleSheet-replaceSync.html LibWeb: Implement CSSStyleSheet.replaceSync() 2024-02-24 21:59:28 +01:00
custom-ident-parsing.html LibWeb/CSS: Parse custom-idents more consistently 2024-07-27 14:45:33 +02:00
dir-pseudo-on-form-associated-element.html LibWeb: Cast to the correct type in Element::auto_directionality() 2024-05-28 09:51:07 +02:00
element-opacity-change-invalidation.html LibWeb: Don't assume opacity values are CSS numbers 2023-07-31 09:16:18 +02:00
font-face-src-local-serialization.html LibWeb: Parse src: local(...) in CSS @font-face rules 2023-08-25 11:51:28 +02:00
font-family-with-dash-prefix.html LibWeb: Allow font-family names to start with - 2023-07-06 14:30:06 +02:00
FontFace-binary-data.html LibWeb: Support loading FontFaces constructed with binary data 2024-05-14 12:31:10 -06:00
FontFace-load-urls.html LibWeb: Implement FontFace.load() for url() based font sources 2024-05-16 08:02:43 +02:00
FontFace.html LibWeb: Implement or stub FontFace interface's attribute getters/setters 2024-05-11 07:30:29 +01:00
FontFaceSet-setlike.html LibWeb: Mark FontFaceSet as a setlike IDL interface 2024-05-23 10:57:34 +02:00
getComputedStyle-display-short-serialization.html LibWeb: Make resolved serialization of CSS display prefer short form 2023-05-27 16:43:35 +02:00
getComputedStyle-print-all.html LibWeb: Add a test for getComputedStyle() 2023-09-29 20:20:55 +02:00
getComputedStyle-relative-property-values.html LibWeb: Calculate width property resolved value correctly 2024-05-28 08:08:31 +02:00
getComputedStyle-transform.html LibWeb: Add missing CSS Transforms Module Level 2 functions 2024-01-10 09:48:25 +01:00
insert-import-rule-into-constructed-stylesheet.html LibWeb: Disallow inserting @import rules into a constructed stylesheet 2024-02-24 21:59:28 +01:00
keyframes-css-rules.html LibWeb: Make CSSKeyframeRule.parentRule actually point to parent rule 2024-06-14 20:45:37 +02:00
legacy-color-value.html Tests/LibWeb: Add some text tests for 'parsing a legacy color value' 2023-06-05 06:54:33 +02:00
math-depth.html LibWeb: Implement the math-depth CSS property 2023-09-11 17:03:22 +01:00
media-query-serialization-basic.html LibWeb: Fix broken conversion of CSS <resolution> dpi/dpcm to dppx 2023-08-25 20:10:47 +02:00
move-loaded-link-stylesheet-between-documents.html LibWeb: Allow moving StyleSheets between documents without falling apart 2024-04-22 06:43:05 +02:00
PropertyOwningCSSStyleDeclaration-serialized-custom-properties.html LibWeb: Serialize custom properties in CSSStyleDeclaration::serialized() 2023-06-09 11:17:44 +01:00
replace-calc-function-with-same-kind-but-fewer-arguments.html LibWeb: Fix vector OOB access when comparing some calc() values 2024-01-27 17:06:43 +01:00
sending-animationcancel-event-crash.html LibWeb: Save time for animationcancel event before transitioning to idle 2024-05-24 07:25:10 +02:00
string-serializes-with-quotes.html LibWeb: Serialize StringStyleValue with quotes 2023-09-12 14:29:21 +01:00
style-declaration-parent-rule.html LibWeb: Implement CSSStyleDeclaration.parentRule 2024-06-14 20:45:37 +02:00
style-sheet-with-byte-order-mark.css LibWeb: Decode linked style sheets before parsing them 2023-07-04 10:45:20 +02:00
style-sheet-with-byte-order-mark.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
text-transform-invalidation-on-media-query-change.html LibWeb: Fix two problems where media queries didn't invalidate properly 2024-04-17 14:18:31 +02:00
transform-origin-serialization.html LibWeb: Bail parsing transform-origin if the parsed value is null 2023-10-29 11:22:53 +01:00
transform-serialization.html LibWeb/CSS: Serialize transform scale percentage values as numbers 2024-07-04 14:41:35 +02:00
unknown-webkit-pseudo-element-serialization.html LibWeb: Support obsolete but required -webkit- CSS parsing quirk 2023-12-11 16:54:59 +01:00
update-pseudo-elements-on-hover.html LibWeb: Invalidate layout if pseudo-element style changes 2024-07-30 09:45:45 +02:00