mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:17:36 +00:00
LibWeb: Make Layout::TextNode::text_for_rendering() lazily computed
As it turns out, Layout::TreeBuilder never managed to wrap text within table boxes in anonymous wrapper boxes, since it relied on checking text_for_rendering(), and that was never initialized during that early stage of tree building. This patch fixes the issue by making text_for_rendering() compute the (potentially collapsed) text lazily when called. Note that the test included with this patch is still totally wrong, but that is now a TFC problem rather than a TreeBuilder problem. :^)
This commit is contained in:
parent
5cdb394400
commit
b918ce4022
5 changed files with 69 additions and 7 deletions
|
@ -23,7 +23,7 @@ public:
|
|||
|
||||
const DOM::Text& dom_node() const { return static_cast<const DOM::Text&>(*Node::dom_node()); }
|
||||
|
||||
DeprecatedString const& text_for_rendering() const { return m_text_for_rendering; }
|
||||
DeprecatedString const& text_for_rendering() const;
|
||||
|
||||
struct Chunk {
|
||||
Utf8View view;
|
||||
|
@ -48,7 +48,7 @@ public:
|
|||
Utf8View::Iterator m_iterator;
|
||||
};
|
||||
|
||||
void compute_text_for_rendering(bool collapse);
|
||||
void compute_text_for_rendering();
|
||||
|
||||
virtual JS::GCPtr<Painting::Paintable> create_paintable() const override;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue