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

Side by Side Diff: views/controls/textfield/native_textfield_views.cc

Issue 7696013: Minor fix to touch selection logic. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: modified according to comments Created 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | views/touchui/touch_selection_controller_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/controls/textfield/native_textfield_views.h" 5 #include "views/controls/textfield/native_textfield_views.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 995
996 // Notify selection controller 996 // Notify selection controller
997 if (!touch_selection_controller_.get()) 997 if (!touch_selection_controller_.get())
998 return; 998 return;
999 gfx::RenderText* render_text = GetRenderText(); 999 gfx::RenderText* render_text = GetRenderText();
1000 const gfx::SelectionModel& sel = render_text->selection_model(); 1000 const gfx::SelectionModel& sel = render_text->selection_model();
1001 gfx::SelectionModel start_sel(sel.selection_start(), sel.selection_start(), 1001 gfx::SelectionModel start_sel(sel.selection_start(), sel.selection_start(),
1002 sel.selection_start(), gfx::SelectionModel::LEADING); 1002 sel.selection_start(), gfx::SelectionModel::LEADING);
1003 gfx::Rect start_cursor = render_text->GetCursorBounds(start_sel, false); 1003 gfx::Rect start_cursor = render_text->GetCursorBounds(start_sel, false);
1004 gfx::Rect end_cursor = render_text->GetCursorBounds(sel, false); 1004 gfx::Rect end_cursor = render_text->GetCursorBounds(sel, false);
1005 gfx::Point start(start_cursor.x(), start_cursor.bottom()); 1005 gfx::Point start(start_cursor.x(), start_cursor.bottom() - 1);
1006 gfx::Point end(end_cursor.x(), end_cursor.bottom()); 1006 gfx::Point end(end_cursor.x(), end_cursor.bottom() - 1);
1007 touch_selection_controller_->SelectionChanged(start, end); 1007 touch_selection_controller_->SelectionChanged(start, end);
1008 } 1008 }
1009 1009
1010 void NativeTextfieldViews::OnBeforeUserAction() { 1010 void NativeTextfieldViews::OnBeforeUserAction() {
1011 TextfieldController* controller = textfield_->GetController(); 1011 TextfieldController* controller = textfield_->GetController();
1012 if (controller) 1012 if (controller)
1013 controller->OnBeforeUserAction(textfield_); 1013 controller->OnBeforeUserAction(textfield_);
1014 } 1014 }
1015 1015
1016 void NativeTextfieldViews::OnAfterUserAction() { 1016 void NativeTextfieldViews::OnAfterUserAction() {
(...skipping 20 matching lines...) Expand all
1037 // Filter out all control characters, including tab and new line characters, 1037 // Filter out all control characters, including tab and new line characters,
1038 // and all characters with Alt modifier. But we need to allow characters with 1038 // and all characters with Alt modifier. But we need to allow characters with
1039 // AltGr modifier. 1039 // AltGr modifier.
1040 // On Windows AltGr is represented by Alt+Ctrl, and on Linux it's a different 1040 // On Windows AltGr is represented by Alt+Ctrl, and on Linux it's a different
1041 // flag that we don't care about. 1041 // flag that we don't care about.
1042 return ((ch >= 0x20 && ch < 0x7F) || ch > 0x9F) && 1042 return ((ch >= 0x20 && ch < 0x7F) || ch > 0x9F) &&
1043 (flags & ~(ui::EF_SHIFT_DOWN | ui::EF_CAPS_LOCK_DOWN)) != ui::EF_ALT_DOWN; 1043 (flags & ~(ui::EF_SHIFT_DOWN | ui::EF_CAPS_LOCK_DOWN)) != ui::EF_ALT_DOWN;
1044 } 1044 }
1045 1045
1046 } // namespace views 1046 } // namespace views
OLDNEW
« no previous file with comments | « no previous file | views/touchui/touch_selection_controller_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698