mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 14:28:12 +00:00
LibWeb: Don't prune whitespace nodes from layout tree
Various whitespace-related issues have been fixed, and support for the different CSS white-space values is improved enough that I think we can stop doing the hack where we just prune whitespace nodes from the tree and actually let them show up. This is a nice step forward for correctness with the slight downside of cluttering up layout tree dumps with tons of whitespace text nodes. But hey, that's the web we know & love. :^) Fixes #4427.
This commit is contained in:
parent
29a4da30b7
commit
612827eff3
3 changed files with 0 additions and 24 deletions
|
@ -91,18 +91,10 @@ void TreeBuilder::create_layout_tree(DOM::Node& dom_node)
|
|||
if (dom_node.parent() && !dom_node.parent()->layout_node())
|
||||
return;
|
||||
|
||||
const CSS::StyleProperties* parent_style = nullptr;
|
||||
if (!m_parent_stack.is_empty() && m_parent_stack.last()->dom_node() && m_parent_stack.last()->dom_node()->is_element())
|
||||
parent_style = downcast<DOM::Element>(*m_parent_stack.last()->dom_node()).specified_css_values();
|
||||
|
||||
auto layout_node = dom_node.create_layout_node();
|
||||
if (!layout_node)
|
||||
return;
|
||||
|
||||
// Discard empty whitespace nodes. This might not be ideal for correctness, but it does make the tree nicer.
|
||||
if (is<TextNode>(*layout_node) && downcast<TextNode>(*layout_node).text_for_style(*parent_style) == " ")
|
||||
return;
|
||||
|
||||
if (!dom_node.parent()) {
|
||||
m_layout_root = layout_node;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue