LibWeb: Add layout objects for fieldset and legend

Add the boilerplate code for the layout objects that represent the
`<fieldset>` and `<legend>` elements. Using these, we can make progress
towards laying out these two elements per the spec at
https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements.
This commit is contained in:
Kostya Farber 2024-11-05 08:07:13 +00:00 committed by Alexander Kalenik
commit a820308a02
Notes: github-actions[bot] 2024-11-19 13:32:03 +00:00
12 changed files with 173 additions and 0 deletions

View file

@ -8,6 +8,7 @@
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/HTML/HTMLFieldSetElement.h>
#include <LibWeb/HTML/HTMLLegendElement.h>
#include <LibWeb/Layout/LegendBox.h>
namespace Web::HTML {
@ -39,4 +40,19 @@ HTMLFormElement* HTMLLegendElement::form()
return nullptr;
}
JS::GCPtr<Layout::Node> HTMLLegendElement::create_layout_node(CSS::StyleProperties style)
{
return heap().allocate<Layout::LegendBox>(document(), *this, move(style));
}
Layout::LegendBox* HTMLLegendElement::layout_node()
{
return static_cast<Layout::LegendBox*>(Node::layout_node());
}
Layout::LegendBox const* HTMLLegendElement::layout_node() const
{
return static_cast<Layout::LegendBox const*>(Node::layout_node());
}
}