Commit 0535a55b authored by Nektarios Paisios's avatar Nektarios Paisios Committed by Commit Bot

Switch to using new AXObject helper functions in AXPosition and AXSelection

Also, dropped the word "container" from AXPosition::Create...PositionInContainerObject for better readability and faster typing.
R=dmazzoni@chromium.org, aleventhal@chromium.org

Bug: 639340
Change-Id: I75c10bb35435a7cad9988e30a54af60f525bb29c
Reviewed-on: https://chromium-review.googlesource.com/995639
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: default avatarAaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548281}
parent ca3b1cc2
......@@ -22,7 +22,7 @@ const AXPosition AXPosition::CreatePositionBeforeObject(const AXObject& child) {
// If |child| is a text object, make behavior the same as
// |CreateFirstPositionInObject| so that equality would hold.
if (child.GetNode() && child.GetNode()->IsTextNode())
return CreateFirstPositionInContainerObject(child);
return CreateFirstPositionInObject(child);
const AXObject* parent = child.ParentObjectUnignored();
DCHECK(parent);
......@@ -37,7 +37,7 @@ const AXPosition AXPosition::CreatePositionAfterObject(const AXObject& child) {
// If |child| is a text object, make behavior the same as
// |CreateLastPositionInObject| so that equality would hold.
if (child.GetNode() && child.GetNode()->IsTextNode())
return CreateLastPositionInContainerObject(child);
return CreateLastPositionInObject(child);
const AXObject* parent = child.ParentObjectUnignored();
DCHECK(parent);
......@@ -48,7 +48,7 @@ const AXPosition AXPosition::CreatePositionAfterObject(const AXObject& child) {
}
// static
const AXPosition AXPosition::CreateFirstPositionInContainerObject(
const AXPosition AXPosition::CreateFirstPositionInObject(
const AXObject& container) {
if (container.GetNode() && container.GetNode()->IsTextNode()) {
AXPosition position(container);
......@@ -63,7 +63,7 @@ const AXPosition AXPosition::CreateFirstPositionInContainerObject(
}
// static
const AXPosition AXPosition::CreateLastPositionInContainerObject(
const AXPosition AXPosition::CreateLastPositionInObject(
const AXObject& container) {
if (container.GetNode() && container.GetNode()->IsTextNode()) {
AXPosition position(container);
......@@ -77,8 +77,7 @@ const AXPosition AXPosition::CreateLastPositionInContainerObject(
return position;
}
AXPosition position(container);
position.text_offset_or_child_index_ =
static_cast<int>(container.Children().size());
position.text_offset_or_child_index_ = container.ChildCount();
DCHECK(position.IsValid());
return position;
}
......@@ -131,8 +130,7 @@ const AXPosition AXPosition::FromPosition(const Position& position) {
const Node* node_after_position = position.ComputeNodeAfterPosition();
if (!node_after_position) {
ax_position.text_offset_or_child_index_ =
static_cast<int>(container->Children().size());
ax_position.text_offset_or_child_index_ = container->ChildCount();
DCHECK(ax_position.IsValid());
return ax_position;
}
......@@ -207,8 +205,7 @@ bool AXPosition::IsValid() const {
DCHECK(text_offset_or_child_index_);
if (text_offset_or_child_index_ &&
!container_object_->GetNode()->IsTextNode()) {
if (text_offset_or_child_index_ >
static_cast<int>(container_object_->Children().size()))
if (text_offset_or_child_index_ > container_object_->ChildCount())
return false;
}
......@@ -263,8 +260,7 @@ const PositionWithAffinity AXPosition::ToPositionWithAffinity(
}
if (!IsTextPosition()) {
if (ChildIndex() ==
static_cast<int>(container_object_->Children().size())) {
if (ChildIndex() == container_object_->ChildCount()) {
return PositionWithAffinity(Position::LastPositionInNode(*container_node),
affinity_);
}
......
......@@ -34,10 +34,9 @@ class MODULES_EXPORT AXPosition final {
public:
static const AXPosition CreatePositionBeforeObject(const AXObject& child);
static const AXPosition CreatePositionAfterObject(const AXObject& child);
static const AXPosition CreateFirstPositionInContainerObject(
const AXObject& container);
static const AXPosition CreateLastPositionInContainerObject(
static const AXPosition CreateFirstPositionInObject(
const AXObject& container);
static const AXPosition CreateLastPositionInObject(const AXObject& container);
static const AXPosition CreatePositionInTextObject(
const AXObject& container,
int offset,
......
......@@ -23,7 +23,7 @@ TEST_F(AccessibilityTest, PositionInText) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
ASSERT_EQ(AccessibilityRole::kStaticTextRole, ax_static_text->RoleValue());
const auto ax_position =
......@@ -40,7 +40,7 @@ TEST_F(AccessibilityTest, PositionBeforeText) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
ASSERT_EQ(AccessibilityRole::kStaticTextRole, ax_static_text->RoleValue());
const auto ax_position =
......@@ -57,7 +57,7 @@ TEST_F(AccessibilityTest, PositionBeforeTextWithFirstLetterCSSRule) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
ASSERT_EQ(AccessibilityRole::kStaticTextRole, ax_static_text->RoleValue());
const auto ax_position =
......@@ -75,7 +75,7 @@ TEST_F(AccessibilityTest, PositionAfterText) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
ASSERT_EQ(AccessibilityRole::kStaticTextRole, ax_static_text->RoleValue());
const auto ax_position =
......@@ -111,8 +111,7 @@ TEST_F(AccessibilityTest, FirstPositionInContainerDiv) {
ASSERT_NE(nullptr, div);
const AXObject* ax_div = GetAXObjectByElementId("div");
ASSERT_NE(nullptr, ax_div);
const auto ax_position =
AXPosition::CreateFirstPositionInContainerObject(*ax_div);
const auto ax_position = AXPosition::CreateFirstPositionInObject(*ax_div);
const auto position = ax_position.ToPositionWithAffinity();
EXPECT_EQ(div, position.AnchorNode());
EXPECT_EQ(0, position.GetPosition().OffsetInContainerNode());
......@@ -124,8 +123,7 @@ TEST_F(AccessibilityTest, LastPositionInContainerDiv) {
ASSERT_NE(nullptr, div);
const AXObject* ax_div = GetAXObjectByElementId("div");
ASSERT_NE(nullptr, ax_div);
const auto ax_position =
AXPosition::CreateLastPositionInContainerObject(*ax_div);
const auto ax_position = AXPosition::CreateLastPositionInObject(*ax_div);
const auto position = ax_position.ToPositionWithAffinity();
EXPECT_EQ(div, position.AnchorNode());
EXPECT_TRUE(position.GetPosition().IsAfterChildren());
......@@ -144,9 +142,8 @@ TEST_F(AccessibilityTest, AXPositionComparisonOperators) {
const AXObject* root = GetAXRootObject();
ASSERT_NE(nullptr, root);
const auto root_first =
AXPosition::CreateFirstPositionInContainerObject(*root);
const auto root_last = AXPosition::CreateLastPositionInContainerObject(*root);
const auto root_first = AXPosition::CreateFirstPositionInObject(*root);
const auto root_last = AXPosition::CreateLastPositionInObject(*root);
const AXObject* input = GetAXObjectByElementId("input");
ASSERT_NE(nullptr, input);
......@@ -202,7 +199,7 @@ TEST_F(AccessibilityTest, PositionInTextWithWhiteSpace) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
ASSERT_EQ(AccessibilityRole::kStaticTextRole, ax_static_text->RoleValue());
const auto ax_position =
......
......@@ -61,8 +61,8 @@ bool AXRange::IsValid() const {
// static
AXRange AXRange::RangeOfContents(const AXObject& container) {
return AXRange(AXPosition::CreateFirstPositionInContainerObject(container),
AXPosition::CreateLastPositionInContainerObject(container));
return AXRange(AXPosition::CreateFirstPositionInObject(container),
AXPosition::CreateLastPositionInObject(container));
}
bool operator==(const AXRange& a, const AXRange& b) {
......
......@@ -33,14 +33,12 @@ TEST_F(AccessibilityTest, CommonAncestorContainerOfRange) {
const AXObject* button = GetAXObjectByElementId("button");
ASSERT_NE(nullptr, button);
EXPECT_EQ(root,
AXRange(AXPosition::CreateFirstPositionInContainerObject(*input),
AXPosition::CreateLastPositionInContainerObject(*button))
.CommonAncestorContainer());
EXPECT_EQ(root,
AXRange(AXPosition::CreateFirstPositionInContainerObject(*br),
AXPosition::CreateFirstPositionInContainerObject(*button))
.CommonAncestorContainer());
EXPECT_EQ(root, AXRange(AXPosition::CreateFirstPositionInObject(*input),
AXPosition::CreateLastPositionInObject(*button))
.CommonAncestorContainer());
EXPECT_EQ(root, AXRange(AXPosition::CreateFirstPositionInObject(*br),
AXPosition::CreateFirstPositionInObject(*button))
.CommonAncestorContainer());
EXPECT_EQ(paragraph, AXRange(AXPosition::CreatePositionBeforeObject(*text1),
AXPosition::CreatePositionBeforeObject(*br))
.CommonAncestorContainer());
......@@ -59,11 +57,10 @@ TEST_F(AccessibilityTest, IsCollapsedRange) {
ASSERT_EQ(AccessibilityRole::kStaticTextRole, text->RoleValue());
const AXRange paragraph_range(
AXPosition::CreateLastPositionInContainerObject(*paragraph),
AXPosition::CreateLastPositionInContainerObject(*paragraph));
const AXRange text_range(
AXPosition::CreateLastPositionInContainerObject(*text),
AXPosition::CreateLastPositionInContainerObject(*text));
AXPosition::CreateLastPositionInObject(*paragraph),
AXPosition::CreateLastPositionInObject(*paragraph));
const AXRange text_range(AXPosition::CreateLastPositionInObject(*text),
AXPosition::CreateLastPositionInObject(*text));
EXPECT_TRUE(paragraph_range.IsCollapsed());
EXPECT_TRUE(text_range.IsCollapsed());
EXPECT_FALSE(AXRange::RangeOfContents(*paragraph).IsCollapsed());
......@@ -76,9 +73,9 @@ TEST_F(AccessibilityTest, RangeOfContents) {
ASSERT_NE(nullptr, paragraph);
const AXRange paragraph_range = AXRange::RangeOfContents(*paragraph);
EXPECT_EQ(AXPosition::CreateFirstPositionInContainerObject(*paragraph),
EXPECT_EQ(AXPosition::CreateFirstPositionInObject(*paragraph),
paragraph_range.Start());
EXPECT_EQ(AXPosition::CreateLastPositionInContainerObject(*paragraph),
EXPECT_EQ(AXPosition::CreateLastPositionInObject(*paragraph),
paragraph_range.End());
}
......
......@@ -23,7 +23,7 @@ TEST_F(AccessibilityTest, SetSelectionInText) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
const auto ax_base =
AXPosition::CreatePositionInTextObject(*ax_static_text, 3);
......@@ -44,7 +44,7 @@ TEST_F(AccessibilityTest, SetSelectionInTextWithWhiteSpace) {
const Node* text = GetElementById("paragraph")->firstChild();
ASSERT_NE(nullptr, text);
const AXObject* ax_static_text =
*(GetAXObjectByElementId("paragraph")->Children().begin());
GetAXObjectByElementId("paragraph")->FirstChild();
ASSERT_NE(nullptr, ax_static_text);
const auto ax_base =
AXPosition::CreatePositionInTextObject(*ax_static_text, 3);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment