diff options
author | kmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-14 23:49:03 +0000 |
---|---|---|
committer | kmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-14 23:49:03 +0000 |
commit | 5dd4a2c8d4c8cb889069388fcf0105962b99c50d (patch) | |
tree | 26608e09708bfcf4bf7c0d2fa06b3077e03d1140 /content/browser/system_message_window_win.cc | |
parent | cb36dc783d391f63a26a3191f9a274f4acaed8bf (diff) | |
download | chromium_src-5dd4a2c8d4c8cb889069388fcf0105962b99c50d.zip chromium_src-5dd4a2c8d4c8cb889069388fcf0105962b99c50d.tar.gz chromium_src-5dd4a2c8d4c8cb889069388fcf0105962b99c50d.tar.bz2 |
Revert 109960 - Send WM_DEVICECHANGE message through SystemMonitor
WM_DEVICECHANGE is sent when there's been a change to devices or the computer;
specifically when a USB device is connected or disconnected. This is intended
for use in support of Gamepads for more performant polling and
connect/disconnect testing. Currently only on Windows, though seems reasonable
to add for other platforms in the future.
BUG=79050
Review URL: http://codereview.chromium.org/8523021
TBR=scottmg@chromium.org
Review URL: http://codereview.chromium.org/8528044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109979 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/system_message_window_win.cc')
-rw-r--r-- | content/browser/system_message_window_win.cc | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/content/browser/system_message_window_win.cc b/content/browser/system_message_window_win.cc deleted file mode 100644 index c5a7633..0000000 --- a/content/browser/system_message_window_win.cc +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2011 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 "content/browser/system_message_window_win.h" - -#include <windows.h> -#include <dbt.h> - -#include "base/system_monitor/system_monitor.h" -#include "base/win/wrapped_window_proc.h" - -static const wchar_t* const WindowClassName = L"Chrome_SystemMessageWindow"; - -SystemMessageWindowWin::SystemMessageWindowWin() { - HINSTANCE hinst = GetModuleHandle(NULL); - - WNDCLASSEX wc = {0}; - wc.cbSize = sizeof(wc); - wc.lpfnWndProc = - base::win::WrappedWindowProc<&SystemMessageWindowWin::WndProcThunk>; - wc.hInstance = hinst; - wc.lpszClassName = WindowClassName; - ATOM clazz = RegisterClassEx(&wc); - DCHECK(clazz); - - window_ = CreateWindow(WindowClassName, - 0, 0, 0, 0, 0, 0, 0, 0, hinst, 0); - SetWindowLongPtr(window_, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this)); -} - -SystemMessageWindowWin::~SystemMessageWindowWin() { - if (window_) { - DestroyWindow(window_); - UnregisterClass(WindowClassName, GetModuleHandle(NULL)); - } -} - -LRESULT SystemMessageWindowWin::OnDeviceChange(UINT event_type, DWORD data) { - base::SystemMonitor* monitor = base::SystemMonitor::Get(); - if (monitor && event_type == DBT_DEVNODES_CHANGED) - monitor->ProcessDevicesChanged(); - return TRUE; -} - -LRESULT CALLBACK SystemMessageWindowWin::WndProc(HWND hwnd, UINT message, - WPARAM wparam, LPARAM lparam) { - switch (message) { - case WM_DEVICECHANGE: - return OnDeviceChange(static_cast<UINT>(wparam), - static_cast<DWORD>(lparam)); - default: - break; - } - - return ::DefWindowProc(hwnd, message, wparam, lparam); -} |