summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc202
1 files changed, 101 insertions, 101 deletions
diff --git a/chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc b/chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc
index 28a9aa8b13a..4f763635342 100644
--- a/chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc
+++ b/chromium/third_party/blink/renderer/modules/exported/web_ax_object.cc
@@ -90,8 +90,7 @@ class WebAXSparseAttributeClientAdapter : public AXSparseAttributeClient {
void AddObjectVectorAttribute(AXObjectVectorAttribute attribute,
HeapVector<Member<AXObject>>& value) override {
WebVector<WebAXObject> result(value.size());
- for (size_t i = 0; i < value.size(); i++)
- result[i] = WebAXObject(value[i]);
+ std::copy(value.begin(), value.end(), result.begin());
attribute_map_.AddObjectVectorAttribute(
static_cast<WebAXObjectVectorAttribute>(attribute), result);
}
@@ -156,11 +155,11 @@ bool WebAXObject::UpdateLayoutAndCheckValidity() {
return !IsDetached();
}
-WebAXDefaultActionVerb WebAXObject::Action() const {
+ax::mojom::DefaultActionVerb WebAXObject::Action() const {
if (IsDetached())
- return WebAXDefaultActionVerb::kNone;
+ return ax::mojom::DefaultActionVerb::kNone;
- return static_cast<WebAXDefaultActionVerb>(private_->Action());
+ return private_->Action();
}
bool WebAXObject::CanPress() const {
@@ -239,18 +238,18 @@ WebString WebAXObject::AriaAutoComplete() const {
return private_->AriaAutoComplete();
}
-WebAXAriaCurrentState WebAXObject::AriaCurrentState() const {
+ax::mojom::AriaCurrentState WebAXObject::AriaCurrentState() const {
if (IsDetached())
- return kWebAXAriaCurrentStateUndefined;
+ return ax::mojom::AriaCurrentState::kNone;
- return static_cast<WebAXAriaCurrentState>(private_->GetAriaCurrentState());
+ return private_->GetAriaCurrentState();
}
-WebAXCheckedState WebAXObject::CheckedState() const {
+ax::mojom::CheckedState WebAXObject::CheckedState() const {
if (IsDetached())
- return kWebAXCheckedUndefined;
+ return ax::mojom::CheckedState::kNone;
- return static_cast<WebAXCheckedState>(private_->CheckedState());
+ return private_->CheckedState();
}
bool WebAXObject::IsClickable() const {
@@ -260,13 +259,6 @@ bool WebAXObject::IsClickable() const {
return private_->IsClickable();
}
-bool WebAXObject::IsCollapsed() const {
- if (IsDetached())
- return false;
-
- return private_->IsCollapsed();
-}
-
bool WebAXObject::IsControl() const {
if (IsDetached())
return false;
@@ -428,11 +420,11 @@ WebAXObject WebAXObject::AriaActiveDescendant() const {
return WebAXObject(private_->ActiveDescendant());
}
-WebAXHasPopup WebAXObject::HasPopup() const {
+ax::mojom::HasPopup WebAXObject::HasPopup() const {
if (IsDetached())
- return kWebAXHasPopupFalse;
+ return ax::mojom::HasPopup::kFalse;
- return static_cast<WebAXHasPopup>(private_->HasPopup());
+ return private_->HasPopup();
}
bool WebAXObject::IsEditableRoot() const {
@@ -581,11 +573,11 @@ WebString WebAXObject::ImageDataUrl(const WebSize& max_size) const {
return private_->ImageDataUrl(max_size);
}
-WebAXInvalidState WebAXObject::InvalidState() const {
+ax::mojom::InvalidState WebAXObject::InvalidState() const {
if (IsDetached())
- return kWebAXInvalidStateUndefined;
+ return ax::mojom::InvalidState::kNone;
- return static_cast<WebAXInvalidState>(private_->GetInvalidState());
+ return private_->GetInvalidState();
}
// Only used when invalidState() returns WebAXInvalidStateOther.
@@ -725,42 +717,53 @@ WebVector<WebAXObject> WebAXObject::RadioButtonsInGroup() const {
AXObject::AXObjectVector radio_buttons = private_->RadioButtonsInGroup();
WebVector<WebAXObject> web_radio_buttons(radio_buttons.size());
- for (size_t i = 0; i < radio_buttons.size(); ++i)
- web_radio_buttons[i] = WebAXObject(radio_buttons[i]);
+ std::copy(radio_buttons.begin(), radio_buttons.end(),
+ web_radio_buttons.begin());
return web_radio_buttons;
}
-WebAXRole WebAXObject::Role() const {
+ax::mojom::Role WebAXObject::Role() const {
if (IsDetached())
- return kWebAXRoleUnknown;
+ return ax::mojom::Role::kUnknown;
- return static_cast<WebAXRole>(private_->RoleValue());
+ return private_->RoleValue();
+}
+
+static ax::mojom::TextAffinity ToAXAffinity(TextAffinity affinity) {
+ switch (affinity) {
+ case TextAffinity::kUpstream:
+ return ax::mojom::TextAffinity::kUpstream;
+ case TextAffinity::kDownstream:
+ return ax::mojom::TextAffinity::kDownstream;
+ default:
+ NOTREACHED();
+ return ax::mojom::TextAffinity::kDownstream;
+ }
}
void WebAXObject::Selection(WebAXObject& anchor_object,
int& anchor_offset,
- WebAXTextAffinity& anchor_affinity,
+ ax::mojom::TextAffinity& anchor_affinity,
WebAXObject& focus_object,
int& focus_offset,
- WebAXTextAffinity& focus_affinity) const {
+ ax::mojom::TextAffinity& focus_affinity) const {
if (IsDetached()) {
anchor_object = WebAXObject();
anchor_offset = -1;
- anchor_affinity = kWebAXTextAffinityDownstream;
+ anchor_affinity = ax::mojom::TextAffinity::kDownstream;
focus_object = WebAXObject();
focus_offset = -1;
- focus_affinity = kWebAXTextAffinityDownstream;
+ focus_affinity = ax::mojom::TextAffinity::kDownstream;
return;
}
AXObject::AXSelection ax_selection = private_->Selection();
anchor_object = WebAXObject(ax_selection.anchor_object);
anchor_offset = ax_selection.anchor_offset;
- anchor_affinity =
- static_cast<WebAXTextAffinity>(ax_selection.anchor_affinity);
+ anchor_affinity = ToAXAffinity(ax_selection.anchor_affinity);
focus_object = WebAXObject(ax_selection.focus_object);
focus_offset = ax_selection.focus_offset;
- focus_affinity = static_cast<WebAXTextAffinity>(ax_selection.focus_affinity);
+ focus_affinity = ToAXAffinity(ax_selection.focus_affinity);
return;
}
@@ -873,18 +876,18 @@ WebString WebAXObject::StringValue() const {
return private_->StringValue();
}
-WebAXTextDirection WebAXObject::GetTextDirection() const {
+ax::mojom::TextDirection WebAXObject::GetTextDirection() const {
if (IsDetached())
- return kWebAXTextDirectionLR;
+ return ax::mojom::TextDirection::kLtr;
- return static_cast<WebAXTextDirection>(private_->GetTextDirection());
+ return private_->GetTextDirection();
}
-WebAXTextPosition WebAXObject::GetTextPosition() const {
+ax::mojom::TextPosition WebAXObject::GetTextPosition() const {
if (IsDetached())
- return kWebAXTextPositionNone;
+ return ax::mojom::TextPosition::kNone;
- return static_cast<WebAXTextPosition>(private_->GetTextPosition());
+ return private_->GetTextPosition();
}
WebAXTextStyle WebAXObject::TextStyle() const {
@@ -901,20 +904,19 @@ WebURL WebAXObject::Url() const {
return private_->Url();
}
-WebString WebAXObject::GetName(WebAXNameFrom& out_name_from,
+WebString WebAXObject::GetName(ax::mojom::NameFrom& out_name_from,
WebVector<WebAXObject>& out_name_objects) const {
if (IsDetached())
return WebString();
- AXNameFrom name_from = kAXNameFromUninitialized;
+ ax::mojom::NameFrom name_from = ax::mojom::NameFrom::kUninitialized;
HeapVector<Member<AXObject>> name_objects;
WebString result = private_->GetName(name_from, &name_objects);
- out_name_from = static_cast<WebAXNameFrom>(name_from);
+ out_name_from = name_from;
- WebVector<WebAXObject> web_name_objects(name_objects.size());
- for (size_t i = 0; i < name_objects.size(); i++)
- web_name_objects[i] = WebAXObject(name_objects[i]);
- out_name_objects.Swap(web_name_objects);
+ out_name_objects.reserve(name_objects.size());
+ out_name_objects.resize(name_objects.size());
+ std::copy(name_objects.begin(), name_objects.end(), out_name_objects.begin());
return result;
}
@@ -923,37 +925,38 @@ WebString WebAXObject::GetName() const {
if (IsDetached())
return WebString();
- AXNameFrom name_from;
+ ax::mojom::NameFrom name_from;
HeapVector<Member<AXObject>> name_objects;
return private_->GetName(name_from, &name_objects);
}
WebString WebAXObject::Description(
- WebAXNameFrom name_from,
- WebAXDescriptionFrom& out_description_from,
+ ax::mojom::NameFrom name_from,
+ ax::mojom::DescriptionFrom& out_description_from,
WebVector<WebAXObject>& out_description_objects) const {
if (IsDetached())
return WebString();
- AXDescriptionFrom description_from = kAXDescriptionFromUninitialized;
+ ax::mojom::DescriptionFrom description_from =
+ ax::mojom::DescriptionFrom::kUninitialized;
HeapVector<Member<AXObject>> description_objects;
- String result = private_->Description(static_cast<AXNameFrom>(name_from),
- description_from, &description_objects);
- out_description_from = static_cast<WebAXDescriptionFrom>(description_from);
+ String result =
+ private_->Description(name_from, description_from, &description_objects);
+ out_description_from = description_from;
- WebVector<WebAXObject> web_description_objects(description_objects.size());
- for (size_t i = 0; i < description_objects.size(); i++)
- web_description_objects[i] = WebAXObject(description_objects[i]);
- out_description_objects.Swap(web_description_objects);
+ out_description_objects.reserve(description_objects.size());
+ out_description_objects.resize(description_objects.size());
+ std::copy(description_objects.begin(), description_objects.end(),
+ out_description_objects.begin());
return result;
}
-WebString WebAXObject::Placeholder(WebAXNameFrom name_from) const {
+WebString WebAXObject::Placeholder(ax::mojom::NameFrom name_from) const {
if (IsDetached())
return WebString();
- return private_->Placeholder(static_cast<AXNameFrom>(name_from));
+ return private_->Placeholder(name_from);
}
bool WebAXObject::SupportsRangeValue() const {
@@ -1071,13 +1074,7 @@ bool WebAXObject::LineBreaks(WebVector<int>& result) const {
Vector<int> line_breaks_vector;
private_->LineBreaks(line_breaks_vector);
-
- size_t vector_size = line_breaks_vector.size();
- WebVector<int> line_breaks_web_vector(vector_size);
- for (size_t i = 0; i < vector_size; i++)
- line_breaks_web_vector[i] = line_breaks_vector[i];
- result.Swap(line_breaks_web_vector);
-
+ result = line_breaks_vector;
return true;
}
@@ -1164,21 +1161,16 @@ void WebAXObject::RowHeaders(
AXObject::AXObjectVector headers;
private_->RowHeaders(headers);
-
- size_t header_count = headers.size();
- WebVector<WebAXObject> result(header_count);
-
- for (size_t i = 0; i < header_count; i++)
- result[i] = WebAXObject(headers[i]);
-
- row_header_elements.Swap(result);
+ row_header_elements.reserve(headers.size());
+ row_header_elements.resize(headers.size());
+ std::copy(headers.begin(), headers.end(), row_header_elements.begin());
}
unsigned WebAXObject::ColumnIndex() const {
if (IsDetached())
return 0;
- if (private_->RoleValue() != kColumnRole)
+ if (private_->RoleValue() != ax::mojom::Role::kColumn)
return 0;
return private_->ColumnIndex();
@@ -1188,7 +1180,7 @@ WebAXObject WebAXObject::ColumnHeader() const {
if (IsDetached())
return WebAXObject();
- if (private_->RoleValue() != kColumnRole)
+ if (private_->RoleValue() != ax::mojom::Role::kColumn)
return WebAXObject();
return WebAXObject(private_->HeaderObject());
@@ -1204,14 +1196,9 @@ void WebAXObject::ColumnHeaders(
AXObject::AXObjectVector headers;
private_->ColumnHeaders(headers);
-
- size_t header_count = headers.size();
- WebVector<WebAXObject> result(header_count);
-
- for (size_t i = 0; i < header_count; i++)
- result[i] = WebAXObject(headers[i]);
-
- column_header_elements.Swap(result);
+ column_header_elements.reserve(headers.size());
+ column_header_elements.resize(headers.size());
+ std::copy(headers.begin(), headers.end(), column_header_elements.begin());
}
unsigned WebAXObject::CellColumnIndex() const {
@@ -1242,11 +1229,11 @@ unsigned WebAXObject::CellRowSpan() const {
return private_->IsTableCellLikeRole() ? private_->RowSpan() : 0;
}
-WebAXSortDirection WebAXObject::SortDirection() const {
+ax::mojom::SortDirection WebAXObject::SortDirection() const {
if (IsDetached())
- return kWebAXSortDirectionUndefined;
+ return ax::mojom::SortDirection::kNone;
- return static_cast<WebAXSortDirection>(private_->GetSortDirection());
+ return private_->GetSortDirection();
}
void WebAXObject::LoadInlineTextBoxes() const {
@@ -1270,7 +1257,25 @@ WebAXObject WebAXObject::PreviousOnLine() const {
return WebAXObject(private_.Get()->PreviousOnLine());
}
-void WebAXObject::Markers(WebVector<WebAXMarkerType>& types,
+static ax::mojom::MarkerType ToAXMarkerType(
+ DocumentMarker::MarkerType marker_type) {
+ switch (marker_type) {
+ case DocumentMarker::kSpelling:
+ return ax::mojom::MarkerType::kSpelling;
+ case DocumentMarker::kGrammar:
+ return ax::mojom::MarkerType::kGrammar;
+ case DocumentMarker::kTextMatch:
+ return ax::mojom::MarkerType::kTextMatch;
+ case DocumentMarker::kActiveSuggestion:
+ return ax::mojom::MarkerType::kActiveSuggestion;
+ case DocumentMarker::kSuggestion:
+ return ax::mojom::MarkerType::kSuggestion;
+ default:
+ return ax::mojom::MarkerType::kNone;
+ }
+}
+
+void WebAXObject::Markers(WebVector<ax::mojom::MarkerType>& types,
WebVector<int>& starts,
WebVector<int>& ends) const {
if (IsDetached())
@@ -1281,11 +1286,11 @@ void WebAXObject::Markers(WebVector<WebAXMarkerType>& types,
private_->Markers(marker_types, marker_ranges);
DCHECK_EQ(marker_types.size(), marker_ranges.size());
- WebVector<WebAXMarkerType> web_marker_types(marker_types.size());
+ WebVector<ax::mojom::MarkerType> web_marker_types(marker_types.size());
WebVector<int> start_offsets(marker_ranges.size());
WebVector<int> end_offsets(marker_ranges.size());
- for (size_t i = 0; i < marker_types.size(); ++i) {
- web_marker_types[i] = static_cast<WebAXMarkerType>(marker_types[i]);
+ for (wtf_size_t i = 0; i < marker_types.size(); ++i) {
+ web_marker_types[i] = ToAXMarkerType(marker_types[i]);
DCHECK(marker_ranges[i].IsValid());
DCHECK_EQ(marker_ranges[i].Start().ContainerObject(),
marker_ranges[i].End().ContainerObject());
@@ -1304,12 +1309,7 @@ void WebAXObject::CharacterOffsets(WebVector<int>& offsets) const {
Vector<int> offsets_vector;
private_->TextCharacterOffsets(offsets_vector);
-
- size_t vector_size = offsets_vector.size();
- WebVector<int> offsets_web_vector(vector_size);
- for (size_t i = 0; i < vector_size; i++)
- offsets_web_vector[i] = offsets_vector[i];
- offsets.Swap(offsets_web_vector);
+ offsets = offsets_vector;
}
void WebAXObject::GetWordBoundaries(WebVector<int>& starts,
@@ -1322,7 +1322,7 @@ void WebAXObject::GetWordBoundaries(WebVector<int>& starts,
WebVector<int> word_start_offsets(word_boundaries.size());
WebVector<int> word_end_offsets(word_boundaries.size());
- for (size_t i = 0; i < word_boundaries.size(); ++i) {
+ for (wtf_size_t i = 0; i < word_boundaries.size(); ++i) {
DCHECK(word_boundaries[i].IsValid());
DCHECK_EQ(word_boundaries[i].Start().ContainerObject(),
word_boundaries[i].End().ContainerObject());