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..cab1956fb90d189d3a6d90a35a974dbb53e05002 100644 |
--- a/ui/views/controls/textfield/textfield.cc |
+++ b/ui/views/controls/textfield/textfield.cc |
@@ -89,7 +89,8 @@ Textfield::Textfield() |
vertical_margins_were_set_(false), |
vertical_alignment_(gfx::ALIGN_VCENTER), |
placeholder_text_color_(kDefaultPlaceholderTextColor), |
- text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { |
+ text_input_type_(ui::TEXT_INPUT_TYPE_TEXT), |
+ weak_ptr_factory_(this) { |
set_focusable(true); |
if (ViewsDelegate::views_delegate) { |
@@ -114,7 +115,8 @@ Textfield::Textfield(StyleFlags style) |
vertical_margins_were_set_(false), |
vertical_alignment_(gfx::ALIGN_VCENTER), |
placeholder_text_color_(kDefaultPlaceholderTextColor), |
- text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { |
+ text_input_type_(ui::TEXT_INPUT_TYPE_TEXT), |
+ weak_ptr_factory_(this) { |
set_focusable(true); |
if (IsObscured()) |
SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); |
@@ -506,6 +508,10 @@ 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, |
+ weak_ptr_factory_.GetWeakPtr()); |
} |
ui::TextInputClient* Textfield::GetTextInputClient() { |
@@ -554,6 +560,11 @@ gfx::Insets Textfield::GetTextInsets() const { |
return insets; |
} |
+void Textfield::AccessibilitySetValue(const string16& new_value) { |
sky
2013/09/04 16:20:12
Make position match header.
dmazzoni
2013/09/04 17:16:18
I think it is in the right place - I added a secti
|
+ SetText(new_value); |
sky
2013/09/04 16:20:12
Doesn't this need to check readonly?
dmazzoni
2013/09/04 17:16:18
Done. I also had it not set the callback, above.
|
+ ClearSelection(); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// NativeTextfieldWrapper, public: |