| Index: ui/base/win/foreground_helper.cc
|
| diff --git a/ui/base/win/foreground_helper.cc b/ui/base/win/foreground_helper.cc
|
| deleted file mode 100644
|
| index 72830122ac0f98c5000ddbdc7be56c04d1145842..0000000000000000000000000000000000000000
|
| --- a/ui/base/win/foreground_helper.cc
|
| +++ /dev/null
|
| @@ -1,80 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/base/win/foreground_helper.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "ui/gfx/win/window_impl.h"
|
| -
|
| -namespace ui {
|
| -
|
| -// static
|
| -HRESULT ForegroundHelper::SetForeground(HWND window) {
|
| - DCHECK(::IsWindow(window));
|
| - ForegroundHelper foreground_helper;
|
| - return foreground_helper.ForegroundHotKey(window);
|
| -}
|
| -
|
| -HRESULT ForegroundHelper::ForegroundHotKey(HWND window) {
|
| - // This implementation registers a hot key (F22) and then
|
| - // triggers the hot key. When receiving the hot key, we'll
|
| - // be in the foreground and allowed to move the target window
|
| - // into the foreground too.
|
| -
|
| - set_window_style(WS_POPUP);
|
| - Init(NULL, gfx::Rect());
|
| -
|
| - static const int kHotKeyId = 0x0000baba;
|
| - static const int kHotKeyWaitTimeout = 2000;
|
| -
|
| - // Store the target window into our USERDATA for use in our
|
| - // HotKey handler.
|
| - window_ = window;
|
| - RegisterHotKey(hwnd(), kHotKeyId, 0, VK_F22);
|
| -
|
| - // If the calling thread is not yet a UI thread, call PeekMessage
|
| - // to ensure creation of its message queue.
|
| - MSG msg = {0};
|
| - PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
|
| -
|
| - // Send the Hotkey.
|
| - INPUT hotkey = {0};
|
| - hotkey.type = INPUT_KEYBOARD;
|
| - hotkey.ki.wVk = VK_F22;
|
| - if (1 != SendInput(1, &hotkey, sizeof(hotkey))) {
|
| - LOG(WARNING) << "Failed to send input; GetLastError(): " << GetLastError();
|
| - return E_FAIL;
|
| - }
|
| -
|
| - // There are scenarios where the WM_HOTKEY is not dispatched by the
|
| - // the corresponding foreground thread. To prevent us from indefinitely
|
| - // waiting for the hotkey, we set a timer and exit the loop.
|
| - SetTimer(hwnd(), kHotKeyId, kHotKeyWaitTimeout, NULL);
|
| -
|
| - // Loop until we get the key or the timer fires.
|
| - while (GetMessage(&msg, NULL, 0, 0)) {
|
| - TranslateMessage(&msg);
|
| - DispatchMessage(&msg);
|
| -
|
| - if (WM_HOTKEY == msg.message)
|
| - break;
|
| - if (WM_TIMER == msg.message) {
|
| - SetForegroundWindow(window);
|
| - break;
|
| - }
|
| - }
|
| -
|
| - UnregisterHotKey(hwnd(), kHotKeyId);
|
| - KillTimer(hwnd(), kHotKeyId);
|
| - DestroyWindow(hwnd());
|
| -
|
| - return S_OK;
|
| -}
|
| -
|
| -// Handle the registered Hotkey being pressed.
|
| -void ForegroundHelper::OnHotKey(int id, UINT vcode, UINT modifiers) {
|
| - SetForegroundWindow(window_);
|
| -}
|
| -
|
| -} // namespace ui
|
|
|