mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 04:09:13 +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/FieldSetBox.cpp
Normal file
34
Libraries/LibWeb/Layout/FieldSetBox.cpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Kostya Farber <kostya.farber@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/Forward.h>
|
||||
#include <LibWeb/HTML/HTMLLegendElement.h>
|
||||
#include <LibWeb/Layout/FieldSetBox.h>
|
||||
|
||||
namespace Web::Layout {
|
||||
|
||||
JS_DEFINE_ALLOCATOR(FieldSetBox);
|
||||
|
||||
FieldSetBox::FieldSetBox(DOM::Document& document, DOM::Element& element, CSS::StyleProperties style)
|
||||
: BlockContainer(document, &element, move(style))
|
||||
{
|
||||
}
|
||||
|
||||
FieldSetBox::~FieldSetBox() = default;
|
||||
|
||||
bool FieldSetBox::has_rendered_legend() const
|
||||
{
|
||||
// https://html.spec.whatwg.org/#rendered-legend
|
||||
if (this->has_children() && this->first_child()->is_legend_box()) {
|
||||
auto* first_child = this->first_child();
|
||||
return first_child->computed_values().float_() == CSS::Float::None
|
||||
&& first_child->computed_values().position() != CSS::Positioning::Absolute
|
||||
&& first_child->computed_values().position() != CSS::Positioning::Fixed;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue