mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-27 11:19:36 +00:00
LibWeb: Implement HTMLTableElement caption attributes
* caption - Getter and setter for the caption element * createCaption - If necessary, creates a new caption element and add it to the table * deleteCaption - If a caption element exists in the table, delete it
This commit is contained in:
parent
887fa18e32
commit
0fa0367a39
Notes:
sideshowbarker
2024-07-18 18:25:30 +09:00
Author: https://github.com/ant1441
Commit: 0fa0367a39
Pull-request: https://github.com/SerenityOS/serenity/pull/6823
Reviewed-by: https://github.com/awesomekling
4 changed files with 46 additions and 0 deletions
|
@ -44,6 +44,40 @@ void HTMLTableElement::apply_presentational_hints(CSS::StyleProperties& style) c
|
|||
});
|
||||
}
|
||||
|
||||
RefPtr<HTMLTableCaptionElement> HTMLTableElement::caption()
|
||||
{
|
||||
return first_child_of_type<HTMLTableCaptionElement>();
|
||||
}
|
||||
|
||||
void HTMLTableElement::set_caption(HTMLTableCaptionElement& caption)
|
||||
{
|
||||
// FIXME: The spec requires deleting the current caption if caption is null
|
||||
// Currently the wrapper generator doesn't send us a nullable value
|
||||
delete_caption();
|
||||
|
||||
pre_insert(caption, first_child());
|
||||
}
|
||||
|
||||
NonnullRefPtr<HTMLTableCaptionElement> HTMLTableElement::create_caption()
|
||||
{
|
||||
auto maybe_caption = caption();
|
||||
if (maybe_caption) {
|
||||
return *maybe_caption;
|
||||
}
|
||||
|
||||
auto caption = DOM::create_element(document(), TagNames::caption, Namespace::HTML);
|
||||
pre_insert(caption, first_child());
|
||||
return caption;
|
||||
}
|
||||
|
||||
void HTMLTableElement::delete_caption()
|
||||
{
|
||||
auto maybe_caption = caption();
|
||||
if (maybe_caption) {
|
||||
maybe_caption->remove(false);
|
||||
}
|
||||
}
|
||||
|
||||
NonnullRefPtr<DOM::HTMLCollection> HTMLTableElement::rows()
|
||||
{
|
||||
HTMLTableElement* table_node = this;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue