Index: base/message_pump_win.h |
diff --git a/base/message_pump_win.h b/base/message_pump_win.h |
index 5ea195fb15ac87d9944b9a8b1121556e671364e7..67b076d6e35ea47ba9abe48825e2031df7d7d09e 100644 |
--- a/base/message_pump_win.h |
+++ b/base/message_pump_win.h |
@@ -17,6 +17,7 @@ |
#include "base/message_pump_observer.h" |
#include "base/observer_list.h" |
#include "base/time.h" |
+#include "base/win/message_window.h" |
#include "base/win/scoped_handle.h" |
namespace base { |
@@ -125,7 +126,9 @@ class BASE_EXPORT MessagePumpWin : public MessagePump { |
// an excellent choice. It is also helpful that the starter messages that are |
// placed in the queue when new task arrive also awakens DoRunLoop. |
// |
-class BASE_EXPORT MessagePumpForUI : public MessagePumpWin { |
+class BASE_EXPORT MessagePumpForUI |
+ : public MessagePumpWin, |
+ public win::MessageWindow::Delegate { |
public: |
// A MessageFilter implements the common Peek/Translate/Dispatch code to deal |
// with windows messages. |
@@ -175,12 +178,14 @@ class BASE_EXPORT MessagePumpForUI : public MessagePumpWin { |
void PumpOutPendingPaintMessages(); |
private: |
- static LRESULT CALLBACK WndProcThunk(HWND window_handle, |
- UINT message, |
- WPARAM wparam, |
- LPARAM lparam); |
+ // win::MessageWindow::Delegate interface. |
+ virtual bool HandleMessage(HWND hwnd, |
+ UINT message, |
+ WPARAM wparam, |
+ LPARAM lparam, |
+ LRESULT* result) OVERRIDE; |
+ |
virtual void DoRunLoop(); |
- void InitMessageWnd(); |
void WaitForWork(); |
void HandleWorkMessage(); |
void HandleTimerMessage(); |
@@ -188,13 +193,10 @@ class BASE_EXPORT MessagePumpForUI : public MessagePumpWin { |
bool ProcessMessageHelper(const MSG& msg); |
bool ProcessPumpReplacementMessage(); |
- // Instance of the module containing the window procedure. |
- HMODULE instance_; |
+ scoped_ptr<MessageFilter> message_filter_; |
// A hidden message-only window. |
- HWND message_hwnd_; |
- |
- scoped_ptr<MessageFilter> message_filter_; |
+ scoped_ptr<win::MessageWindow> window_; |
}; |
//----------------------------------------------------------------------------- |