LayoutObject* LayoutTextControl::layoutSpecialExcludedChild( bool relayoutChildren, SubtreeLayoutScope& layoutScope) { HTMLElement* placeholder = toTextControlElement(node())->placeholderElement(); LayoutObject* placeholderLayoutObject = placeholder ? placeholder->layoutObject() : nullptr; if (!placeholderLayoutObject) return nullptr; if (relayoutChildren) layoutScope.setChildNeedsLayout(placeholderLayoutObject); return placeholderLayoutObject; }
void TextControlElementTest::SetUp() { Page::PageClients pageClients; fillWithEmptyClients(pageClients); m_spellCheckerClient = WTF::wrapUnique(new DummySpellCheckerClient); pageClients.spellCheckerClient = m_spellCheckerClient.get(); m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600), &pageClients); m_document = &m_dummyPageHolder->document(); m_document->documentElement()->setInnerHTML( "<body><textarea id=textarea></textarea><input id=input /></body>"); m_document->view()->updateAllLifecyclePhases(); m_textControl = toTextControlElement(m_document->getElementById("textarea")); m_textControl->focus(); m_input = toHTMLInputElement(m_document->getElementById("input")); }
TextControlElement* LayoutTextControl::textControlElement() const { return toTextControlElement(node()); }