| Index: views/controls/textfield/native_textfield_views.cc
|
| diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc
|
| index 810bad1d3c4c715f107cae0632cf7b5812960e83..c14463ef52fee75ca50b9b537a4449f0f017b11a 100644
|
| --- a/views/controls/textfield/native_textfield_views.cc
|
| +++ b/views/controls/textfield/native_textfield_views.cc
|
| @@ -861,11 +861,18 @@ bool NativeTextfieldViews::HandleKeyEvent(const KeyEvent& key_event) {
|
| cursor_changed = true;
|
| break;
|
| case ui::VKEY_END:
|
| - model_->MoveCursorRight(gfx::LINE_BREAK, selection);
|
| - cursor_changed = true;
|
| - break;
|
| case ui::VKEY_HOME:
|
| - model_->MoveCursorLeft(gfx::LINE_BREAK, selection);
|
| + // TODO(msw): Implement RenderText::GetTextDirection for platforms.
|
| + // Windows string directionality is determined by UI directionality.
|
| + // Linux/ChromeOS uses the first strong directionality character.
|
| +#if defined(OS_WIN)
|
| + if (base::i18n::IsRTL() == (key_code == ui::VKEY_HOME))
|
| +#else
|
| + if (key_code == ui::VKEY_END)
|
| +#endif
|
| + model_->MoveCursorRight(gfx::LINE_BREAK, selection);
|
| + else
|
| + model_->MoveCursorLeft(gfx::LINE_BREAK, selection);
|
| cursor_changed = true;
|
| break;
|
| case ui::VKEY_BACK:
|
| @@ -908,7 +915,7 @@ bool NativeTextfieldViews::HandleKeyEvent(const KeyEvent& key_event) {
|
| cursor_changed = text_changed = model_->Delete();
|
| break;
|
| case ui::VKEY_INSERT:
|
| - GetRenderText()->toggle_insert_mode();
|
| + GetRenderText()->ToggleInsertMode();
|
| cursor_changed = true;
|
| break;
|
| default:
|
|
|