LibWeb: Note what's causing a style invalidation to happen

You can now build with STYLE_INVALIDATION_DEBUG and get a debug stream
of reasons why style invalidations are happening and where.

I've rewritten this code many times, so instead of throwing it away once
again, I figured we should at least have it behind a flag.
This commit is contained in:
Andreas Kling 2024-09-04 10:01:08 +02:00 committed by Andreas Kling
parent 1f5c49f40d
commit ddbfac38b0
Notes: github-actions[bot] 2024-09-08 07:46:37 +00:00
20 changed files with 92 additions and 38 deletions

View file

@ -72,10 +72,10 @@ void HTMLTextAreaElement::did_receive_focus()
{
if (!m_text_node)
return;
m_text_node->invalidate_style();
m_text_node->invalidate_style(DOM::StyleInvalidationReason::DidReceiveFocus);
if (m_placeholder_text_node)
m_placeholder_text_node->invalidate_style();
m_placeholder_text_node->invalidate_style(DOM::StyleInvalidationReason::DidReceiveFocus);
document().set_cursor_position(DOM::Position::create(realm(), *m_text_node, 0));
}
@ -83,10 +83,10 @@ void HTMLTextAreaElement::did_receive_focus()
void HTMLTextAreaElement::did_lose_focus()
{
if (m_text_node)
m_text_node->invalidate_style();
m_text_node->invalidate_style(DOM::StyleInvalidationReason::DidLoseFocus);
if (m_placeholder_text_node)
m_placeholder_text_node->invalidate_style();
m_placeholder_text_node->invalidate_style(DOM::StyleInvalidationReason::DidLoseFocus);
// The change event fires when the value is committed, if that makes sense for the control,
// or else when the control loses focus