mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-05 02:33:03 +00:00
LibWeb: Compute display: contents
as none
for unusual elements
https://drafts.csswg.org/css-display-3/#unbox-html specifies certain elements that have their `display` style computed as `none` when specified as `contents`. This fixes at least one WPT test: http://wpt.live/css/css-display/display-contents-suppression-dynamic-001.html
This commit is contained in:
parent
eef9a53eec
commit
3b1d1d4582
Notes:
github-actions[bot]
2024-11-13 10:12:00 +00:00
Author: https://github.com/mikewatt 🔰
Commit: 3b1d1d4582
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2224
31 changed files with 156 additions and 0 deletions
Libraries/LibWeb/HTML
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include <LibURL/Origin.h>
|
||||
#include <LibWeb/Bindings/HTMLIFrameElementPrototype.h>
|
||||
#include <LibWeb/CSS/StyleValues/DisplayStyleValue.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/Event.h>
|
||||
#include <LibWeb/HTML/BrowsingContext.h>
|
||||
|
@ -37,6 +38,13 @@ JS::GCPtr<Layout::Node> HTMLIFrameElement::create_layout_node(CSS::StyleProperti
|
|||
return heap().allocate_without_realm<Layout::FrameBox>(document(), *this, move(style));
|
||||
}
|
||||
|
||||
void HTMLIFrameElement::adjust_computed_style(CSS::StyleProperties& style)
|
||||
{
|
||||
// https://drafts.csswg.org/css-display-3/#unbox
|
||||
if (style.display().is_contents())
|
||||
style.set_property(CSS::PropertyID::Display, CSS::DisplayStyleValue::create(CSS::Display::from_short(CSS::Display::Short::None)));
|
||||
}
|
||||
|
||||
void HTMLIFrameElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value)
|
||||
{
|
||||
HTMLElement::attribute_changed(name, old_value, value);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue