LibWeb: Use correct margin & padding values in anonymous wrapper boxes

Anonymous wrappers get their non-inherited properties from the initial
state of a new CSS::ComputedValues object. Before this patch, all the
values in their margin and padding LengthBox would be "auto".
This commit is contained in:
Andreas Kling 2022-07-06 20:17:12 +02:00
parent 8abbbdf6fa
commit 94509c9844
Notes: sideshowbarker 2024-07-17 09:38:27 +09:00

View file

@ -47,6 +47,9 @@ public:
static float opacity() { return 1.0f; }
static CSS::Length border_radius() { return Length::make_px(0); }
static Variant<CSS::VerticalAlign, CSS::LengthPercentage> vertical_align() { return CSS::VerticalAlign::Baseline; }
static CSS::LengthBox inset() { return { CSS::Length::make_auto(), CSS::Length::make_auto(), CSS::Length::make_auto(), CSS::Length::make_auto() }; }
static CSS::LengthBox margin() { return { CSS::Length::make_px(0), CSS::Length::make_px(0), CSS::Length::make_px(0), CSS::Length::make_px(0) }; }
static CSS::LengthBox padding() { return { CSS::Length::make_px(0), CSS::Length::make_px(0), CSS::Length::make_px(0), CSS::Length::make_px(0) }; }
};
struct BackgroundLayerData {
@ -235,9 +238,9 @@ protected:
Optional<CSS::LengthPercentage> height;
Optional<CSS::LengthPercentage> min_height;
Optional<CSS::LengthPercentage> max_height;
CSS::LengthBox inset;
CSS::LengthBox margin;
CSS::LengthBox padding;
CSS::LengthBox inset { InitialValues::inset() };
CSS::LengthBox margin { InitialValues::margin() };
CSS::LengthBox padding { InitialValues::padding() };
BorderData border_left;
BorderData border_top;
BorderData border_right;