LibWeb: Make Layout::SVGBox a BlockContainer again

This wasn't worth the headache of trying to make SVG boxes work together
with BFC right now. Let's just make it a block container once again, and
have its corresponding SVGPaintable inherit from PaintableWithLines.

We'll have to revisit this as SVG support improves.
This commit is contained in:
Andreas Kling 2022-03-12 14:13:25 +01:00
parent e4eb6d4f1f
commit aa969cc591
Notes: sideshowbarker 2024-07-17 17:31:26 +09:00
5 changed files with 6 additions and 5 deletions

View File

@ -9,7 +9,7 @@
namespace Web::Layout {
SVGBox::SVGBox(DOM::Document& document, SVG::SVGElement& element, NonnullRefPtr<CSS::StyleProperties> style)
: Box(document, &element, move(style))
: BlockContainer(document, &element, move(style))
{
}

View File

@ -12,7 +12,7 @@
namespace Web::Layout {
class SVGBox : public Box {
class SVGBox : public BlockContainer {
public:
SVGBox(DOM::Document&, SVG::SVGElement&, NonnullRefPtr<CSS::StyleProperties>);
virtual ~SVGBox() override = default;

View File

@ -166,9 +166,10 @@ public:
virtual HitTestResult hit_test(Gfx::IntPoint const&, HitTestType) const override;
private:
protected:
PaintableWithLines(Layout::BlockContainer const&);
private:
Vector<Layout::LineBox> m_line_boxes;
};

View File

@ -10,7 +10,7 @@
namespace Web::Painting {
SVGPaintable::SVGPaintable(Layout::SVGBox const& layout_box)
: PaintableBox(layout_box)
: PaintableWithLines(layout_box)
{
}

View File

@ -11,7 +11,7 @@
namespace Web::Painting {
class SVGPaintable : public PaintableBox {
class SVGPaintable : public PaintableWithLines {
public:
virtual void before_children_paint(PaintContext&, PaintPhase) const override;
virtual void after_children_paint(PaintContext&, PaintPhase) const override;