Index: ui/views/controls/textfield/textfield.cc |
diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc |
index 4787e4e4af6281a38cf26fa9327643a4eb52d391..f556180f00f5f13e388b9e4a63e549b84856ace5 100644 |
--- a/ui/views/controls/textfield/textfield.cc |
+++ b/ui/views/controls/textfield/textfield.cc |
@@ -506,6 +506,9 @@ void Textfield::GetAccessibleState(ui::AccessibleViewState* state) { |
const ui::Range range = native_wrapper_->GetSelectedRange(); |
state->selection_start = range.start(); |
state->selection_end = range.end(); |
+ |
+ state->set_value_callback = |
+ base::Bind(&Textfield::AccessibilitySetValue, AsWeakPtr()); |
} |
ui::TextInputClient* Textfield::GetTextInputClient() { |
@@ -554,6 +557,11 @@ gfx::Insets Textfield::GetTextInsets() const { |
return insets; |
} |
+void Textfield::AccessibilitySetValue(const string16& new_value) { |
+ SetText(new_value); |
+ ClearSelection(); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// NativeTextfieldWrapper, public: |