From 652396a18c9cd71b4d5e1c7af1978eb35d045d3c Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Wed, 23 Apr 2025 09:22:38 -0400 Subject: [PATCH] System/Libraries/Html/Renderer: Apply CSS display rules in order --- System/Libraries/Html/Renderer.HC | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/System/Libraries/Html/Renderer.HC b/System/Libraries/Html/Renderer.HC index a38f200..bd191f6 100644 --- a/System/Libraries/Html/Renderer.HC +++ b/System/Libraries/Html/Renderer.HC @@ -392,17 +392,20 @@ Bool @apply_css_rules_to_node(@html_dom_node* node, HtmlRenderer* renderer) if (!StrICmp(key->name, "display")) { if (!StrICmp(values->@(0), "none")) { - return FALSE; - } - if (!StrICmp(values->@(0), "block")) { - node->display = CSS_DISPLAY_BLOCK; - } else if (!StrICmp(values->@(0), "inline")) { - node->display = CSS_DISPLAY_INLINE; - } else if (!StrICmp(values->@(0), "inline-block")) { - node->display = CSS_DISPLAY_INLINE_BLOCK; + should_display = FALSE; + node->display = CSS_DISPLAY_NONE; } else { - // FIXME: unimplemented; default to inline - node->display = CSS_DISPLAY_INLINE; + should_display = TRUE; + node->display = CSS_DISPLAY_INLINE; // default to inline + if (!StrICmp(values->@(0), "block")) { + node->display = CSS_DISPLAY_BLOCK; + } + if (!StrICmp(values->@(0), "inline")) { + node->display = CSS_DISPLAY_INLINE; + } + if (!StrICmp(values->@(0), "inline-block")) { + node->display = CSS_DISPLAY_INLINE_BLOCK; + } } }