1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 18:57:42 +00:00

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--;` :^)
This commit is contained in:
Sam Atkins 2021-10-22 20:59:45 +01:00 committed by Andreas Kling
parent 0f393771b7
commit f645ed199e
2 changed files with 5 additions and 6 deletions

View file

@ -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<CSS::StyleValue> 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<DOM::Document&>(document)), string);
return parse_css_value(CSS::ParsingContext(document), string);
}
}

View file

@ -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 };
};