diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 94f07734df..05630127a0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -1137,6 +1137,9 @@ void HTMLInputElement::did_receive_focus() return; m_text_node->invalidate_style(); + if (m_placeholder_text_node) + m_placeholder_text_node->invalidate_style(); + document().set_cursor_position(DOM::Position::create(realm(), *m_text_node, 0)); } @@ -1145,6 +1148,9 @@ void HTMLInputElement::did_lose_focus() if (m_text_node) m_text_node->invalidate_style(); + if (m_placeholder_text_node) + m_placeholder_text_node->invalidate_style(); + commit_pending_changes(); } diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.cpp index 56ff3bfcd8..d0d2242ab8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.cpp @@ -72,6 +72,9 @@ void HTMLTextAreaElement::did_receive_focus() return; m_text_node->invalidate_style(); + if (m_placeholder_text_node) + m_placeholder_text_node->invalidate_style(); + document().set_cursor_position(DOM::Position::create(realm(), *m_text_node, 0)); } @@ -80,6 +83,9 @@ void HTMLTextAreaElement::did_lose_focus() if (m_text_node) m_text_node->invalidate_style(); + if (m_placeholder_text_node) + m_placeholder_text_node->invalidate_style(); + // The change event fires when the value is committed, if that makes sense for the control, // or else when the control loses focus queue_an_element_task(HTML::Task::Source::UserInteraction, [this] {