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

Unified Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 5698006: Fix Instant suggest issues in Linux Views port. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update according to review feedback. Created 10 years 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/location_bar/location_bar_view.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/location_bar/location_bar_view.cc
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
index 4e9cdcf8f609ad09a450e0d5f2e7267079f2b533..1babc928e7f6e50a8ddfed81edbe0dfd00bd471d 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -27,7 +27,6 @@
#include "chrome/browser/search_engines/template_url_model.h"
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#include "chrome/browser/ui/view_ids.h"
-#include "chrome/browser/ui/views/location_bar/suggested_text_view.h"
#include "chrome/browser/ui/views/browser_dialogs.h"
#include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
#include "chrome/browser/ui/views/location_bar/ev_bubble_view.h"
@@ -46,6 +45,7 @@
#include "views/drag_utils.h"
#if defined(OS_WIN)
+#include "chrome/browser/ui/views/location_bar/suggested_text_view.h"
#include "chrome/browser/views/first_run_bubble.h"
#endif
@@ -103,7 +103,9 @@ LocationBarView::LocationBarView(Profile* profile,
ev_bubble_view_(NULL),
location_entry_view_(NULL),
selected_keyword_view_(NULL),
+#if defined(OS_WIN)
suggested_text_view_(NULL),
+#endif
keyword_hint_view_(NULL),
star_view_(NULL),
mode_(mode),
@@ -408,12 +410,14 @@ gfx::Point LocationBarView::GetLocationEntryOrigin() const {
return origin;
}
+#if defined(OS_WIN)
void LocationBarView::OnCommitSuggestedText() {
InstantController* instant = delegate_->GetInstant();
DCHECK(instant);
DCHECK(suggested_text_view_);
OnCommitSuggestedText(location_entry_->GetText());
}
+#endif
gfx::Size LocationBarView::GetPreferredSize() {
return gfx::Size(0, GetThemeProvider()->GetBitmapNamed(mode_ == POPUP ?
@@ -613,6 +617,7 @@ void LocationBarView::Layout() {
}
}
+#if defined(OS_WIN)
// Layout out the suggested text view right aligned to the location
// entry. Only show the suggested text if we can fit the text from one
// character before the end of the selection to the end of the text and the
@@ -642,6 +647,7 @@ void LocationBarView::Layout() {
location_bounds.height());
}
}
+#endif
location_entry_view_->SetBounds(location_bounds);
}
@@ -775,13 +781,19 @@ void LocationBarView::OnAutocompleteWillAccept() {
bool LocationBarView::OnCommitSuggestedText(const std::wstring& typed_text) {
InstantController* instant = delegate_->GetInstant();
- if (!instant || !HasValidSuggestText()) {
+ if (!instant)
+ return false;
+
+#if defined(OS_WIN)
+ if(!HasValidSuggestText())
return false;
- }
location_entry_->model()->FinalizeInstantQuery(
typed_text,
suggested_text_view_->GetText());
return true;
+#else
+ return location_entry_->CommitInstantSuggestion();
+#endif
}
void LocationBarView::OnSetSuggestedSearchText(const string16& suggested_text) {
@@ -868,8 +880,12 @@ void LocationBarView::OnChanged() {
}
void LocationBarView::OnSelectionBoundsChanged() {
+#if defined(OS_WIN)
if (suggested_text_view_)
suggested_text_view_->StopAnimation();
+#else
+ NOTREACHED();
+#endif
}
void LocationBarView::OnInputInProgress(bool in_progress) {
@@ -1046,10 +1062,12 @@ std::string LocationBarView::GetClassName() const {
bool LocationBarView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) {
if (views::FocusManager::IsTabTraversalKeyEvent(e)) {
+#if defined(OS_WIN)
if (HasValidSuggestText()) {
// Return true so that the edit sees the tab and commits the suggestion.
return true;
}
+#endif
InstantController* instant = delegate_->GetInstant();
if (instant && instant->IsCurrent()) {
// Tab while showing instant commits instant immediately.
@@ -1127,6 +1145,7 @@ void LocationBarView::ShowFirstRunBubble(FirstRun::BubbleType bubble_type) {
}
void LocationBarView::SetSuggestedText(const string16& input) {
+#if defined(OS_WIN)
// Don't show the suggested text if inline autocomplete is prevented.
string16 text = location_entry_->model()->UseVerbatimInstant() ?
string16() : input;
@@ -1153,6 +1172,9 @@ void LocationBarView::SetSuggestedText(const string16& input) {
Layout();
SchedulePaint();
+#else
+ location_entry_->SetInstantSuggestion(UTF16ToUTF8(input));
+#endif
}
std::wstring LocationBarView::GetInputString() const {
@@ -1245,7 +1267,9 @@ void LocationBarView::OnTemplateURLModelChanged() {
ShowFirstRunBubble(bubble_type_);
}
+#if defined(OS_WIN)
bool LocationBarView::HasValidSuggestText() {
return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() &&
!suggested_text_view_->GetText().empty();
}
+#endif
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698