#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 WXUNUSED(dwCombineFlags),
- LPWSTR pwzResult,
- DWORD cchResult, DWORD *pcchResult,
- DWORD WXUNUSED(dwReserved))
-{
-
- wxString newuri = m_handler->CombineURIs(pwzBaseUrl, pwzRelativeUrl);
- //Check the buffer we are given can hold the new url
- if(wxStrlen(newuri) > cchResult)
- return S_FALSE;
-
- wxStrcpy(pwzResult, newuri.c_str());
- *pcchResult = wxStrlen(newuri);
- return S_OK;
-}
-
-HRESULT VirtualProtocol::ParseUrl(LPCWSTR pwzUrl,
- PARSEACTION WXUNUSED(ParseAction),
- DWORD WXUNUSED(dwParseFlags),
- LPWSTR pwzResult,
- DWORD cchResult, DWORD *pcchResult,
- DWORD WXUNUSED(dwReserved))
-{
- //Check the buffer we are given can hold the new url
- if(wxStrlen(pwzUrl) > cchResult)
- return S_FALSE;
-
- wxStrcpy(pwzResult, pwzUrl);
- *pcchResult = wxStrlen(pwzResult);
- return S_OK;
-}
-
-HRESULT VirtualProtocol::QueryInfo(LPCWSTR WXUNUSED(pwzUrl),
- QUERYOPTION WXUNUSED(OueryOption),
- DWORD WXUNUSED(dwQueryFlags),
- LPVOID WXUNUSED(pBuffer),
- DWORD WXUNUSED(cbBuffer),
- DWORD* WXUNUSED(pcbBuf),
- DWORD WXUNUSED(dwReserved))
-{
- return INET_E_DEFAULT_ACTION;
-}
-
HRESULT ClassFactory::CreateInstance(IUnknown* pUnkOuter, REFIID riid,
void ** ppvObject)
{