void FormAssociatedElement::resetFormOwner() { HTMLFormElement* originalForm = m_form; setForm(findAssociatedForm(toHTMLElement(this), m_form)); HTMLElement* element = toHTMLElement(this); if (m_form && m_form != originalForm && m_form->inDocument()) element->document().didAssociateFormControl(element); }
void FormAssociatedElement::resetFormOwner() { m_formWasSetByParser = false; HTMLElement* element = toHTMLElement(this); const AtomicString& formId(element->fastGetAttribute(formAttr)); HTMLFormElement* nearestForm = element->findFormAncestor(); // 1. If the element's form owner is not null, and either the element is not // reassociateable or its form content attribute is not present, and the // element's form owner is its nearest form element ancestor after the // change to the ancestor chain, then do nothing, and abort these steps. if (m_form && formId.isNull() && m_form.get() == nearestForm) return; HTMLFormElement* originalForm = m_form.get(); setForm(findAssociatedForm(element)); // FIXME: Move didAssociateFormControl call to didChangeForm or // HTMLFormElement::associate. if (m_form && m_form.get() != originalForm && m_form->inDocument()) element->document().didAssociateFormControl(element); }
void FormAssociatedElement::resetFormOwner() { setForm(findAssociatedForm(toHTMLElement(this), m_form)); }