Index: chrome/browser/views/autocomplete/autocomplete_popup_win.cc |
=================================================================== |
--- chrome/browser/views/autocomplete/autocomplete_popup_win.cc (revision 30836) |
+++ chrome/browser/views/autocomplete/autocomplete_popup_win.cc (working copy) |
@@ -15,7 +15,8 @@ |
AutocompletePopupWin::AutocompletePopupWin( |
AutocompletePopupContentsView* contents) |
- : contents_(contents) { |
+ : contents_(contents), |
+ is_open_(false) { |
set_delete_on_destroy(false); |
set_window_style(WS_POPUP | WS_CLIPCHILDREN); |
set_window_ex_style(WS_EX_TOOLWINDOW | WS_EX_LAYERED); |
@@ -24,6 +25,19 @@ |
AutocompletePopupWin::~AutocompletePopupWin() { |
} |
+void AutocompletePopupWin::Show() { |
+ // Move the popup to the place appropriate for the window's current position - |
+ // it may have been moved since it was last shown. |
+ SetBounds(contents_->GetPopupBounds()); |
+ WidgetWin::Show(); |
+ is_open_ = true; |
+} |
+ |
+void AutocompletePopupWin::Hide() { |
+ WidgetWin::Hide(); |
+ is_open_ = false; |
+} |
+ |
void AutocompletePopupWin::Init(AutocompleteEditView* edit_view, |
views::View* contents) { |
// Create the popup |
@@ -41,18 +55,13 @@ |
HWND ime_window = ImmGetDefaultIMEWnd(edit_view->GetNativeView()); |
SetWindowPos(ime_window ? ime_window : HWND_NOTOPMOST, 0, 0, 0, 0, |
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_SHOWWINDOW); |
+ is_open_ = true; |
} |
-void AutocompletePopupWin::Show() { |
- // Move the popup to the place appropriate for the window's current position - |
- // it may have been moved since it was last shown. |
- SetBounds(contents_->GetPopupBounds()); |
- if (!IsVisible()) |
- WidgetWin::Show(); |
-} |
- |
bool AutocompletePopupWin::IsOpen() const { |
- return IsCreated() && IsVisible(); |
+ const bool is_open = IsCreated() && IsVisible(); |
+ CHECK(is_open == is_open_); |
+ return is_open; |
} |
bool AutocompletePopupWin::IsCreated() const { |