mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-02 15:46:33 +00:00
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:
parent
b342758dbf
commit
a820308a02
Notes:
github-actions[bot]
2024-11-19 13:32:03 +00:00
Author: https://github.com/kostyafarber
Commit: a820308a02
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2127
Reviewed-by: https://github.com/kalenikaliaksandr
12 changed files with 173 additions and 0 deletions
34
Libraries/LibWeb/Layout/LegendBox.h
Normal file
34
Libraries/LibWeb/Layout/LegendBox.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Kostya Farber <kostya.farber@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/Layout/BlockContainer.h>
|
||||
|
||||
namespace Web::Layout {
|
||||
|
||||
class LegendBox final : public BlockContainer {
|
||||
JS_CELL(LegendBox, BlockContainer);
|
||||
JS_DECLARE_ALLOCATOR(LegendBox);
|
||||
|
||||
public:
|
||||
LegendBox(DOM::Document&, DOM::Element&, CSS::StyleProperties);
|
||||
virtual ~LegendBox() override;
|
||||
|
||||
DOM::Element& dom_node() { return static_cast<DOM::Element&>(*Box::dom_node()); }
|
||||
DOM::Element const& dom_node() const { return static_cast<DOM::Element const&>(*Box::dom_node()); }
|
||||
|
||||
private:
|
||||
virtual bool is_legend_box() const final
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
template<>
|
||||
inline bool Node::fast_is<LegendBox>() const { return is_legend_box(); }
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue