diff --git a/IEBrowser.cpp b/IEBrowser.cpp index b7f26e6..79970ca 100644 --- a/IEBrowser.cpp +++ b/IEBrowser.cpp @@ -8,6 +8,7 @@ #include "IEBrowser.h" #include "Globals.h" #include "ax.h" + //#include "IEDispatcher.h" void IEBrowser::Boop(char* test) @@ -41,6 +42,17 @@ IEBrowser::~IEBrowser(void) { // Something goes here int IEBrowser::setExternal(IDispatch** ext) { + + std::cout << &m_IEDispatcher; + IInternetHostSecurityManager* spSecMan; + spDocument2->QueryInterface(IID_IInternetHostSecurityManager, + (void **) &spSecMan); + + // TODO: hr needs to say: 'S_OK' + HRESULT hr = spSecMan->ProcessUrlAction(URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY, + NULL, 0, NULL, 0, 0, PUAF_DEFAULT); + + (*ext) = &m_IEDispatcher; return 1; } @@ -83,9 +95,9 @@ bool IEBrowser::navigateSyncURL(wchar_t* url) if (SUCCEEDED(spDocument->QueryInterface(IID_ICustomDoc,(void**)&spCustomDoc))) { spCustomDoc->SetUIHandler(m_spHandler); - m_spHandler->GetExternal(&m_spExternal); - + spDocument->QueryInterface(IID_IHTMLDocument2, (void **) &spDocument2); + setExternal(&m_spExternal); } } } diff --git a/IEBrowser.h b/IEBrowser.h index 3f86ba6..b3d00dd 100644 --- a/IEBrowser.h +++ b/IEBrowser.h @@ -3,6 +3,7 @@ #include #include #include +#include "IEDispatcher.h" class IEBrowser { public: @@ -18,6 +19,7 @@ class IEBrowser { IDocHostUIHandler* m_spHandler; IDispatch* m_spExternal; IDispatch* m_newExternal; + IEDispatcher m_IEDispatcher; IOleClientSite* m_spDefaultDocHostUIHandler; int setExternal(IDispatch** ext); }; diff --git a/IEDispatcher.h b/IEDispatcher.h index 4b16fd2..372ab1c 100644 --- a/IEDispatcher.h +++ b/IEDispatcher.h @@ -2,11 +2,9 @@ #include "oaidl.h" //DEFINE_GUID(CLSID_G3d, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6F); -/* class IEDispatcher : public IDispatch { -*/ - +/* EXTERN_C const IID IID_IDispatch; #if defined(__cplusplus) && !defined(CINTERFACE) @@ -14,6 +12,7 @@ EXTERN_C const IID IID_IDispatch; MIDL_INTERFACE("B323F8E0-2E68-11D0-90EA-00AA0060F86F") IEDispatcher : public IDispatch { +*/ public: IEDispatcher(void); ~IEDispatcher(void); @@ -27,4 +26,4 @@ public: }; -#endif +//#endif