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

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

Issue 8268003: Hide autocomplete popup when IME candidate window is open (on Windows). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: initialize Created 9 years, 2 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
Index: chrome/browser/ui/views/omnibox/omnibox_view_win.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
index ae13c7ba8bd021656b6772f013109f329683af4e..f998e34c6c6897524e9905b724eb1259e81b034e 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
@@ -420,6 +420,7 @@ OmniboxViewWin::OmniboxViewWin(const gfx::Font& font,
in_drag_(false),
initiated_drag_(false),
drop_highlight_position_(-1),
+ ime_candidate_window_open_(false),
background_color_(skia::SkColorToCOLORREF(LocationBarView::GetColor(
ToolbarModel::NONE, LocationBarView::BACKGROUND))),
security_level_(ToolbarModel::NONE),
@@ -951,6 +952,12 @@ bool OmniboxViewWin::IsImeComposing() const {
return ime_composing;
}
+bool OmniboxViewWin::ShouldHideAutocompletePopup() const {
+ // Don't let the autocomplete popup be shown when IME candidate window is
+ // open, so they don't overlap.
+ return ime_candidate_window_open_;
+}
+
views::View* OmniboxViewWin::AddToView(views::View* parent) {
views::NativeViewHost* host = new views::NativeViewHost;
parent->AddChildView(host);
@@ -1351,6 +1358,22 @@ LRESULT OmniboxViewWin::OnGetObject(UINT uMsg,
return 0;
}
+LRESULT OmniboxViewWin::OnImeNotify(UINT message,
+ WPARAM wparam,
+ LPARAM lparam) {
+ switch (wparam) {
+ case IMN_OPENCANDIDATE:
+ ime_candidate_window_open_ = true;
+ break;
+ case IMN_CLOSECANDIDATE:
+ ime_candidate_window_open_ = false;
+ break;
+ default:
+ break;
+ }
+ return DefWindowProc(message, wparam, lparam);
+}
+
LRESULT OmniboxViewWin::OnImeComposition(UINT message,
WPARAM wparam,
LPARAM lparam) {

Powered by Google App Engine
This is Rietveld 408576698