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