| Index: chrome/browser/ui/views/find_bar_view.cc
|
| diff --git a/chrome/browser/ui/views/find_bar_view.cc b/chrome/browser/ui/views/find_bar_view.cc
|
| index 28bb7ddb812558444627fc738b38f66dd92be2c8..930a5347e4f02a236b99f44351fd9bfd3e2ce8ff 100644
|
| --- a/chrome/browser/ui/views/find_bar_view.cc
|
| +++ b/chrome/browser/ui/views/find_bar_view.cc
|
| @@ -498,15 +498,29 @@ bool FindBarView::FocusForwarderView::OnMousePressed(
|
| return true;
|
| }
|
|
|
| -FindBarView::SearchTextfieldView::SearchTextfieldView() {}
|
| +FindBarView::SearchTextfieldView::SearchTextfieldView()
|
| + : select_all_on_focus_(true) {}
|
|
|
| FindBarView::SearchTextfieldView::~SearchTextfieldView() {}
|
|
|
| -void FindBarView::SearchTextfieldView::RequestFocus() {
|
| - if (HasFocus())
|
| - return;
|
| - views::View::RequestFocus();
|
| - SelectAll(true);
|
| +bool FindBarView::SearchTextfieldView::OnMousePressed(
|
| + const ui::MouseEvent& event) {
|
| + // Avoid temporarily selecting all the text on focus from a mouse press; this
|
| + // prevents flickering before setting a cursor or dragging to select text.
|
| + select_all_on_focus_ = false;
|
| + return views::Textfield::OnMousePressed(event);
|
| +}
|
| +
|
| +void FindBarView::SearchTextfieldView::OnMouseReleased(
|
| + const ui::MouseEvent& event) {
|
| + views::Textfield::OnMouseReleased(event);
|
| + select_all_on_focus_ = true;
|
| +}
|
| +
|
| +void FindBarView::SearchTextfieldView::OnFocus() {
|
| + views::Textfield::OnFocus();
|
| + if (select_all_on_focus_)
|
| + SelectAll(true);
|
| }
|
|
|
| FindBarHost* FindBarView::find_bar_host() const {
|
|
|