Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXObjectImpl.cpp

Issue 2858493002: Rename AXObject to AXObjectImpl in modules/ and web/ (Closed)
Patch Set: Fixed rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/accessibility/AXObjectImpl.cpp
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXObjectImpl.cpp
similarity index 86%
rename from third_party/WebKit/Source/modules/accessibility/AXObject.cpp
rename to third_party/WebKit/Source/modules/accessibility/AXObjectImpl.cpp
index 2cae448cea5924e6a4d2b86e6dc2643618255bf7..39bfb8dde2daae98e48f5f9ac9f885e932f03086 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp
+++ b/third_party/WebKit/Source/modules/accessibility/AXObjectImpl.cpp
@@ -26,7 +26,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "modules/accessibility/AXObject.h"
+#include "modules/accessibility/AXObjectImpl.h"
#include "SkMatrix44.h"
#include "core/InputTypeNames.h"
@@ -291,13 +291,15 @@ static Vector<AtomicString>* CreateRoleNameVector() {
for (int i = 0; i < kNumRoles; i++)
(*role_name_vector)[i] = g_null_atom;
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(kRoles); ++i)
+ for (size_t i = 0; i < WTF_ARRAY_LENGTH(kRoles); ++i) {
(*role_name_vector)[kRoles[i].webcore_role] =
AtomicString(kRoles[i].aria_role);
+ }
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(kReverseRoles); ++i)
+ for (size_t i = 0; i < WTF_ARRAY_LENGTH(kReverseRoles); ++i) {
(*role_name_vector)[kReverseRoles[i].webcore_role] =
AtomicString(kReverseRoles[i].aria_role);
+ }
return role_name_vector;
}
@@ -305,9 +307,10 @@ static Vector<AtomicString>* CreateRoleNameVector() {
static Vector<AtomicString>* CreateInternalRoleNameVector() {
Vector<AtomicString>* internal_role_name_vector =
new Vector<AtomicString>(kNumRoles);
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(kInternalRoles); i++)
+ for (size_t i = 0; i < WTF_ARRAY_LENGTH(kInternalRoles); i++) {
(*internal_role_name_vector)[kInternalRoles[i].webcore_role] =
AtomicString(kInternalRoles[i].internal_role_name);
+ }
return internal_role_name_vector;
}
@@ -344,9 +347,9 @@ HTMLDialogElement* GetActiveDialogElement(Node* node) {
} // namespace
-unsigned AXObject::number_of_live_ax_objects_ = 0;
+unsigned AXObjectImpl::number_of_live_ax_objects_ = 0;
-AXObject::AXObject(AXObjectCacheImpl& ax_object_cache)
+AXObjectImpl::AXObjectImpl(AXObjectCacheImpl& ax_object_cache)
: id_(0),
have_children_(false),
role_(kUnknownRole),
@@ -366,12 +369,12 @@ AXObject::AXObject(AXObjectCacheImpl& ax_object_cache)
++number_of_live_ax_objects_;
}
-AXObject::~AXObject() {
+AXObjectImpl::~AXObjectImpl() {
DCHECK(IsDetached());
--number_of_live_ax_objects_;
}
-void AXObject::Detach() {
+void AXObjectImpl::Detach() {
// Clear any children and call detachFromParent on them so that
// no children are left with dangling pointers to their parent.
ClearChildren();
@@ -379,11 +382,11 @@ void AXObject::Detach() {
ax_object_cache_ = nullptr;
}
-bool AXObject::IsDetached() const {
+bool AXObjectImpl::IsDetached() const {
return !ax_object_cache_;
}
-const AtomicString& AXObject::GetAOMPropertyOrARIAAttribute(
+const AtomicString& AXObjectImpl::GetAOMPropertyOrARIAAttribute(
AOMStringProperty property) const {
Node* node = this->GetNode();
if (!node || !node->IsElementNode())
@@ -392,20 +395,20 @@ const AtomicString& AXObject::GetAOMPropertyOrARIAAttribute(
return AccessibleNode::GetPropertyOrARIAAttribute(ToElement(node), property);
}
-bool AXObject::IsARIATextControl() const {
+bool AXObjectImpl::IsARIATextControl() const {
return AriaRoleAttribute() == kTextFieldRole ||
AriaRoleAttribute() == kSearchBoxRole ||
AriaRoleAttribute() == kComboBoxRole;
}
-bool AXObject::IsButton() const {
+bool AXObjectImpl::IsButton() const {
AccessibilityRole role = RoleValue();
return role == kButtonRole || role == kPopUpButtonRole ||
role == kToggleButtonRole;
}
-bool AXObject::IsCheckable() const {
+bool AXObjectImpl::IsCheckable() const {
switch (RoleValue()) {
case kCheckBoxRole:
case kMenuItemCheckBoxRole:
@@ -422,7 +425,7 @@ bool AXObject::IsCheckable() const {
// Because an AXMenuListOption (<option>) can
// have an ARIA role of menuitemcheckbox/menuitemradio
// yet does not inherit from AXNodeObject
-AccessibilityButtonState AXObject::CheckedState() const {
+AccessibilityButtonState AXObjectImpl::CheckedState() const {
if (!IsCheckable())
return kButtonStateOff;
@@ -458,7 +461,7 @@ AccessibilityButtonState AXObject::CheckedState() const {
return kButtonStateOff;
}
-bool AXObject::IsNativeInputInMixedState(const Node* node) {
+bool AXObjectImpl::IsNativeInputInMixedState(const Node* node) {
if (!isHTMLInputElement(node))
return false;
@@ -470,7 +473,7 @@ bool AXObject::IsNativeInputInMixedState(const Node* node) {
return input->ShouldAppearIndeterminate();
}
-bool AXObject::IsLandmarkRelated() const {
+bool AXObjectImpl::IsLandmarkRelated() const {
switch (RoleValue()) {
case kApplicationRole:
case kArticleRole:
@@ -489,7 +492,7 @@ bool AXObject::IsLandmarkRelated() const {
}
}
-bool AXObject::IsMenuRelated() const {
+bool AXObjectImpl::IsMenuRelated() const {
switch (RoleValue()) {
case kMenuRole:
case kMenuBarRole:
@@ -503,7 +506,7 @@ bool AXObject::IsMenuRelated() const {
}
}
-bool AXObject::IsPasswordFieldAndShouldHideValue() const {
+bool AXObjectImpl::IsPasswordFieldAndShouldHideValue() const {
Settings* settings = GetDocument()->GetSettings();
if (!settings || settings->GetAccessibilityPasswordValuesEnabled())
return false;
@@ -511,7 +514,7 @@ bool AXObject::IsPasswordFieldAndShouldHideValue() const {
return IsPasswordField();
}
-bool AXObject::IsClickable() const {
+bool AXObjectImpl::IsClickable() const {
switch (RoleValue()) {
case kButtonRole:
case kCheckBoxRole:
@@ -533,12 +536,12 @@ bool AXObject::IsClickable() const {
}
}
-bool AXObject::AccessibilityIsIgnored() const {
+bool AXObjectImpl::AccessibilityIsIgnored() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_is_ignored_;
}
-void AXObject::UpdateCachedAttributeValuesIfNeeded() const {
+void AXObjectImpl::UpdateCachedAttributeValuesIfNeeded() const {
if (IsDetached())
return;
@@ -559,26 +562,26 @@ void AXObject::UpdateCachedAttributeValuesIfNeeded() const {
cached_is_ignored_ = ComputeAccessibilityIsIgnored();
cached_live_region_root_ =
IsLiveRegion()
- ? const_cast<AXObject*>(this)
+ ? const_cast<AXObjectImpl*>(this)
: (ParentObjectIfExists() ? ParentObjectIfExists()->LiveRegionRoot()
: 0);
cached_ancestor_exposes_active_descendant_ =
ComputeAncestorExposesActiveDescendant();
}
-bool AXObject::AccessibilityIsIgnoredByDefault(
+bool AXObjectImpl::AccessibilityIsIgnoredByDefault(
IgnoredReasons* ignored_reasons) const {
return DefaultObjectInclusion(ignored_reasons) == kIgnoreObject;
}
-AXObjectInclusion AXObject::AccessibilityPlatformIncludesObject() const {
+AXObjectInclusion AXObjectImpl::AccessibilityPlatformIncludesObject() const {
if (IsMenuListPopup() || IsMenuListOption())
return kIncludeObject;
return kDefaultBehavior;
}
-AXObjectInclusion AXObject::DefaultObjectInclusion(
+AXObjectInclusion AXObjectImpl::DefaultObjectInclusion(
IgnoredReasons* ignored_reasons) const {
if (IsInertOrAriaHidden()) {
if (ignored_reasons)
@@ -588,7 +591,7 @@ AXObjectInclusion AXObject::DefaultObjectInclusion(
if (IsPresentationalChild()) {
if (ignored_reasons) {
- AXObject* ancestor = AncestorForWhichThisIsAPresentationalChild();
+ AXObjectImpl* ancestor = AncestorForWhichThisIsAPresentationalChild();
ignored_reasons->push_back(
IgnoredReason(kAXAncestorDisallowsChild, ancestor));
}
@@ -598,24 +601,25 @@ AXObjectInclusion AXObject::DefaultObjectInclusion(
return AccessibilityPlatformIncludesObject();
}
-bool AXObject::IsInertOrAriaHidden() const {
+bool AXObjectImpl::IsInertOrAriaHidden() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_is_inert_or_aria_hidden_;
}
-bool AXObject::ComputeIsInertOrAriaHidden(
+bool AXObjectImpl::ComputeIsInertOrAriaHidden(
IgnoredReasons* ignored_reasons) const {
if (GetNode()) {
if (GetNode()->IsInert()) {
if (ignored_reasons) {
HTMLDialogElement* dialog = GetActiveDialogElement(GetNode());
if (dialog) {
- AXObject* dialog_object = AxObjectCache().GetOrCreate(dialog);
- if (dialog_object)
+ AXObjectImpl* dialog_object = AxObjectCache().GetOrCreate(dialog);
+ if (dialog_object) {
ignored_reasons->push_back(
IgnoredReason(kAXActiveModalDialog, dialog_object));
- else
+ } else {
ignored_reasons->push_back(IgnoredReason(kAXInert));
+ }
} else {
// TODO(aboxhall): handle inert attribute if it eventuates
ignored_reasons->push_back(IgnoredReason(kAXInert));
@@ -624,7 +628,7 @@ bool AXObject::ComputeIsInertOrAriaHidden(
return true;
}
} else {
- AXObject* parent = ParentObject();
+ AXObjectImpl* parent = ParentObject();
if (parent && parent->IsInertOrAriaHidden()) {
if (ignored_reasons)
parent->ComputeIsInertOrAriaHidden(ignored_reasons);
@@ -632,14 +636,15 @@ bool AXObject::ComputeIsInertOrAriaHidden(
}
}
- const AXObject* hidden_root = AriaHiddenRoot();
+ const AXObjectImpl* hidden_root = AriaHiddenRoot();
if (hidden_root) {
if (ignored_reasons) {
- if (hidden_root == this)
+ if (hidden_root == this) {
ignored_reasons->push_back(IgnoredReason(kAXAriaHidden));
- else
+ } else {
ignored_reasons->push_back(
IgnoredReason(kAXAriaHiddenRoot, hidden_root));
+ }
}
return true;
}
@@ -647,13 +652,13 @@ bool AXObject::ComputeIsInertOrAriaHidden(
return false;
}
-bool AXObject::IsDescendantOfLeafNode() const {
+bool AXObjectImpl::IsDescendantOfLeafNode() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_is_descendant_of_leaf_node_;
}
-AXObject* AXObject::LeafNodeAncestor() const {
- if (AXObject* parent = ParentObject()) {
+AXObjectImpl* AXObjectImpl::LeafNodeAncestor() const {
+ if (AXObjectImpl* parent = ParentObject()) {
if (!parent->CanHaveChildren())
return parent;
@@ -663,8 +668,9 @@ AXObject* AXObject::LeafNodeAncestor() const {
return 0;
}
-const AXObject* AXObject::AriaHiddenRoot() const {
- for (const AXObject* object = this; object; object = object->ParentObject()) {
+const AXObjectImpl* AXObjectImpl::AriaHiddenRoot() const {
+ for (const AXObjectImpl* object = this; object;
+ object = object->ParentObject()) {
if (EqualIgnoringASCIICase(object->GetAttribute(aria_hiddenAttr), "true"))
return object;
}
@@ -672,53 +678,54 @@ const AXObject* AXObject::AriaHiddenRoot() const {
return 0;
}
-bool AXObject::IsDescendantOfDisabledNode() const {
+bool AXObjectImpl::IsDescendantOfDisabledNode() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_is_descendant_of_disabled_node_;
}
-const AXObject* AXObject::DisabledAncestor() const {
+const AXObjectImpl* AXObjectImpl::DisabledAncestor() const {
const AtomicString& disabled = GetAttribute(aria_disabledAttr);
if (EqualIgnoringASCIICase(disabled, "true"))
return this;
if (EqualIgnoringASCIICase(disabled, "false"))
return 0;
- if (AXObject* parent = ParentObject())
+ if (AXObjectImpl* parent = ParentObject())
return parent->DisabledAncestor();
return 0;
}
-bool AXObject::LastKnownIsIgnoredValue() {
- if (last_known_is_ignored_value_ == kDefaultBehavior)
+bool AXObjectImpl::LastKnownIsIgnoredValue() {
+ if (last_known_is_ignored_value_ == kDefaultBehavior) {
last_known_is_ignored_value_ =
AccessibilityIsIgnored() ? kIgnoreObject : kIncludeObject;
+ }
return last_known_is_ignored_value_ == kIgnoreObject;
}
-void AXObject::SetLastKnownIsIgnoredValue(bool is_ignored) {
+void AXObjectImpl::SetLastKnownIsIgnoredValue(bool is_ignored) {
last_known_is_ignored_value_ = is_ignored ? kIgnoreObject : kIncludeObject;
}
-bool AXObject::HasInheritedPresentationalRole() const {
+bool AXObjectImpl::HasInheritedPresentationalRole() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_has_inherited_presentational_role_;
}
-bool AXObject::IsPresentationalChild() const {
+bool AXObjectImpl::IsPresentationalChild() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_is_presentational_child_;
}
-bool AXObject::AncestorExposesActiveDescendant() const {
+bool AXObjectImpl::AncestorExposesActiveDescendant() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_ancestor_exposes_active_descendant_;
}
-bool AXObject::ComputeAncestorExposesActiveDescendant() const {
- const AXObject* parent = ParentObjectUnignored();
+bool AXObjectImpl::ComputeAncestorExposesActiveDescendant() const {
+ const AXObjectImpl* parent = ParentObjectUnignored();
if (!parent)
return false;
@@ -733,7 +740,7 @@ bool AXObject::ComputeAncestorExposesActiveDescendant() const {
// Simplify whitespace, but preserve a single leading and trailing whitespace
// character if it's present.
// static
-String AXObject::CollapseWhitespace(const String& str) {
+String AXObjectImpl::CollapseWhitespace(const String& str) {
StringBuilder result;
if (!str.IsEmpty() && IsHTMLSpace<UChar>(str[0]))
result.Append(' ');
@@ -743,15 +750,15 @@ String AXObject::CollapseWhitespace(const String& str) {
return result.ToString();
}
-String AXObject::ComputedName() const {
+String AXObjectImpl::ComputedName() const {
AXNameFrom name_from;
- AXObject::AXObjectVector name_objects;
+ AXObjectImpl::AXObjectVector name_objects;
return GetName(name_from, &name_objects);
}
-String AXObject::GetName(AXNameFrom& name_from,
- AXObject::AXObjectVector* name_objects) const {
- HeapHashSet<Member<const AXObject>> visited;
+String AXObjectImpl::GetName(AXNameFrom& name_from,
+ AXObjectImpl::AXObjectVector* name_objects) const {
+ HeapHashSet<Member<const AXObjectImpl>> visited;
AXRelatedObjectVector related_objects;
String text = TextAlternative(false, false, visited, name_from,
&related_objects, nullptr);
@@ -770,7 +777,7 @@ String AXObject::GetName(AXNameFrom& name_from,
return text;
}
-String AXObject::GetName(NameSources* name_sources) const {
+String AXObjectImpl::GetName(NameSources* name_sources) const {
AXObjectSet visited;
AXNameFrom tmp_name_from;
AXRelatedObjectVector tmp_related_objects;
@@ -780,9 +787,10 @@ String AXObject::GetName(NameSources* name_sources) const {
return text;
}
-String AXObject::RecursiveTextAlternative(const AXObject& ax_obj,
- bool in_aria_labelled_by_traversal,
- AXObjectSet& visited) {
+String AXObjectImpl::RecursiveTextAlternative(
+ const AXObjectImpl& ax_obj,
+ bool in_aria_labelled_by_traversal,
+ AXObjectSet& visited) {
if (visited.Contains(&ax_obj) && !in_aria_labelled_by_traversal)
return String();
@@ -791,7 +799,7 @@ String AXObject::RecursiveTextAlternative(const AXObject& ax_obj,
tmp_name_from, nullptr, nullptr);
}
-bool AXObject::IsHiddenForTextAlternativeCalculation() const {
+bool AXObjectImpl::IsHiddenForTextAlternativeCalculation() const {
if (EqualIgnoringASCIICase(GetAttribute(aria_hiddenAttr), "false"))
return false;
@@ -818,13 +826,13 @@ bool AXObject::IsHiddenForTextAlternativeCalculation() const {
return false;
}
-String AXObject::AriaTextAlternative(bool recursive,
- bool in_aria_labelled_by_traversal,
- AXObjectSet& visited,
- AXNameFrom& name_from,
- AXRelatedObjectVector* related_objects,
- NameSources* name_sources,
- bool* found_text_alternative) const {
+String AXObjectImpl::AriaTextAlternative(bool recursive,
+ bool in_aria_labelled_by_traversal,
+ AXObjectSet& visited,
+ AXNameFrom& name_from,
+ AXRelatedObjectVector* related_objects,
+ NameSources* name_sources,
+ bool* found_text_alternative) const {
String text_alternative;
bool already_visited = visited.Contains(this);
visited.insert(this);
@@ -904,7 +912,7 @@ String AXObject::AriaTextAlternative(bool recursive,
return text_alternative;
}
-String AXObject::TextFromElements(
+String AXObjectImpl::TextFromElements(
bool in_aria_labelledby_traversal,
AXObjectSet& visited,
HeapVector<Member<Element>>& elements,
@@ -914,7 +922,7 @@ String AXObject::TextFromElements(
AXRelatedObjectVector local_related_objects;
for (const auto& element : elements) {
- AXObject* ax_element = AxObjectCache().GetOrCreate(element);
+ AXObjectImpl* ax_element = AxObjectCache().GetOrCreate(element);
if (ax_element) {
found_valid_element = true;
@@ -936,8 +944,9 @@ String AXObject::TextFromElements(
return accumulated_text.ToString();
}
-void AXObject::TokenVectorFromAttribute(Vector<String>& tokens,
- const QualifiedName& attribute) const {
+void AXObjectImpl::TokenVectorFromAttribute(
+ Vector<String>& tokens,
+ const QualifiedName& attribute) const {
Node* node = this->GetNode();
if (!node || !node->IsElementNode())
return;
@@ -950,8 +959,8 @@ void AXObject::TokenVectorFromAttribute(Vector<String>& tokens,
attribute_value.Split(' ', tokens);
}
-void AXObject::ElementsFromAttribute(HeapVector<Member<Element>>& elements,
- const QualifiedName& attribute) const {
+void AXObjectImpl::ElementsFromAttribute(HeapVector<Member<Element>>& elements,
+ const QualifiedName& attribute) const {
Vector<String> ids;
TokenVectorFromAttribute(ids, attribute);
if (ids.IsEmpty())
@@ -964,7 +973,7 @@ void AXObject::ElementsFromAttribute(HeapVector<Member<Element>>& elements,
}
}
-void AXObject::AriaLabelledbyElementVector(
+void AXObjectImpl::AriaLabelledbyElementVector(
HeapVector<Member<Element>>& elements) const {
// Try both spellings, but prefer aria-labelledby, which is the official spec.
ElementsFromAttribute(elements, aria_labelledbyAttr);
@@ -972,7 +981,7 @@ void AXObject::AriaLabelledbyElementVector(
ElementsFromAttribute(elements, aria_labeledbyAttr);
}
-String AXObject::TextFromAriaLabelledby(
+String AXObjectImpl::TextFromAriaLabelledby(
AXObjectSet& visited,
AXRelatedObjectVector* related_objects) const {
HeapVector<Member<Element>> elements;
@@ -980,7 +989,7 @@ String AXObject::TextFromAriaLabelledby(
return TextFromElements(true, visited, elements, related_objects);
}
-String AXObject::TextFromAriaDescribedby(
+String AXObjectImpl::TextFromAriaDescribedby(
AXRelatedObjectVector* related_objects) const {
AXObjectSet visited;
HeapVector<Member<Element>> elements;
@@ -988,18 +997,18 @@ String AXObject::TextFromAriaDescribedby(
return TextFromElements(true, visited, elements, related_objects);
}
-RGBA32 AXObject::BackgroundColor() const {
+RGBA32 AXObjectImpl::BackgroundColor() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_background_color_;
}
-AccessibilityOrientation AXObject::Orientation() const {
+AccessibilityOrientation AXObjectImpl::Orientation() const {
// In ARIA 1.1, the default value for aria-orientation changed from
// horizontal to undefined.
return kAccessibilityOrientationUndefined;
}
-AXSupportedAction AXObject::Action() const {
+AXSupportedAction AXObjectImpl::Action() const {
if (!ActionElement())
return AXSupportedAction::kNone;
@@ -1024,7 +1033,7 @@ AXSupportedAction AXObject::Action() const {
}
}
-bool AXObject::IsMultiline() const {
+bool AXObjectImpl::IsMultiline() const {
Node* node = this->GetNode();
if (!node)
return false;
@@ -1041,11 +1050,11 @@ bool AXObject::IsMultiline() const {
return EqualIgnoringASCIICase(GetAttribute(aria_multilineAttr), "true");
}
-bool AXObject::AriaPressedIsPresent() const {
+bool AXObjectImpl::AriaPressedIsPresent() const {
return !GetAttribute(aria_pressedAttr).IsEmpty();
}
-bool AXObject::SupportsActiveDescendant() const {
+bool AXObjectImpl::SupportsActiveDescendant() const {
// According to the ARIA Spec, all ARIA composite widgets, ARIA text boxes
// and ARIA groups should be able to expose an active descendant.
// Implicitly, <input> and <textarea> elements should also have this ability.
@@ -1070,19 +1079,19 @@ bool AXObject::SupportsActiveDescendant() const {
}
}
-bool AXObject::SupportsARIAAttributes() const {
+bool AXObjectImpl::SupportsARIAAttributes() const {
return IsLiveRegion() || SupportsARIADragging() || SupportsARIADropping() ||
SupportsARIAFlowTo() || SupportsARIAOwns() ||
HasAttribute(aria_labelAttr);
}
-bool AXObject::SupportsRangeValue() const {
+bool AXObjectImpl::SupportsRangeValue() const {
return IsProgressIndicator() || IsMeter() || IsSlider() || IsScrollbar() ||
IsSpinButton();
}
-bool AXObject::SupportsSetSizeAndPosInSet() const {
- AXObject* parent = ParentObject();
+bool AXObjectImpl::SupportsSetSizeAndPosInSet() const {
+ AXObjectImpl* parent = ParentObject();
if (!parent)
return false;
@@ -1102,7 +1111,7 @@ bool AXObject::SupportsSetSizeAndPosInSet() const {
return false;
}
-int AXObject::IndexInParent() const {
+int AXObjectImpl::IndexInParent() const {
if (!ParentObject())
return 0;
@@ -1117,42 +1126,43 @@ int AXObject::IndexInParent() const {
return 0;
}
-bool AXObject::IsLiveRegion() const {
+bool AXObjectImpl::IsLiveRegion() const {
const AtomicString& live_region = LiveRegionStatus();
return EqualIgnoringASCIICase(live_region, "polite") ||
EqualIgnoringASCIICase(live_region, "assertive");
}
-AXObject* AXObject::LiveRegionRoot() const {
+AXObjectImpl* AXObjectImpl::LiveRegionRoot() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_live_region_root_;
}
-const AtomicString& AXObject::ContainerLiveRegionStatus() const {
+const AtomicString& AXObjectImpl::ContainerLiveRegionStatus() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_live_region_root_ ? cached_live_region_root_->LiveRegionStatus()
: g_null_atom;
}
-const AtomicString& AXObject::ContainerLiveRegionRelevant() const {
+const AtomicString& AXObjectImpl::ContainerLiveRegionRelevant() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_live_region_root_
? cached_live_region_root_->LiveRegionRelevant()
: g_null_atom;
}
-bool AXObject::ContainerLiveRegionAtomic() const {
+bool AXObjectImpl::ContainerLiveRegionAtomic() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_live_region_root_ &&
cached_live_region_root_->LiveRegionAtomic();
}
-bool AXObject::ContainerLiveRegionBusy() const {
+bool AXObjectImpl::ContainerLiveRegionBusy() const {
UpdateCachedAttributeValuesIfNeeded();
return cached_live_region_root_ && cached_live_region_root_->LiveRegionBusy();
}
-AXObject* AXObject::ElementAccessibilityHitTest(const IntPoint& point) const {
+AXObjectImpl* AXObjectImpl::ElementAccessibilityHitTest(
+ const IntPoint& point) const {
// Check if there are any mock elements that need to be handled.
for (const auto& child : children_) {
if (child->IsMockObject() &&
@@ -1160,16 +1170,16 @@ AXObject* AXObject::ElementAccessibilityHitTest(const IntPoint& point) const {
return child->ElementAccessibilityHitTest(point);
}
- return const_cast<AXObject*>(this);
+ return const_cast<AXObjectImpl*>(this);
}
-const AXObject::AXObjectVector& AXObject::Children() {
+const AXObjectImpl::AXObjectVector& AXObjectImpl::Children() {
UpdateChildrenIfNecessary();
return children_;
}
-AXObject* AXObject::ParentObject() const {
+AXObjectImpl* AXObjectImpl::ParentObject() const {
if (IsDetached())
return 0;
@@ -1182,7 +1192,7 @@ AXObject* AXObject::ParentObject() const {
return ComputeParent();
}
-AXObject* AXObject::ParentObjectIfExists() const {
+AXObjectImpl* AXObjectImpl::ParentObjectIfExists() const {
if (IsDetached())
return 0;
@@ -1192,8 +1202,8 @@ AXObject* AXObject::ParentObjectIfExists() const {
return ComputeParentIfExists();
}
-AXObject* AXObject::ParentObjectUnignored() const {
- AXObject* parent;
+AXObjectImpl* AXObjectImpl::ParentObjectUnignored() const {
+ AXObjectImpl* parent;
for (parent = ParentObject(); parent && parent->AccessibilityIsIgnored();
parent = parent->ParentObject()) {
}
@@ -1201,12 +1211,12 @@ AXObject* AXObject::ParentObjectUnignored() const {
return parent;
}
-void AXObject::UpdateChildrenIfNecessary() {
+void AXObjectImpl::UpdateChildrenIfNecessary() {
if (!HasChildren())
AddChildren();
}
-void AXObject::ClearChildren() {
+void AXObjectImpl::ClearChildren() {
// Detach all weak pointers from objects to their parents.
for (const auto& child : children_)
child->DetachFromParent();
@@ -1215,7 +1225,7 @@ void AXObject::ClearChildren() {
have_children_ = false;
}
-Document* AXObject::GetDocument() const {
+Document* AXObjectImpl::GetDocument() const {
FrameView* frame_view = DocumentFrameView();
if (!frame_view)
return 0;
@@ -1223,8 +1233,8 @@ Document* AXObject::GetDocument() const {
return frame_view->GetFrame().GetDocument();
}
-FrameView* AXObject::DocumentFrameView() const {
- const AXObject* object = this;
+FrameView* AXObjectImpl::DocumentFrameView() const {
+ const AXObjectImpl* object = this;
while (object && !object->IsAXLayoutObject())
object = object->ParentObject();
@@ -1234,12 +1244,12 @@ FrameView* AXObject::DocumentFrameView() const {
return object->DocumentFrameView();
}
-String AXObject::Language() const {
+String AXObjectImpl::Language() const {
const AtomicString& lang = GetAttribute(langAttr);
if (!lang.IsEmpty())
return lang;
- AXObject* parent = ParentObject();
+ AXObjectImpl* parent = ParentObject();
// As a last resort, fall back to the content language specified in the meta
// tag.
@@ -1253,7 +1263,7 @@ String AXObject::Language() const {
return parent->Language();
}
-bool AXObject::HasAttribute(const QualifiedName& attribute) const {
+bool AXObjectImpl::HasAttribute(const QualifiedName& attribute) const {
Node* element_node = GetNode();
if (!element_node)
return false;
@@ -1265,7 +1275,7 @@ bool AXObject::HasAttribute(const QualifiedName& attribute) const {
return element->FastHasAttribute(attribute);
}
-const AtomicString& AXObject::GetAttribute(
+const AtomicString& AXObjectImpl::GetAttribute(
const QualifiedName& attribute) const {
Node* element_node = GetNode();
if (!element_node)
@@ -1282,11 +1292,11 @@ const AtomicString& AXObject::GetAttribute(
// Scrollable containers.
//
-bool AXObject::IsScrollableContainer() const {
+bool AXObjectImpl::IsScrollableContainer() const {
return !!GetScrollableAreaIfScrollable();
}
-IntPoint AXObject::GetScrollOffset() const {
+IntPoint AXObjectImpl::GetScrollOffset() const {
ScrollableArea* area = GetScrollableAreaIfScrollable();
if (!area)
return IntPoint();
@@ -1295,7 +1305,7 @@ IntPoint AXObject::GetScrollOffset() const {
area->ScrollOffsetInt().Height());
}
-IntPoint AXObject::MinimumScrollOffset() const {
+IntPoint AXObjectImpl::MinimumScrollOffset() const {
ScrollableArea* area = GetScrollableAreaIfScrollable();
if (!area)
return IntPoint();
@@ -1304,7 +1314,7 @@ IntPoint AXObject::MinimumScrollOffset() const {
area->MinimumScrollOffsetInt().Height());
}
-IntPoint AXObject::MaximumScrollOffset() const {
+IntPoint AXObjectImpl::MaximumScrollOffset() const {
ScrollableArea* area = GetScrollableAreaIfScrollable();
if (!area)
return IntPoint();
@@ -1313,7 +1323,7 @@ IntPoint AXObject::MaximumScrollOffset() const {
area->MaximumScrollOffsetInt().Height());
}
-void AXObject::SetScrollOffset(const IntPoint& offset) const {
+void AXObjectImpl::SetScrollOffset(const IntPoint& offset) const {
ScrollableArea* area = GetScrollableAreaIfScrollable();
if (!area)
return;
@@ -1323,9 +1333,10 @@ void AXObject::SetScrollOffset(const IntPoint& offset) const {
kProgrammaticScroll);
}
-void AXObject::GetRelativeBounds(AXObject** out_container,
- FloatRect& out_bounds_in_container,
- SkMatrix44& out_container_transform) const {
+void AXObjectImpl::GetRelativeBounds(
+ AXObjectImpl** out_container,
+ FloatRect& out_bounds_in_container,
+ SkMatrix44& out_container_transform) const {
*out_container = nullptr;
out_bounds_in_container = FloatRect();
out_container_transform.setIdentity();
@@ -1347,9 +1358,10 @@ void AXObject::GetRelativeBounds(AXObject** out_container,
return;
if (IsWebArea()) {
- if (layout_object->GetFrame()->View())
+ if (layout_object->GetFrame()->View()) {
out_bounds_in_container.SetSize(
FloatSize(layout_object->GetFrame()->View()->ContentsSize()));
+ }
return;
}
@@ -1357,7 +1369,7 @@ void AXObject::GetRelativeBounds(AXObject** out_container,
// accessibility tree, and its LayoutObject must be an ancestor in the layout
// tree. Get the first such ancestor that's either scrollable or has a paint
// layer.
- AXObject* container = ParentObjectUnignored();
+ AXObjectImpl* container = ParentObjectUnignored();
LayoutObject* container_layout_object = nullptr;
while (container) {
container_layout_object = container->GetLayoutObject();
@@ -1399,8 +1411,8 @@ void AXObject::GetRelativeBounds(AXObject** out_container,
}
}
-LayoutRect AXObject::GetBoundsInFrameCoordinates() const {
- AXObject* container = nullptr;
+LayoutRect AXObjectImpl::GetBoundsInFrameCoordinates() const {
+ AXObjectImpl* container = nullptr;
FloatRect bounds;
SkMatrix44 transform;
GetRelativeBounds(&container, bounds, transform);
@@ -1424,7 +1436,7 @@ LayoutRect AXObject::GetBoundsInFrameCoordinates() const {
// Modify or take an action on an object.
//
-bool AXObject::Press() {
+bool AXObjectImpl::Press() {
Document* document = GetDocument();
if (!document)
return false;
@@ -1445,7 +1457,7 @@ bool AXObject::Press() {
return false;
}
-void AXObject::ScrollToMakeVisible() const {
+void AXObjectImpl::ScrollToMakeVisible() const {
IntRect object_rect = PixelSnappedIntRect(GetBoundsInFrameCoordinates());
object_rect.SetLocation(IntPoint());
ScrollToMakeVisibleWithSubFocus(object_rect);
@@ -1548,9 +1560,10 @@ static int ComputeBestScrollOffset(int current_scroll_offset,
return (object_min + object_max - viewport_min - viewport_max) / 2;
}
-void AXObject::ScrollToMakeVisibleWithSubFocus(const IntRect& subfocus) const {
+void AXObjectImpl::ScrollToMakeVisibleWithSubFocus(
+ const IntRect& subfocus) const {
// Search up the parent chain until we find the first one that's scrollable.
- const AXObject* scroll_parent = ParentObject() ? ParentObject() : this;
+ const AXObjectImpl* scroll_parent = ParentObject() ? ParentObject() : this;
ScrollableArea* scrollable_area = 0;
while (scroll_parent) {
scrollable_area = scroll_parent->GetScrollableAreaIfScrollable();
@@ -1598,16 +1611,16 @@ void AXObject::ScrollToMakeVisibleWithSubFocus(const IntRect& subfocus) const {
} else {
// To minimize the number of notifications, only fire one on the topmost
// object that has been scrolled.
- AxObjectCache().PostNotification(const_cast<AXObject*>(this),
+ AxObjectCache().PostNotification(const_cast<AXObjectImpl*>(this),
AXObjectCacheImpl::kAXLocationChanged);
}
}
-void AXObject::ScrollToGlobalPoint(const IntPoint& global_point) const {
+void AXObjectImpl::ScrollToGlobalPoint(const IntPoint& global_point) const {
// Search up the parent chain and create a vector of all scrollable parent
// objects and ending with this object itself.
- HeapVector<Member<const AXObject>> objects;
- AXObject* parent_object;
+ HeapVector<Member<const AXObjectImpl>> objects;
+ AXObjectImpl* parent_object;
for (parent_object = this->ParentObject(); parent_object;
parent_object = parent_object->ParentObject()) {
if (parent_object->GetScrollableAreaIfScrollable())
@@ -1621,8 +1634,8 @@ void AXObject::ScrollToGlobalPoint(const IntPoint& global_point) const {
IntPoint point = global_point;
size_t levels = objects.size() - 1;
for (size_t i = 0; i < levels; i++) {
- const AXObject* outer = objects[i];
- const AXObject* inner = objects[i + 1];
+ const AXObjectImpl* outer = objects[i];
+ const AXObjectImpl* inner = objects[i + 1];
ScrollableArea* scrollable_area = outer->GetScrollableAreaIfScrollable();
IntRect inner_rect =
@@ -1671,14 +1684,14 @@ void AXObject::ScrollToGlobalPoint(const IntPoint& global_point) const {
AXObjectCacheImpl::kAXLocationChanged);
}
-void AXObject::SetSequentialFocusNavigationStartingPoint() {
+void AXObjectImpl::SetSequentialFocusNavigationStartingPoint() {
// Call it on the nearest ancestor that overrides this with a specific
// implementation.
if (ParentObject())
ParentObject()->SetSequentialFocusNavigationStartingPoint();
}
-void AXObject::NotifyIfIgnoredValueChanged() {
+void AXObjectImpl::NotifyIfIgnoredValueChanged() {
bool is_ignored = AccessibilityIsIgnored();
if (LastKnownIsIgnoredValue() != is_ignored) {
AxObjectCache().ChildrenChanged(ParentObject());
@@ -1686,12 +1699,12 @@ void AXObject::NotifyIfIgnoredValueChanged() {
}
}
-void AXObject::SelectionChanged() {
- if (AXObject* parent = ParentObjectIfExists())
+void AXObjectImpl::SelectionChanged() {
+ if (AXObjectImpl* parent = ParentObjectIfExists())
parent->SelectionChanged();
}
-int AXObject::LineForPosition(const VisiblePosition& position) const {
+int AXObjectImpl::LineForPosition(const VisiblePosition& position) const {
if (position.IsNull() || !GetNode())
return -1;
@@ -1720,18 +1733,18 @@ int AXObject::LineForPosition(const VisiblePosition& position) const {
return line_count;
}
-bool AXObject::IsARIAControl(AccessibilityRole aria_role) {
+bool AXObjectImpl::IsARIAControl(AccessibilityRole aria_role) {
return IsARIAInput(aria_role) || aria_role == kButtonRole ||
aria_role == kComboBoxRole || aria_role == kSliderRole;
}
-bool AXObject::IsARIAInput(AccessibilityRole aria_role) {
+bool AXObjectImpl::IsARIAInput(AccessibilityRole aria_role) {
return aria_role == kRadioButtonRole || aria_role == kCheckBoxRole ||
aria_role == kTextFieldRole || aria_role == kSwitchRole ||
aria_role == kSearchBoxRole;
}
-AccessibilityRole AXObject::AriaRoleToWebCoreRole(const String& value) {
+AccessibilityRole AXObjectImpl::AriaRoleToWebCoreRole(const String& value) {
DCHECK(!value.IsEmpty());
static const ARIARoleMap* role_map = CreateARIARoleMap();
@@ -1748,7 +1761,7 @@ AccessibilityRole AXObject::AriaRoleToWebCoreRole(const String& value) {
return role;
}
-bool AXObject::IsInsideFocusableElementOrARIAWidget(const Node& node) {
+bool AXObjectImpl::IsInsideFocusableElementOrARIAWidget(const Node& node) {
const Node* cur_node = &node;
do {
if (cur_node->IsElementNode()) {
@@ -1756,7 +1769,7 @@ bool AXObject::IsInsideFocusableElementOrARIAWidget(const Node& node) {
if (element->IsFocusable())
return true;
String role = element->getAttribute("role");
- if (!role.IsEmpty() && AXObject::IncludesARIAWidgetRole(role))
+ if (!role.IsEmpty() && AXObjectImpl::IncludesARIAWidgetRole(role))
return true;
if (HasInteractiveARIAAttribute(*element))
return true;
@@ -1766,7 +1779,7 @@ bool AXObject::IsInsideFocusableElementOrARIAWidget(const Node& node) {
return false;
}
-bool AXObject::HasInteractiveARIAAttribute(const Element& element) {
+bool AXObjectImpl::HasInteractiveARIAAttribute(const Element& element) {
for (size_t i = 0; i < WTF_ARRAY_LENGTH(g_aria_interactive_widget_attributes);
++i) {
const char* attribute = g_aria_interactive_widget_attributes[i];
@@ -1777,7 +1790,7 @@ bool AXObject::HasInteractiveARIAAttribute(const Element& element) {
return false;
}
-bool AXObject::IncludesARIAWidgetRole(const String& role) {
+bool AXObjectImpl::IncludesARIAWidgetRole(const String& role) {
static const HashSet<String, CaseFoldingHash>* role_set =
CreateARIARoleWidgetSet();
@@ -1790,7 +1803,7 @@ bool AXObject::IncludesARIAWidgetRole(const String& role) {
return false;
}
-bool AXObject::NameFromContents() const {
+bool AXObjectImpl::NameFromContents() const {
// ARIA 1.1, section 5.2.7.5.
switch (RoleValue()) {
case kAnchorRole:
@@ -1835,7 +1848,7 @@ bool AXObject::NameFromContents() const {
}
}
-AccessibilityRole AXObject::ButtonRoleType() const {
+AccessibilityRole AXObjectImpl::ButtonRoleType() const {
// If aria-pressed is present, then it should be exposed as a toggle button.
// http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed
if (AriaPressedIsPresent())
@@ -1848,20 +1861,20 @@ AccessibilityRole AXObject::ButtonRoleType() const {
return kButtonRole;
}
-const AtomicString& AXObject::RoleName(AccessibilityRole role) {
+const AtomicString& AXObjectImpl::RoleName(AccessibilityRole role) {
static const Vector<AtomicString>* role_name_vector = CreateRoleNameVector();
return role_name_vector->at(role);
}
-const AtomicString& AXObject::InternalRoleName(AccessibilityRole role) {
+const AtomicString& AXObjectImpl::InternalRoleName(AccessibilityRole role) {
static const Vector<AtomicString>* internal_role_name_vector =
CreateInternalRoleNameVector();
return internal_role_name_vector->at(role);
}
-DEFINE_TRACE(AXObject) {
+DEFINE_TRACE(AXObjectImpl) {
visitor->Trace(children_);
visitor->Trace(parent_);
visitor->Trace(cached_live_region_root_);

Powered by Google App Engine
This is Rietveld 408576698