From f58e2350dcdf9aa92eed6b4639d6009fda018afd Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 20 Aug 2021 15:43:01 +0200 Subject: LibWeb: Parse the CSS `opacity` property with `strtof()` for now With the new parser, we started interpreting the `opacity` property as a string value, which made it turn into `auto` and so anything with opacity ended up not visible (e.g the header on google.com) This patch restores our old behavior for `opacity` by interpreting it as a numeric value with optional decimals. --- Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index e76772186a..e6a3d1dff6 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -2869,6 +2869,12 @@ RefPtr Parser::parse_css_value(ParsingContext const& context, Proper } } + // FIXME: This is a hack for the `opacity` property which should really take an + if (property_id == PropertyID::Opacity && component_value.is(Token::Type::Number)) { + String string = component_value.token().number_string_value(); + return LengthStyleValue::create(Length::make_px(strtof(string.characters(), nullptr))); + } + if (auto builtin_or_dynamic = parse_builtin_or_dynamic_value(context, component_value)) return builtin_or_dynamic; -- cgit v1.2.3