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

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

Issue 2230093002: MacViews a11y: Allow accessibility clients to set the AXValue on some controls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't say attributes are settable until implemented. Created 4 years, 4 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: 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 c10e55cc3ac51e5c358cbc316bf3af411bed9d00..9c753793a15fb56e77da30903ebc39a328cdf28f 100644
--- a/ui/views/accessibility/native_view_accessibility.cc
+++ b/ui/views/accessibility/native_view_accessibility.cc
@@ -206,15 +206,22 @@ void NativeViewAccessibility::DoDefaultAction() {
bool NativeViewAccessibility::SetStringValue(const base::string16& new_value) {
// Return an error if the view can't set the value.
- ui::AXViewState state;
- view_->GetAccessibleState(&state);
- if (state.set_value_callback.is_null())
+ if (!CanSetStringValue())
return false;
+ ui::AXViewState state;
+ view_->GetAccessibleState(&state);
state.set_value_callback.Run(new_value);
return true;
}
+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();
+}
+
void NativeViewAccessibility::OnWidgetDestroying(Widget* widget) {
if (parent_widget_ == widget) {
parent_widget_->RemoveObserver(this);
« no previous file with comments | « ui/views/accessibility/native_view_accessibility.h ('k') | ui/views/accessibility/native_view_accessibility_auralinux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698