| 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 fec59621baee963a1339932eb842b85d2468406d..46c09cad26be7b7fb86eeb63aa95f06166323b02 100644
|
| --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
|
| +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
|
| @@ -531,8 +531,15 @@ void OmniboxViewViews::GetSelectionBounds(string16::size_type* start,
|
| string16::size_type* end) const {
|
| ui::Range range;
|
| textfield_->GetSelectedRange(&range);
|
| - *start = static_cast<size_t>(range.end());
|
| - *end = static_cast<size_t>(range.start());
|
| + if (range.is_empty()) {
|
| + // Omnibox API expects that selection bounds is at cursor position
|
| + // if there is no selection.
|
| + *start = textfield_->GetCursorPosition();
|
| + *end = textfield_->GetCursorPosition();
|
| + } else {
|
| + *start = static_cast<size_t>(range.end());
|
| + *end = static_cast<size_t>(range.start());
|
| + }
|
| }
|
|
|
| void OmniboxViewViews::SelectAll(bool reversed) {
|
|
|