| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/accessibility/AXRadioInput.h" | 5 #include "modules/accessibility/AXRadioInput.h" |
| 6 | 6 |
| 7 #include "core/InputTypeNames.h" | 7 #include "core/InputTypeNames.h" |
| 8 #include "core/dom/AccessibleNode.h" |
| 8 #include "core/html/HTMLInputElement.h" | 9 #include "core/html/HTMLInputElement.h" |
| 9 #include "core/html/forms/RadioInputType.h" | 10 #include "core/html/forms/RadioInputType.h" |
| 10 #include "core/layout/LayoutObject.h" | 11 #include "core/layout/LayoutObject.h" |
| 11 #include "modules/accessibility/AXObjectCacheImpl.h" | 12 #include "modules/accessibility/AXObjectCacheImpl.h" |
| 12 | 13 |
| 13 namespace blink { | 14 namespace blink { |
| 14 | 15 |
| 15 using namespace HTMLNames; | 16 using namespace HTMLNames; |
| 16 | 17 |
| 17 AXRadioInput::AXRadioInput(LayoutObject* layout_object, | 18 AXRadioInput::AXRadioInput(LayoutObject* layout_object, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 | 59 |
| 59 HTMLInputElement* AXRadioInput::FindFirstRadioButtonInGroup( | 60 HTMLInputElement* AXRadioInput::FindFirstRadioButtonInGroup( |
| 60 HTMLInputElement* current) const { | 61 HTMLInputElement* current) const { |
| 61 while (HTMLInputElement* prev_element = | 62 while (HTMLInputElement* prev_element = |
| 62 RadioInputType::NextRadioButtonInGroup(current, false)) | 63 RadioInputType::NextRadioButtonInGroup(current, false)) |
| 63 current = prev_element; | 64 current = prev_element; |
| 64 return current; | 65 return current; |
| 65 } | 66 } |
| 66 | 67 |
| 67 int AXRadioInput::PosInSet() const { | 68 int AXRadioInput::PosInSet() const { |
| 68 if (HasAttribute(aria_posinsetAttr)) | 69 uint32_t pos_in_set; |
| 69 return GetAttribute(aria_posinsetAttr).ToInt(); | 70 if (HasAOMPropertyOrARIAAttribute(AOMUIntProperty::kPosInSet, pos_in_set)) |
| 71 return pos_in_set; |
| 70 return pos_in_set_; | 72 return pos_in_set_; |
| 71 } | 73 } |
| 72 | 74 |
| 73 int AXRadioInput::SetSize() const { | 75 int AXRadioInput::SetSize() const { |
| 74 if (HasAttribute(aria_setsizeAttr)) | 76 int32_t set_size; |
| 75 return GetAttribute(aria_setsizeAttr).ToInt(); | 77 if (HasAOMPropertyOrARIAAttribute(AOMIntProperty::kSetSize, set_size)) |
| 78 return set_size; |
| 76 return set_size_; | 79 return set_size_; |
| 77 } | 80 } |
| 78 | 81 |
| 79 bool AXRadioInput::CalculatePosInSet() { | 82 bool AXRadioInput::CalculatePosInSet() { |
| 80 // Calculate 'posInSet' attribute when AXRadioInputs need to be updated | 83 // Calculate 'posInSet' attribute when AXRadioInputs need to be updated |
| 81 // as a new AXRadioInput Object is added or one of objects from RadioGroup is | 84 // as a new AXRadioInput Object is added or one of objects from RadioGroup is |
| 82 // removed. | 85 // removed. |
| 83 bool need_to_update_prev = false; | 86 bool need_to_update_prev = false; |
| 84 int position = 1; | 87 int position = 1; |
| 85 HTMLInputElement* prev_element = | 88 HTMLInputElement* prev_element = |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 | 129 |
| 127 int AXRadioInput::SizeOfRadioGroup() const { | 130 int AXRadioInput::SizeOfRadioGroup() const { |
| 128 int size = GetInputElement()->SizeOfRadioGroup(); | 131 int size = GetInputElement()->SizeOfRadioGroup(); |
| 129 // If it has no size in Group, it means that there is only itself. | 132 // If it has no size in Group, it means that there is only itself. |
| 130 if (!size) | 133 if (!size) |
| 131 return 1; | 134 return 1; |
| 132 return size; | 135 return size; |
| 133 } | 136 } |
| 134 | 137 |
| 135 } // namespace blink | 138 } // namespace blink |
| OLD | NEW |