NOT PART OF BUILD. Implement IAuthenticate to allow streams requiring username/password to be downloaded
git-svn-id: svn://10.0.0.236/trunk@108295 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -493,7 +493,7 @@ HRESULT STDMETHODCALLTYPE nsURLDataCallback::OnStopBinding(
|
||||
}
|
||||
else
|
||||
{
|
||||
pbindinfo->dwBindVerb = BINDVERB_GET;
|
||||
pbindinfo->dwBindVerb = BINDVERB_GET;
|
||||
}
|
||||
|
||||
return S_OK ;
|
||||
@@ -601,3 +601,38 @@ HRESULT STDMETHODCALLTYPE nsURLDataCallback::OnObjectAvailable(
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// IAuthenticate implementation
|
||||
|
||||
HRESULT STDMETHODCALLTYPE nsURLDataCallback::Authenticate(
|
||||
/* [out] */ HWND __RPC_FAR *phwnd,
|
||||
/* [out] */ LPWSTR __RPC_FAR *pszUsername,
|
||||
/* [out] */ LPWSTR __RPC_FAR *pszPassword)
|
||||
{
|
||||
ATLTRACE(_T("nsURLDataCallback::Authenticate()\n"));
|
||||
|
||||
// Caller wants to pose a password dialog so get a parent HWND for it.
|
||||
*phwnd = HWND_DESKTOP;
|
||||
if (m_pOwner)
|
||||
{
|
||||
*phwnd = m_pOwner->m_hWnd;
|
||||
CComPtr<IWebBrowserApp> cpBrowser;
|
||||
m_pOwner->GetWebBrowserApp(&cpBrowser);
|
||||
if (cpBrowser)
|
||||
{
|
||||
long hwnd = NULL;
|
||||
cpBrowser->get_HWND(&hwnd);
|
||||
if (hwnd)
|
||||
{
|
||||
*phwnd = (HWND) hwnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Caller will figure these out for itself
|
||||
*pszUsername = NULL;
|
||||
*pszPassword = NULL;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -95,18 +95,20 @@ struct _WriteData
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// nsURLDataCallback
|
||||
class ATL_NO_VTABLE nsURLDataCallback :
|
||||
public CComObjectRootEx<CComMultiThreadModel>,
|
||||
public CComObjectRootEx<CComMultiThreadModel>,
|
||||
public CWindowImpl<nsURLDataCallback, CWindow, CNullTraits>,
|
||||
public CComCoClass<nsURLDataCallback, &CLSID_NULL>,
|
||||
public IBindStatusCallback
|
||||
public CComCoClass<nsURLDataCallback, &CLSID_NULL>,
|
||||
public IBindStatusCallback,
|
||||
public IAuthenticate
|
||||
{
|
||||
public:
|
||||
nsURLDataCallback();
|
||||
nsURLDataCallback();
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||||
|
||||
BEGIN_COM_MAP(nsURLDataCallback)
|
||||
COM_INTERFACE_ENTRY(IBindStatusCallback)
|
||||
COM_INTERFACE_ENTRY(IBindStatusCallback)
|
||||
COM_INTERFACE_ENTRY(IAuthenticate)
|
||||
END_COM_MAP()
|
||||
|
||||
DECLARE_WND_CLASS(_T("MozStreamWindow"))
|
||||
@@ -206,6 +208,13 @@ public:
|
||||
virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][in] */ IUnknown __RPC_FAR *punk);
|
||||
|
||||
// IAuthenticate
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE Authenticate(
|
||||
/* [out] */ HWND __RPC_FAR *phwnd,
|
||||
/* [out] */ LPWSTR __RPC_FAR *pszUsername,
|
||||
/* [out] */ LPWSTR __RPC_FAR *pszPassword);
|
||||
};
|
||||
|
||||
#endif //__NSURLDATACALLBACK_H_
|
||||
|
||||
Reference in New Issue
Block a user