Remove copied class definitions from missing.h. Disable custom scheme handling under MinGW as it lacks the correct definitions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Steve Lamerton 2011-10-02 12:21:22 +00:00
parent 00103b7dd6
commit 2112ca2d61
4 changed files with 12 additions and 114 deletions

View File

@ -577,119 +577,6 @@ typedef enum CommandStateChangeConstants {
#ifndef DISPID_NEWWINDOW3
#define DISPID_NEWWINDOW3 273
#endif
//As MinGW is missing urlmon we replicate the definitions here for wxWebView
#ifdef __MINGW32__
EXTERN_C const IID CLSID_FileProtocol;
EXTERN_C const IID IID_IInternetProtocolRoot;
EXTERN_C const IID IID_IInternetProtocol;
DEFINE_GUID(IID_IInternetProtocolRoot,0x79eac9e3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
DEFINE_GUID(IID_IInternetProtocol,0x79eac9e4,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
typedef enum __MIDL_IBindStatusCallback_0006
{
BSCF_FIRSTDATANOTIFICATION = 0x1,
BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
BSCF_LASTDATANOTIFICATION = 0x4,
BSCF_DATAFULLYAVAILABLE = 0x8,
BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
} BSCF;
typedef struct _tagPROTOCOLDATA
{
DWORD grfFlags;
DWORD dwState;
LPVOID pData;
ULONG cbData;
} PROTOCOLDATA;
typedef struct _tagBINDINFO
{
ULONG cbSize;
LPWSTR szExtraInfo;
STGMEDIUM stgmedData;
DWORD grfBindInfoF;
DWORD dwBindVerb;
LPWSTR szCustomVerb;
DWORD cbstgmedData;
DWORD dwOptions;
DWORD dwOptionsFlags;
DWORD dwCodePage;
SECURITY_ATTRIBUTES securityAttributes;
IID iid;
IUnknown *pUnk;
DWORD dwReserved;
} BINDINFO;
class IInternetProtocolSink : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Switch(PROTOCOLDATA*) = 0;
virtual HRESULT STDMETHODCALLTYPE ReportProgress(ULONG, LPCWSTR) = 0;
virtual HRESULT STDMETHODCALLTYPE ReportData(DWORD, ULONG, ULONG) = 0;
virtual HRESULT STDMETHODCALLTYPE ReportResult(HRESULT, DWORD, LPCWSTR) = 0;
};
class IInternetBindInfo : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetBindInfo(DWORD*, BINDINFO*) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBindString(ULONG, LPOLESTR*, ULONG,
ULONG*) = 0;
};
class IInternetProtocolRoot : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Start(LPCWSTR, IInternetProtocolSink*,
IInternetBindInfo*, DWORD,
HANDLE_PTR) = 0;
virtual HRESULT STDMETHODCALLTYPE Continue(PROTOCOLDATA*) = 0;
virtual HRESULT STDMETHODCALLTYPE Abort(HRESULT, DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE Terminate(DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE Suspend() = 0;
virtual HRESULT STDMETHODCALLTYPE Resume() = 0;
};
class IInternetProtocol : public IInternetProtocolRoot
{
public:
virtual HRESULT STDMETHODCALLTYPE Read(void*, ULONG, ULONG*) = 0;
virtual HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER, DWORD,
ULARGE_INTEGER*) = 0;
virtual HRESULT STDMETHODCALLTYPE LockRequest(DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockRequest() = 0;
};
class IInternetSession : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace(IClassFactory*,
REFCLSID, LPCWSTR,
ULONG, const LPCWSTR*,
DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace(IClassFactory*,
LPCWSTR) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter(IClassFactory*,
REFCLSID,
LPCWSTR) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter(IClassFactory*,
LPCWSTR) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateBinding(LPBC, LPCWSTR, IUnknown*,
IUnknown**,
IInternetProtocol**,
DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSessionOption(DWORD, LPVOID, DWORD,
DWORD) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSessionOption(DWORD, LPVOID, DWORD*,
DWORD) = 0;
};
STDAPI CoInternetGetSession(DWORD, IInternetSession**, DWORD);
#endif
/*

View File

@ -161,6 +161,8 @@ private:
wxDECLARE_DYNAMIC_CLASS(wxWebViewIE);
};
#ifndef __MINGW32__
class VirtualProtocol : public IInternetProtocol
{
protected:
@ -225,6 +227,8 @@ private:
wxSharedPtr<wxWebViewHandler> m_handler;
};
#endif // __MINGW32__
#endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE && defined(__WXMSW__)
#endif // wxWebViewIE_H

View File

@ -171,7 +171,8 @@ public:
changed with a registry setting, see
<a href="http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation">
this</a> article for more information. This backend has full support for
custom schemes and virtual file systems.
custom schemes and virtual file systems, except when compiling under MinGW
where they are disabled.
@par wxWEB_VIEW_WEBKIT (GTK)

View File

@ -665,6 +665,7 @@ void wxWebViewIE::RunScript(const wxString& javascript)
void wxWebViewIE::RegisterHandler(wxSharedPtr<wxWebViewHandler> handler)
{
#ifndef __MINGW32__
wxDynamicLibrary urlMon(wxT("urlmon.dll"));
if(urlMon.HasSymbol(wxT("CoInternetGetSession")))
{
@ -689,6 +690,7 @@ void wxWebViewIE::RegisterHandler(wxSharedPtr<wxWebViewHandler> handler)
{
wxFAIL_MSG("urlmon does not contain CoInternetGetSession");
}
#endif
}
bool wxWebViewIE::CanExecCommand(wxString command) const
@ -975,6 +977,8 @@ void wxWebViewIE::onActiveXEvent(wxActiveXEvent& evt)
evt.Skip();
}
#ifndef __MINGW32__
VirtualProtocol::VirtualProtocol(wxSharedPtr<wxWebViewHandler> handler)
{
m_refCount = 0;
@ -1144,4 +1148,6 @@ ULONG ClassFactory::Release(void)
}
#endif // __MINGW32__
#endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE