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

Unified Diff: chrome/browser/ui/views/omnibox/omnibox_view_views.cc

Issue 12090098: Tapping on omnibox should select all text. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch Created 7 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/views/omnibox/omnibox_view_views.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/omnibox/omnibox_view_views.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
index 0d8db6ee1bb3fb99c6bf2adc4cd78ba014345592..173d466d4f235c969beccd9eb9aeddf6e0980a16 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -192,6 +192,11 @@ class OmniboxViewViews::AutocompleteTextfield : public views::Textfield {
omnibox_view_->HandleMouseReleaseEvent(event);
}
+ virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
+ views::Textfield::OnGestureEvent(event);
+ omnibox_view_->HandleGestureEvent(*event);
+ }
+
private:
OmniboxViewViews* omnibox_view_;
LocationBarView* location_bar_view_;
@@ -216,7 +221,8 @@ OmniboxViewViews::OmniboxViewViews(OmniboxEditController* controller,
delete_at_end_pressed_(false),
location_bar_view_(location_bar),
ime_candidate_window_open_(false),
- select_all_on_mouse_release_(false) {
+ select_all_on_mouse_release_(false),
+ select_all_on_gesture_tap_(false) {
}
OmniboxViewViews::~OmniboxViewViews() {
@@ -383,6 +389,16 @@ void OmniboxViewViews::HandleMouseReleaseEvent(const ui::MouseEvent& event) {
select_all_on_mouse_release_ = false;
}
+void OmniboxViewViews::HandleGestureEvent(const ui::GestureEvent& event) {
+ if (!textfield_->HasFocus() && event.type() == ui::ET_GESTURE_TAP_DOWN) {
+ select_all_on_gesture_tap_ = true;
+ return;
+ }
+ if (select_all_on_gesture_tap_ && event.type() == ui::ET_GESTURE_TAP)
+ SelectAll(false);
+ select_all_on_gesture_tap_ = false;
+}
+
void OmniboxViewViews::HandleFocusIn() {
// TODO(oshima): Get control key state.
model()->OnSetFocus(false);
« no previous file with comments | « chrome/browser/ui/views/omnibox/omnibox_view_views.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698