mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 17:58:18 +03:00
LibWeb: Use the cached text-align value in LineBox::add_fragment()
This commit is contained in:
parent
f4ecb5362f
commit
26eef65017
Notes:
sideshowbarker
2024-07-19 05:24:55 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/26eef650176
@ -191,6 +191,7 @@ public:
|
||||
|
||||
const StyleProperties& style() const;
|
||||
CSS::Position position() const;
|
||||
CSS::TextAlign text_align() const;
|
||||
|
||||
LayoutNodeWithStyle* parent();
|
||||
const LayoutNodeWithStyle* parent() const;
|
||||
@ -299,6 +300,13 @@ inline CSS::Position LayoutNode::position() const
|
||||
return parent()->position();
|
||||
}
|
||||
|
||||
inline CSS::TextAlign LayoutNode::text_align() const
|
||||
{
|
||||
if (m_has_style)
|
||||
return static_cast<const LayoutNodeWithStyle*>(this)->text_align();
|
||||
return parent()->text_align();
|
||||
}
|
||||
|
||||
inline const LayoutNodeWithStyle* LayoutNode::parent() const
|
||||
{
|
||||
return static_cast<const LayoutNodeWithStyle*>(TreeNode<LayoutNode>::parent());
|
||||
|
@ -35,7 +35,7 @@ namespace Web {
|
||||
|
||||
void LineBox::add_fragment(const LayoutNode& layout_node, int start, int length, int width, int height)
|
||||
{
|
||||
bool text_align_is_justify = layout_node.style().string_or_fallback(CSS::PropertyID::TextAlign, "left") == "justify";
|
||||
bool text_align_is_justify = layout_node.text_align() == CSS::TextAlign::Justify;
|
||||
if (!text_align_is_justify && !m_fragments.is_empty() && &m_fragments.last().layout_node() == &layout_node) {
|
||||
// The fragment we're adding is from the last LayoutNode on the line.
|
||||
// Expand the last fragment instead of adding a new one with the same LayoutNode.
|
||||
|
Loading…
Reference in New Issue
Block a user