Index: chrome_frame/urlmon_url_request.h |
=================================================================== |
--- chrome_frame/urlmon_url_request.h (revision 31553) |
+++ chrome_frame/urlmon_url_request.h (working copy) |
@@ -8,6 +8,7 @@ |
#include <urlmon.h> |
#include <atlbase.h> |
#include <atlcom.h> |
+#include <atlwin.h> |
#include <algorithm> |
@@ -28,8 +29,13 @@ |
public IBindStatusCallback, |
public IHttpNegotiate, |
public IAuthenticate, |
- public IHttpSecurity { |
+ public IHttpSecurity, |
+ public CWindowImpl<UrlmonUrlRequest>, |
+ public TaskMarshallerThroughWindowsMessages<UrlmonUrlRequest> { |
public: |
+ typedef TaskMarshallerThroughWindowsMessages<UrlmonUrlRequest> |
+ TaskMarshaller; |
+ |
UrlmonUrlRequest(); |
~UrlmonUrlRequest(); |
@@ -46,6 +52,10 @@ |
SERVICE_ENTRY(IID_IHttpNegotiate); |
END_SERVICE_MAP() |
+BEGIN_MSG_MAP(UrlmonUrlRequest) |
+ CHAIN_MSG_MAP(TaskMarshaller) |
+END_MSG_MAP() |
+ |
// PluginUrlRequest implementation |
virtual bool Start(); |
virtual void Stop(); |
@@ -99,9 +109,7 @@ |
worker_thread_ = worker_thread; |
} |
- void set_task_marshaller(TaskMarshaller* task_marshaller) { |
- task_marshaller_ = task_marshaller; |
- } |
+ virtual void OnFinalMessage(HWND window); |
protected: |
// The following functions issue and handle Urlmon requests on the dedicated |
@@ -114,8 +122,6 @@ |
// URL requests are handled on this thread. |
base::Thread* worker_thread_; |
- TaskMarshaller* task_marshaller_; |
- |
// A fake stream class to make it easier to copy received data using |
// IStream::CopyTo instead of allocating temporary buffers and keeping |
// track of data copied so far. |