mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 13:57:35 +00:00
LibWeb: Match WebKit and Blink re: absence of width/height on <svg>
This commit is contained in:
parent
17a6fcfde3
commit
67de1131b9
1 changed files with 13 additions and 5 deletions
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2020, Matthew Olsson <matthewcolsson@gmail.com>
|
||||
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
@ -28,17 +29,24 @@ RefPtr<Layout::Node> SVGSVGElement::create_layout_node(NonnullRefPtr<CSS::StyleP
|
|||
|
||||
void SVGSVGElement::apply_presentational_hints(CSS::StyleProperties& style) const
|
||||
{
|
||||
// Width defaults to 100%
|
||||
if (auto width_value = HTML::parse_dimension_value(attribute(SVG::AttributeNames::width))) {
|
||||
auto width_attribute = attribute(SVG::AttributeNames::width);
|
||||
if (auto width_value = HTML::parse_dimension_value(width_attribute)) {
|
||||
style.set_property(CSS::PropertyID::Width, width_value.release_nonnull());
|
||||
} else {
|
||||
} else if (width_attribute == "") {
|
||||
// If the `width` attribute is an empty string, it defaults to 100%.
|
||||
// This matches WebKit and Blink, but not Firefox. The spec is unclear.
|
||||
// FIXME: Figure out what to do here.
|
||||
style.set_property(CSS::PropertyID::Width, CSS::PercentageStyleValue::create(CSS::Percentage { 100 }));
|
||||
}
|
||||
|
||||
// Height defaults to 100%
|
||||
if (auto height_value = HTML::parse_dimension_value(attribute(SVG::AttributeNames::height))) {
|
||||
auto height_attribute = attribute(SVG::AttributeNames::height);
|
||||
if (auto height_value = HTML::parse_dimension_value(height_attribute)) {
|
||||
style.set_property(CSS::PropertyID::Height, height_value.release_nonnull());
|
||||
} else {
|
||||
} else if (height_attribute == "") {
|
||||
// If the `height` attribute is an empty string, it defaults to 100%.
|
||||
// This matches WebKit and Blink, but not Firefox. The spec is unclear.
|
||||
// FIXME: Figure out what to do here.
|
||||
style.set_property(CSS::PropertyID::Height, CSS::PercentageStyleValue::create(CSS::Percentage { 100 }));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue