From f645ed199e89c947f2ed0081f9c3c8f9639973a9 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 22 Oct 2021 20:59:45 +0100 Subject: [PATCH] LibWeb: Make CSS ParsingContext's Document* be const The only reason it wasn't const before (and why we had a const_cast hack) was to support ImageStyleValue's constructor taking it, which no longer applies. `hack_count--;` :^) --- Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp | 5 ++--- Userland/Libraries/LibWeb/CSS/Parser/Parser.h | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index dbb89a9cb4..66089b547c 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -34,7 +34,7 @@ static void log_parse_error(const SourceLocation& location = SourceLocation::cur namespace Web::CSS { -ParsingContext::ParsingContext(DOM::Document& document) +ParsingContext::ParsingContext(DOM::Document const& document) : m_document(&document) { } @@ -3888,8 +3888,7 @@ RefPtr parse_html_length(DOM::Document const& document, StringV auto integer = string.to_int(); if (integer.has_value()) return CSS::LengthStyleValue::create(CSS::Length::make_px(integer.value())); - // FIXME: The const_cast is a hack. - return parse_css_value(CSS::ParsingContext(const_cast(document)), string); + return parse_css_value(CSS::ParsingContext(document), string); } } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h index 5adb96db8f..3bd48747c6 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h @@ -36,18 +36,18 @@ enum class PropertyID; class ParsingContext { public: ParsingContext() = default; - explicit ParsingContext(DOM::Document&); + explicit ParsingContext(DOM::Document const&); explicit ParsingContext(DOM::ParentNode&); bool in_quirks_mode() const; - DOM::Document* document() const { return m_document; } + DOM::Document const* document() const { return m_document; } AK::URL complete_url(String const&) const; PropertyID current_property_id() const { return m_current_property_id; } void set_current_property_id(PropertyID property_id) { m_current_property_id = property_id; } private: - DOM::Document* m_document { nullptr }; + DOM::Document const* m_document { nullptr }; PropertyID m_current_property_id { PropertyID::Invalid }; };