summaryrefslogtreecommitdiffstats
path: root/views/controls/textfield
diff options
context:
space:
mode:
Diffstat (limited to 'views/controls/textfield')
-rw-r--r--views/controls/textfield/native_textfield_views.cc11
-rw-r--r--views/controls/textfield/textfield_views_model.cc13
-rw-r--r--views/controls/textfield/textfield_views_model.h3
3 files changed, 10 insertions, 17 deletions
diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc
index 5b43215..e8fd03d 100644
--- a/views/controls/textfield/native_textfield_views.cc
+++ b/views/controls/textfield/native_textfield_views.cc
@@ -874,11 +874,12 @@ 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);
+ if ((key_code == ui::VKEY_HOME) ==
+ (GetRenderText()->GetTextDirection() == base::i18n::RIGHT_TO_LEFT))
+ model_->MoveCursorRight(gfx::LINE_BREAK, selection);
+ else
+ model_->MoveCursorLeft(gfx::LINE_BREAK, selection);
cursor_changed = true;
break;
case ui::VKEY_BACK:
@@ -921,7 +922,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:
diff --git a/views/controls/textfield/textfield_views_model.cc b/views/controls/textfield/textfield_views_model.cc
index 3f927dd..85e2179 100644
--- a/views/controls/textfield/textfield_views_model.cc
+++ b/views/controls/textfield/textfield_views_model.cc
@@ -398,11 +398,6 @@ bool TextfieldViewsModel::MoveCursorTo(const gfx::Point& point, bool select) {
return render_text_->MoveCursorTo(point, select);
}
-std::vector<gfx::Rect> TextfieldViewsModel::GetSelectionBounds() const {
- return render_text_->GetSubstringBounds(render_text_->GetSelectionStart(),
- render_text_->GetCursorPosition());
-}
-
string16 TextfieldViewsModel::GetSelectedText() const {
return GetText().substr(render_text_->MinOfSelection(),
(render_text_->MaxOfSelection() - render_text_->MinOfSelection()));
@@ -421,7 +416,7 @@ void TextfieldViewsModel::SelectRange(const ui::Range& range) {
void TextfieldViewsModel::SelectSelectionModel(const gfx::SelectionModel& sel) {
if (HasCompositionText())
ConfirmCompositionText();
- render_text_->SetSelectionModel(sel);
+ render_text_->MoveCursorTo(sel);
}
void TextfieldViewsModel::SelectAll() {
@@ -509,7 +504,7 @@ bool TextfieldViewsModel::Cut() {
render_text_->GetSelectionStart(),
render_text_->GetSelectionStart(),
gfx::SelectionModel::LEADING);
- render_text_->SetSelectionModel(sel);
+ render_text_->MoveCursorTo(sel);
DeleteSelection();
return true;
}
@@ -589,7 +584,7 @@ void TextfieldViewsModel::SetCompositionText(
size_t end =
std::min(range.start() + composition.selection.end(), range.end());
gfx::SelectionModel sel(start, end);
- render_text_->SetSelectionModel(sel);
+ render_text_->MoveCursorTo(sel);
} else {
render_text_->SetCursorPosition(range.end());
}
@@ -662,7 +657,7 @@ void TextfieldViewsModel::ReplaceTextInternal(const string16& text,
size_t cursor = GetCursorPosition();
gfx::SelectionModel sel(render_text_->selection_model());
sel.set_selection_start(cursor + text.length());
- render_text_->SetSelectionModel(sel);
+ render_text_->MoveCursorTo(sel);
}
// Edit history is recorded in InsertText.
InsertTextInternal(text, mergeable);
diff --git a/views/controls/textfield/textfield_views_model.h b/views/controls/textfield/textfield_views_model.h
index 616255f..abd1e13 100644
--- a/views/controls/textfield/textfield_views_model.h
+++ b/views/controls/textfield/textfield_views_model.h
@@ -143,9 +143,6 @@ class VIEWS_EXPORT TextfieldViewsModel {
// Helper function to call MoveCursorTo on the TextfieldViewsModel.
bool MoveCursorTo(const gfx::Point& point, bool select);
- // Returns the bounds of selected text.
- std::vector<gfx::Rect> GetSelectionBounds() const;
-
// Selection related method
// Returns the selected text.