Chromium Code Reviews| Index: content/browser/system_message_window_win.h |
| diff --git a/content/browser/system_message_window_win.h b/content/browser/system_message_window_win.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..cb3d0b9bdd3f87838c8c9836cdeaac2c061131ea |
| --- /dev/null |
| +++ b/content/browser/system_message_window_win.h |
| @@ -0,0 +1,45 @@ |
| +// 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. |
| + |
| +#ifndef CONTENT_BROWSER_SYSTEM_MESSAGE_WINDOW_WIN_H_ |
| +#define CONTENT_BROWSER_SYSTEM_MESSAGE_WINDOW_WIN_H_ |
| +#pragma once |
| + |
| +#include "build/build_config.h" |
| + |
| +#if defined(OS_WIN) |
|
jam
2011/11/14 18:48:13
better to include this file only for windows, and
|
| +#include <windows.h> |
| +#endif // defined(OS_WIN) |
| + |
| +#include "base/basictypes.h" |
| +#include "content/common/content_export.h" |
| + |
| +class CONTENT_EXPORT SystemMessageWindowWin { |
| + public: |
| + SystemMessageWindowWin(); |
| + virtual ~SystemMessageWindowWin(); |
| + |
| + virtual LRESULT OnDeviceChange(UINT event_type, DWORD data); |
| + |
| + private: |
| + LRESULT CALLBACK WndProc(HWND hwnd, UINT message, |
| + WPARAM wparam, LPARAM lparam); |
| + |
| + static LRESULT CALLBACK WndProcThunk(HWND hwnd, |
| + UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam) { |
| + SystemMessageWindowWin* msg_wnd = reinterpret_cast<SystemMessageWindowWin*>( |
| + GetWindowLongPtr(hwnd, GWLP_USERDATA)); |
| + if (msg_wnd) |
| + return msg_wnd->WndProc(hwnd, message, wparam, lparam); |
| + return ::DefWindowProc(hwnd, message, wparam, lparam); |
| + } |
| + |
| + HWND window_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(SystemMessageWindowWin); |
| +}; |
| + |
| +#endif // CONTENT_BROWSER_SYSTEM_MESSAGE_WINDOW_WIN_H_ |