172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/views/autocomplete/autocomplete_popup_win.h"
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch////////////////////////////////////////////////////////////////////////////////
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// AutocompletePopupWin, public:
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenAutocompletePopupWin::AutocompletePopupWin() {
11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenAutocompletePopupWin::~AutocompletePopupWin() {
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsengfx::NativeView AutocompletePopupWin::GetRelativeWindowForPopup(
17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    gfx::NativeView edit_native_view) const {
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // When an IME is attached to the rich-edit control, retrieve its window
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // handle and show this popup window under the IME windows.
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Otherwise, show this popup window under top-most windows.
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // TODO(hbono): http://b/1111369 if we exclude this popup window from the
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // display area of IME windows, this workaround becomes unnecessary.
23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  HWND ime_window = ImmGetDefaultIMEWnd(edit_native_view);
24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return ime_window ? ime_window : HWND_NOTOPMOST;
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
26