Index: chrome_frame/http_negotiate.cc |
=================================================================== |
--- chrome_frame/http_negotiate.cc (revision 37418) |
+++ chrome_frame/http_negotiate.cc (working copy) |
@@ -52,7 +52,46 @@ |
HttpNegotiatePatch::ReportProgress) |
END_VTABLE_PATCHES() |
+class SimpleBindStatusCallback : public CComObjectRootEx<CComSingleThreadModel>, |
+ public IBindStatusCallback { |
+ public: |
+ BEGIN_COM_MAP(SimpleBindStatusCallback) |
+ COM_INTERFACE_ENTRY(IBindStatusCallback) |
+ END_COM_MAP() |
+ // IBindStatusCallback implementation |
+ STDMETHOD(OnStartBinding)(DWORD reserved, IBinding* binding) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ STDMETHOD(GetPriority)(LONG* priority) { |
+ return E_NOTIMPL; |
+ } |
+ STDMETHOD(OnLowResource)(DWORD reserved) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ STDMETHOD(OnProgress)(ULONG progress, ULONG max_progress, |
+ ULONG status_code, LPCWSTR status_text) { |
+ return E_NOTIMPL; |
+ } |
+ STDMETHOD(OnStopBinding)(HRESULT result, LPCWSTR error) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ STDMETHOD(GetBindInfo)(DWORD* bind_flags, BINDINFO* bind_info) { |
+ return E_NOTIMPL; |
+ } |
+ |
+ STDMETHOD(OnDataAvailable)(DWORD flags, DWORD size, FORMATETC* formatetc, |
+ STGMEDIUM* storage) { |
+ return E_NOTIMPL; |
+ } |
+ STDMETHOD(OnObjectAvailable)(REFIID iid, IUnknown* object) { |
+ return E_NOTIMPL; |
+ } |
+}; |
+ |
HttpNegotiatePatch::HttpNegotiatePatch() { |
} |
@@ -65,10 +104,9 @@ |
DLOG(WARNING) << __FUNCTION__ << " called more than once."; |
return true; |
} |
- |
- // Use our UrlmonUrlRequest class as we need a temporary object that |
+ // Use our SimpleBindStatusCallback class as we need a temporary object that |
// implements IBindStatusCallback. |
- CComObjectStackEx<UrlmonUrlRequest> request; |
+ CComObjectStackEx<SimpleBindStatusCallback> request; |
ScopedComPtr<IBindCtx> bind_ctx; |
HRESULT hr = CreateAsyncBindCtx(0, &request, NULL, bind_ctx.Receive()); |
DCHECK(SUCCEEDED(hr)) << "CreateAsyncBindCtx"; |