#include "wx/msw/missing.h"
#include "wx/filesys.h"
+wxIMPLEMENT_DYNAMIC_CLASS(wxWebViewIE, wxWebView);
+
//We link to urlmon as it is required for CoInternetGetSession
#pragma comment(lib, "urlmon")
document->Release();
}
-void wxWebViewIE::RegisterHandler(wxWebHandler* handler)
+void wxWebViewIE::RegisterHandler(wxSharedPtr<wxWebHandler> handler)
{
ClassFactory* cf = new ClassFactory(handler);
IInternetSession* session;
evt.Skip();
}
-VirtualProtocol::VirtualProtocol(wxWebHandler *handler)
+VirtualProtocol::VirtualProtocol(wxSharedPtr<wxWebHandler> handler)
{
m_refCount = 0;
m_file = NULL;
AddRef();
return S_OK;
}
- else if(riid == IID_IInternetProtocolInfo)
- {
- *ppvObject = (IInternetProtocolInfo*)this;
- AddRef();
- return S_OK;
- }
else
{
*ppvObject = NULL;
}
}
-HRESULT VirtualProtocol::CombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl,
- DWORD dwCombineFlags, LPWSTR pwzResult,
- DWORD cchResult, DWORD *pcchResult,
- DWORD dwReserved)
-{
- wxString newuri = m_handler->CombineURIs(pwzBaseUrl, pwzRelativeUrl);
- //Check the buffer we are given can hold the new urll
- if(wxStrlen(newuri) > cchResult)
- return S_FALSE;
-
- wxStrcpy(pwzResult, newuri.c_str());
- *pcchResult = wxStrlen(newuri);
- return S_OK;
-}
-
-HRESULT VirtualProtocol::ParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction,
- DWORD dwParseFlags, LPWSTR pwzResult,
- DWORD cchResult, DWORD *pcchResult,
- DWORD dwReserved)
-{
- //return INET_E_DEFAULT_ACTION;
- wxStrcpy(pwzResult, pwzUrl);
- *pcchResult = wxStrlen(pwzResult);
- return S_OK;
-}
-
-HRESULT VirtualProtocol::QueryInfo(LPCWSTR pwzUrl, QUERYOPTION OueryOption,
- DWORD dwQueryFlags, LPVOID pBuffer,
- DWORD cbBuffer, DWORD *pcbBuf,
- DWORD dwReserved)
-{
- return INET_E_DEFAULT_ACTION;
-}
-
HRESULT ClassFactory::CreateInstance(IUnknown* pUnkOuter, REFIID riid,
void ** ppvObject)
{