| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 ASSERT(m_members.contains(button)); | 106 ASSERT(m_members.contains(button)); |
| 107 bool wasValid = isValid(); | 107 bool wasValid = isValid(); |
| 108 if (button->checked()) { | 108 if (button->checked()) { |
| 109 setCheckedButton(button); | 109 setCheckedButton(button); |
| 110 } else { | 110 } else { |
| 111 if (m_checkedButton == button) | 111 if (m_checkedButton == button) |
| 112 m_checkedButton = nullptr; | 112 m_checkedButton = nullptr; |
| 113 } | 113 } |
| 114 if (wasValid != isValid()) | 114 if (wasValid != isValid()) |
| 115 setNeedsValidityCheckForAllButtons(); | 115 setNeedsValidityCheckForAllButtons(); |
| 116 typedef WillBeHeapHashSet<RawPtrWillBeMember<HTMLInputElement> >::const_iter
ator Iterator; | 116 for (const auto& inputElement : m_members) { |
| 117 Iterator end = m_members.end(); | 117 inputElement->pseudoStateChanged(CSSSelector::PseudoIndeterminate); |
| 118 for (Iterator it = m_members.begin(); it != end; ++it) { | |
| 119 (*it)->pseudoStateChanged(CSSSelector::PseudoIndeterminate); | |
| 120 } | 118 } |
| 121 } | 119 } |
| 122 | 120 |
| 123 void RadioButtonGroup::requiredAttributeChanged(HTMLInputElement* button) | 121 void RadioButtonGroup::requiredAttributeChanged(HTMLInputElement* button) |
| 124 { | 122 { |
| 125 ASSERT(button->type() == InputTypeNames::radio); | 123 ASSERT(button->type() == InputTypeNames::radio); |
| 126 ASSERT(m_members.contains(button)); | 124 ASSERT(m_members.contains(button)); |
| 127 bool wasValid = isValid(); | 125 bool wasValid = isValid(); |
| 128 if (button->isRequired()) { | 126 if (button->isRequired()) { |
| 129 ++m_requiredCount; | 127 ++m_requiredCount; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 158 } | 156 } |
| 159 if (!wasValid) { | 157 if (!wasValid) { |
| 160 // A radio button not in a group is always valid. We need to make it | 158 // A radio button not in a group is always valid. We need to make it |
| 161 // valid only if the group was invalid. | 159 // valid only if the group was invalid. |
| 162 button->setNeedsValidityCheck(); | 160 button->setNeedsValidityCheck(); |
| 163 } | 161 } |
| 164 } | 162 } |
| 165 | 163 |
| 166 void RadioButtonGroup::setNeedsValidityCheckForAllButtons() | 164 void RadioButtonGroup::setNeedsValidityCheckForAllButtons() |
| 167 { | 165 { |
| 168 typedef WillBeHeapHashSet<RawPtrWillBeMember<HTMLInputElement> >::const_iter
ator Iterator; | 166 for (const auto& inputElement : m_members) { |
| 169 Iterator end = m_members.end(); | 167 HTMLInputElement* button = inputElement; |
| 170 for (Iterator it = m_members.begin(); it != end; ++it) { | |
| 171 HTMLInputElement* button = *it; | |
| 172 ASSERT(button->type() == InputTypeNames::radio); | 168 ASSERT(button->type() == InputTypeNames::radio); |
| 173 button->setNeedsValidityCheck(); | 169 button->setNeedsValidityCheck(); |
| 174 } | 170 } |
| 175 } | 171 } |
| 176 | 172 |
| 177 bool RadioButtonGroup::contains(HTMLInputElement* button) const | 173 bool RadioButtonGroup::contains(HTMLInputElement* button) const |
| 178 { | 174 { |
| 179 return m_members.contains(button); | 175 return m_members.contains(button); |
| 180 } | 176 } |
| 181 | 177 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 } | 277 } |
| 282 | 278 |
| 283 void RadioButtonGroupScope::trace(Visitor* visitor) | 279 void RadioButtonGroupScope::trace(Visitor* visitor) |
| 284 { | 280 { |
| 285 #if ENABLE(OILPAN) | 281 #if ENABLE(OILPAN) |
| 286 visitor->trace(m_nameToGroupMap); | 282 visitor->trace(m_nameToGroupMap); |
| 287 #endif | 283 #endif |
| 288 } | 284 } |
| 289 | 285 |
| 290 } // namespace | 286 } // namespace |
| OLD | NEW |