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

Unified Diff: ui/views/accessibility/native_view_accessibility.cc

Issue 2477463003: Replace ui::AXViewState with AXNodeData and AXActionData (Closed)
Patch Set: Fix test Created 4 years, 1 month 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: ui/views/accessibility/native_view_accessibility.cc
diff --git a/ui/views/accessibility/native_view_accessibility.cc b/ui/views/accessibility/native_view_accessibility.cc
index 20ed7e7500be620ce173b42f85fa1c8d3d0f79c8..db1c1c472d8c60cf849cae4f8d4980f1622798e0 100644
--- a/ui/views/accessibility/native_view_accessibility.cc
+++ b/ui/views/accessibility/native_view_accessibility.cc
@@ -6,7 +6,8 @@
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
-#include "ui/accessibility/ax_view_state.h"
+#include "ui/accessibility/ax_action_data.h"
+#include "ui/accessibility/ax_node_data.h"
#include "ui/events/event_utils.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/views/controls/native/native_view_host.h"
@@ -53,6 +54,7 @@ void NativeViewAccessibility::NotifyAccessibilityEvent(ui::AXEvent event_type) {
const ui::AXNodeData& NativeViewAccessibility::GetData() {
data_ = ui::AXNodeData();
+ data_.state = 0;
// Views may misbehave if their widget is closed; return an unknown role
// rather than possibly crashing.
@@ -62,27 +64,12 @@ const ui::AXNodeData& NativeViewAccessibility::GetData() {
return data_;
}
- ui::AXViewState state;
- view_->GetAccessibleState(&state);
- data_.role = state.role;
- data_.state = state.state();
+ view_->GetAccessibleNodeData(&data_);
data_.location = gfx::RectF(view_->GetBoundsInScreen());
- data_.AddStringAttribute(ui::AX_ATTR_NAME, base::UTF16ToUTF8(state.name));
- data_.AddStringAttribute(ui::AX_ATTR_VALUE, base::UTF16ToUTF8(state.value));
- data_.AddStringAttribute(ui::AX_ATTR_ACTION,
- base::UTF16ToUTF8(state.default_action));
- data_.AddStringAttribute(ui::AX_ATTR_SHORTCUT,
- base::UTF16ToUTF8(state.keyboard_shortcut));
- data_.AddStringAttribute(ui::AX_ATTR_PLACEHOLDER,
- base::UTF16ToUTF8(state.placeholder));
-
- if (state.description.empty() &&
- view_->GetTooltipText(gfx::Point(), &state.description))
- data_.AddStringAttribute(ui::AX_ATTR_DESCRIPTION,
- base::UTF16ToUTF8(state.description));
-
- data_.AddIntAttribute(ui::AX_ATTR_TEXT_SEL_START, state.selection_start);
- data_.AddIntAttribute(ui::AX_ATTR_TEXT_SEL_END, state.selection_end);
+ base::string16 description;
+ view_->GetTooltipText(gfx::Point(), &description);
+ data_.AddStringAttribute(ui::AX_ATTR_DESCRIPTION,
+ base::UTF16ToUTF8(description));
data_.state |= (1 << ui::AX_STATE_FOCUSABLE);
@@ -219,17 +206,15 @@ bool NativeViewAccessibility::SetStringValue(const base::string16& new_value,
if (!CanSetStringValue())
return false;
- ui::AXViewState state;
- view_->GetAccessibleState(&state);
- state.set_value_callback.Run(new_value, clear_first);
- return true;
+ ui::AXActionData action_data;
+ action_data.value = new_value;
+ action_data.action = clear_first ? ui::AX_ACTION_SET_VALUE
+ : ui::AX_ACTION_REPLACE_SELECTED_TEXT;
+ return view_->HandleAccessibleAction(action_data);
}
bool NativeViewAccessibility::CanSetStringValue() {
- ui::AXViewState state;
- view_->GetAccessibleState(&state);
- return !ui::AXViewState::IsFlagSet(GetData().state, ui::AX_STATE_READ_ONLY) &&
- !state.set_value_callback.is_null();
+ return !ui::AXNodeData::IsFlagSet(GetData().state, ui::AX_STATE_READ_ONLY);
}
void NativeViewAccessibility::OnWidgetDestroying(Widget* widget) {
« no previous file with comments | « ui/views/accessibility/ax_view_obj_wrapper.cc ('k') | ui/views/accessibility/native_view_accessibility_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698