void RadioButtonGroup::updateCheckedState(HTMLInputElement* button) { DCHECK_EQ(button->type(), InputTypeNames::radio); DCHECK(m_members.contains(button)); bool wasValid = isValid(); if (button->checked()) { setCheckedButton(button); } else { if (m_checkedButton == button) m_checkedButton = nullptr; } if (wasValid != isValid()) setNeedsValidityCheckForAllButtons(); for (auto& member : m_members) { HTMLInputElement* const inputElement = member.key; inputElement->pseudoStateChanged(CSSSelector::PseudoIndeterminate); } }
bool RadioButtonGroup::contains(HTMLInputElement* button) const { return m_members.contains(button); }