29 cs.pUnk =
host->plugin_unk;
30 cs.dwFlags = CONFIRMSAFETYACTION_LOADOBJECT;
32 hres = IInternetHostSecurityManager_QueryCustomPolicy(&
host->doc->IInternetHostSecurityManager_iface,
39 return policy == URLPOLICY_ALLOW;
53 cs.pUnk =
host->plugin_unk;
56 hres = IInternetHostSecurityManager_QueryCustomPolicy(&
host->doc->IInternetHostSecurityManager_iface,
64 if(
policy != URLPOLICY_ALLOW)
86 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IDispatchEx, (
void**)&dispex);
88 FIXME(
"Use IDispatchEx\n");
89 IDispatchEx_Release(dispex);
97 IDispatch_Release(disp);
124 IPropertyBag_Release(prop_bag);
129 hres = IPersistPropertyBag_Load(persist_prop_bag, prop_bag,
NULL);
130 IPropertyBag_Release(prop_bag);
134 hres = IPersistPropertyBag_InitNew(persist_prop_bag);
136 WARN(
"InitNew failed: %08x\n",
hres);
146 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IPersistPropertyBag2, (
void**)&persist_prop_bag2);
148 FIXME(
"Use IPersistPropertyBag2 iface\n");
149 IPersistPropertyBag2_Release(persist_prop_bag2);
156 IPersistPropertyBag_Release(persist_prop_bag);
160 FIXME(
"No IPersistPropertyBag iface\n");
180 FIXME(
"Handle IClientSecurity\n");
185 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IQuickActivate, (
void**)&quick_activate);
190 TRACE(
"Using IQuickActivate\n");
193 container.dwAmbientFlags = QACONTAINER_SUPPORTSMNEMONICS|QACONTAINER_MESSAGEREFLECT|QACONTAINER_USERMODE;
195 container.pPropertyNotifySink = &
host->IPropertyNotifySink_iface;
198 IQuickActivate_Release(quick_activate);
200 FIXME(
"QuickActivate failed: %08x\n",
hres);
206 hres = IOleObject_GetMiscStatus(ole_obj, DVASPECT_CONTENT, &
status);
209 hres = IOleObject_SetClientSite(ole_obj, &
host->IOleClientSite_iface);
210 IOleObject_Release(ole_obj);
212 FIXME(
"SetClientSite failed: %08x\n",
hres);
216 TRACE(
"Plugin does not support IOleObject\n");
223 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IViewObjectEx, (
void**)&view_obj);
225 DWORD view_status = 0;
227 hres = IViewObjectEx_SetAdvise(view_obj, DVASPECT_CONTENT, 0, (
IAdviseSink*)&
host->IAdviseSinkEx_iface);
229 WARN(
"SetAdvise failed: %08x\n",
hres);
231 hres = IViewObjectEx_GetViewStatus(view_obj, &view_status);
232 IViewObjectEx_Release(view_obj);
233 TRACE(
"GetViewStatus returned %08x %x\n",
hres, view_status);
241 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IDispatchEx, (
void**)&dispex);
243 FIXME(
"Use IDispatchEx\n");
250 TRACE(
"no IDispatch iface\n");
253 hres = IUnknown_QueryInterface(
host->plugin_unk, &IID_IOleCommandTarget, (
void**)&cmdtrg);
255 FIXME(
"Use IOleCommandTarget\n");
256 IOleCommandTarget_Release(cmdtrg);
268 FIXME(
"Plugin does not support IOleObject\n");
274 IOleObject_Release(ole_obj);
276 WARN(
"DoVerb failed: %08x\n",
hres);
278 if(
host->ip_object) {
281 hres = IOleInPlaceObject_GetWindow(
host->ip_object, &
hwnd);
292 FIXME(
"unhandled hwnd\n");
308 if(rect_changed &&
host->ip_object)
309 IOleInPlaceObject_SetObjectRects(
host->ip_object, &
host->rect, &
host->rect);
322 FIXME(
"Could not get IDispatch iface: %08x\n",
hres);
328 IDispatch_Release(disp);
347 IOleControl_OnAmbientPropertyChange(ole_control, dispid);
348 IOleControl_Release(ole_control);
358 ERR(
"No plugin host\n");
368 FIXME(
"Insecure object\n");
372 IDispatch_AddRef(
host->disp);
385 WARN(
"no plugin host\n");
400 if(
id == plugin_container->
props[
i]) {
406 if(!plugin_container->
props) {
408 if(!plugin_container->
props)
418 plugin_container->
props = new_props;
435 FIXME(
"Called with no disp\n");
440 FIXME(
"Insecure object\n");
478 for(iter =
sink->handlers; iter < sink->
handlers+
sink->handlers_cnt; iter++) {
492 IDispatch_Release(
entry->disp);
494 if(!
sink->handlers_size) {
498 sink->handlers_size = 4;
499 }
else if(
sink->handlers_cnt ==
sink->handlers_size) {
505 sink->handlers = new_handlers;
506 sink->handlers_size *= 2;
512 IDispatch_AddRef(disp);
566 for(
i=0;
i <
This->handlers_cnt;
i++) {
567 if(
This->handlers[
i].disp)
568 IDispatch_Release(
This->handlers[
i].disp);
588 FIXME(
"(%p)->(%d %d %p)\n",
This, iTInfo, lcid, ppTInfo);
609 pDispParams, pVarResult, pExcepInfo, puArgErr);
618 WARN(
"No handler %d\n", dispIdMember);
624 hres = IDispatch_QueryInterface(
entry->disp, &IID_IDispatchEx, (
void**)&dispex);
628 hres = IDispatchEx_InvokeEx(dispex, DISPID_VALUE, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo,
NULL);
629 IDispatchEx_Release(dispex);
631 hres = IDispatch_Invoke(
entry->disp, DISPID_VALUE,
riid, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
664 typekind = typeattr->typekind;
665 guid = typeattr->guid;
666 ITypeInfo_ReleaseTypeAttr(
typeinfo, typeattr);
671 WARN(
"invalid typekind %d\n", typekind);
677 WARN(
"Could not get IConnectionPointContainer iface: %08x\n",
hres);
681 hres = IConnectionPointContainer_FindConnectionPoint(cp_container, &
guid, &
cp);
682 IConnectionPointContainer_Release(cp_container);
688 ret = heap_alloc_zero(
sizeof(*
ret));
692 ret->host = plugin_host;
704 IConnectionPoint_Release(
cp);
706 WARN(
"Advise failed: %08x\n",
hres);
715 int impl_types,
i, impl_flags;
726 WARN(
"not coclass\n");
727 ITypeInfo_ReleaseTypeAttr(
class_info, typeattr);
731 impl_types = typeattr->cImplTypes;
732 ITypeInfo_ReleaseTypeAttr(
class_info, typeattr);
734 for(
i=0;
i<impl_types;
i++) {
739 if((impl_flags & IMPLTYPEFLAG_FSOURCE)) {
740 if(!(impl_flags & IMPLTYPEFLAG_FDEFAULT)) {
741 FIXME(
"Handle non-default source iface\n");
767 if(!plugin_host || !plugin_host->
plugin_unk) {
768 WARN(
"detached element %p\n", plugin_host);
772 if(plugin_host->
sink) {
774 ITypeInfo_AddRef(source_info);
780 FIXME(
"No IProvideClassInfo, try GetTypeInfo?\n");
785 IProvideClassInfo_Release(provide_ci);
787 WARN(
"GetClassInfo failed: %08x\n",
hres);
797 hres = ITypeInfo_GetIDsOfNames(source_info, &
event, 1, &
id);
799 WARN(
"Could not get disp id: %08x\n",
hres);
800 else if(!plugin_host->
sink)
803 ITypeInfo_Release(source_info);
821 *
ppv = &
This->IOleClientSite_iface;
824 *
ppv = &
This->IOleClientSite_iface;
827 *
ppv = &
This->IAdviseSinkEx_iface;
830 *
ppv = &
This->IAdviseSinkEx_iface;
832 TRACE(
"(%p)->(IID_IPropertyNotifySink %p)\n",
This,
ppv);
833 *
ppv = &
This->IPropertyNotifySink_iface;
839 *
ppv = &
This->IOleInPlaceSiteEx_iface;
842 *
ppv = &
This->IOleInPlaceSiteEx_iface;
845 *
ppv = &
This->IOleInPlaceSiteEx_iface;
848 *
ppv = &
This->IOleControlSite_iface;
854 *
ppv = &
This->IServiceProvider_iface;
878 IDispatch_Release(
This->disp);
882 if(
This->ip_object) {
883 IOleInPlaceObject_Release(
This->ip_object);
887 if(
This->plugin_unk) {
892 ref = IUnknown_Release(unk);
909 IDispatch_Release(&
This->sink->IDispatch_iface);
933 TRACE(
"(%p)->(%d %d %p)\n",
This, dwAssign, dwWhichMoniker, ppmk);
935 switch(dwWhichMoniker) {
936 case OLEWHICHMK_CONTAINER:
937 if(!
This->doc || !
This->doc->window || !
This->doc->window->mon) {
938 FIXME(
"no moniker\n");
942 *ppmk =
This->doc->window->mon;
943 IMoniker_AddRef(*ppmk);
946 FIXME(
"which %d\n", dwWhichMoniker);
957 TRACE(
"(%p)->(%p)\n",
This, ppContainer);
960 ERR(
"Called on detached object\n");
964 *ppContainer = &
This->doc->basedoc.IOleContainer_iface;
965 IOleContainer_AddRef(*ppContainer);
1012 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1018 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1024 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1030 FIXME(
"(%p)->(%p %p)\n",
This, pFormatetc, pStgMedium);
1036 FIXME(
"(%p)->(%d %d)\n",
This, dwAspect, lindex);
1060 FIXME(
"(%p)->(%d)\n",
This, dwViewStatus);
1083 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1089 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1095 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1109 FIXME(
"Unimplemented dispID %d\n", dispID);
1139 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1145 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1151 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1165 FIXME(
"(%p)->(%d %d %p)\n",
This, iTInfo, lcid, ppTInfo);
1181 FIXME(
"(%p)->(%d %x %p %p)\n",
This, dispid,
wFlags, pDispParams, pVarResult);
1203 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1209 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1215 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1224 *phwnd =
This->hwnd;
1231 FIXME(
"(%p)->(%x)\n",
This, fEnterMode);
1257 if(!
This->plugin_unk) {
1258 ERR(
"No plugin object\n");
1278 TRACE(
"(%p)->(%p %p %p %p %p)\n",
This, ppFrame, ppDoc, lprcPosRect, lprcClipRect,
frame_info);
1280 if(!
This->doc || !
This->doc->basedoc.doc_obj || !
This->doc->basedoc.doc_obj->ipsite) {
1281 FIXME(
"No ipsite\n");
1285 hres = IOleInPlaceSite_GetWindowContext(
This->doc->basedoc.doc_obj->ipsite, &ip_frame, &ip_window, &pr, &cr,
frame_info);
1287 WARN(
"GetWindowContext failed: %08x\n",
hres);
1292 IOleInPlaceUIWindow_Release(ip_window);
1294 IOleInPlaceFrame_Release(ip_frame);
1302 IOleInPlaceFrame_Release(ip_frame);
1306 *ppFrame = ip_frame;
1307 *lprcPosRect =
This->rect;
1308 *lprcClipRect =
This->rect;
1315 FIXME(
"(%p)->({%d %d})\n",
This, scrollExtent.
cx, scrollExtent.
cy);
1332 if(
This->ip_object) {
1333 IOleInPlaceObject_Release(
This->ip_object);
1357 FIXME(
"(%p)->(%p)\n",
This, lprcPosRect);
1376 hres = IOleInPlaceObject_GetWindow(
This->ip_object, &
hwnd);
1380 *pfNoRedraw =
FALSE;
1427 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1433 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1439 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1473 FIXME(
"(%p)->(%x)\n",
This, grfModifiers);
1512 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1518 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1524 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1533 if(!
This->doc || !
This->doc->window || !
This->doc->window->mon) {
1534 FIXME(
"no moniker\n");
1574 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1580 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
1586 return IOleClientSite_Release(&
This->IOleClientSite_iface);
1594 TRACE(
"SID_SBindHost service\n");
1595 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid,
ppv);
1600 if(!
This->doc || !
This->doc->basedoc.window) {
1605 return IServiceProvider_QueryService(&
This->doc->basedoc.window->base.IServiceProvider_iface,
1632 }
else if(
len == 36) {
1654 static const PRUnichar classidW[] = {
'c',
'l',
'a',
's',
's',
'i',
'd',0};
1684 *
ppv = &
This->IBindStatusCallback_iface;
1686 TRACE(
"(%p)->(IID_IBindStatusCallback %p)\n",
This,
ppv);
1687 *
ppv = &
This->IBindStatusCallback_iface;
1689 TRACE(
"(%p)->(IID_IWindowForBindingUI %p)\n",
This,
ppv);
1690 *
ppv = &
This->IWindowForBindingUI_iface;
1735 TRACE(
"(%p)->(%p)\n",
This, pnPriority);
1750 TRACE(
"(%p)->(%u %u %u %s)\n",
This, ulProgress, ulProgressMax, ulStatusCode,
debugstr_w(szStatusText));
1763 DWORD* grfBINDF, BINDINFO* pbindinfo)
1767 TRACE(
"(%p)->(%p %p)\n",
This, grfBINDF, pbindinfo);
1769 *grfBINDF = BINDF_ASYNCHRONOUS;
1774 DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
1811 return IBindStatusCallback_QueryInterface(&
This->IBindStatusCallback_iface,
riid,
ppv);
1817 return IBindStatusCallback_AddRef(&
This->IBindStatusCallback_iface);
1823 return IBindStatusCallback_Release(&
This->IBindStatusCallback_iface);
1853 0, 0, { (
DWORD_PTR)(__FILE__
": install_list") }
1872 IBindStatusCallback_Release(&
callback->IBindStatusCallback_iface);
1877 IBindCtx_Release(bctx);
1892 static const PRUnichar codebaseW[] = {
'c',
'o',
'd',
'e',
'b',
'a',
's',
'e',0};
1914 TRACE(
"already proceeded\n");
1935 hres = IUri_GetDisplayUri(
uri, &display_uri);
1947 IClassFactoryEx *cfex;
1954 WARN(
"Could not determine element CLSID\n");
1974 hres = IClassFactory_QueryInterface(
cf, &IID_IClassFactoryEx, (
void**)&cfex);
1976 FIXME(
"Use IClassFactoryEx\n");
1977 IClassFactoryEx_Release(cfex);
1981 IClassFactory_Release(
cf);
1997 if(
host->ip_object) {
1999 IOleInPlaceObject_UIDeactivate(
host->ip_object);
2000 IOleInPlaceObject_InPlaceDeactivate(
host->ip_object);
2003 if(
host->plugin_unk) {
2008 if(!
host->ip_object)
2009 IOleObject_Close(ole_obj, OLECLOSE_NOSAVE);
2010 IOleObject_SetClientSite(ole_obj,
NULL);
2011 IOleObject_Release(ole_obj);
2023 hres = IConnectionPointContainer_FindConnectionPoint(cp_container, &
host->sink->iid, &
cp);
2024 IConnectionPointContainer_Release(cp_container);
2026 IConnectionPoint_Unadvise(
cp,
host->sink->cookie);
2027 IConnectionPoint_Release(
cp);
2032 IDispatch_Release(&
host->sink->IDispatch_iface);
2060 host = heap_alloc_zero(
sizeof(*
host));
2062 IUnknown_Release(unk);
2077 host->plugin_unk = unk;
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_rect(const RECT *prc)
HRESULT WINAPI AsyncInstallDistributionUnit(const WCHAR *szDistUnit, const WCHAR *szTYPE, const WCHAR *szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, const WCHAR *szURL, IBindCtx *pbc, void *pvReserved, DWORD flags)
static void list_remove(struct list_entry *entry)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
const GUID IID_IClassFactory
static const WCHAR clsidW[]
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
HRESULT WINAPI DECLSPEC_HOTPATCH CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
HRESULT WINAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
static xmlCharEncodingHandlerPtr * handlers
WDF_INTERRUPT_POLICY policy
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum GLboolean sink
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
nsresult get_elem_attr_value(nsIDOMHTMLElement *nselem, const WCHAR *name, nsAString *val_str, const PRUnichar **val)
#define DISPID_READYSTATE
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT create_ip_window(IOleInPlaceUIWindow **ret)
HRESULT create_ip_frame(IOleInPlaceFrame **ret)
#define memcpy(s1, s2, n)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static IPrintDialogCallback callback
static const char * debugstr_variant(const VARIANT *var)
#define eq(received, expected, label, type)
static IHTMLWindow2 * window
static VARIANTARG static DISPID
#define DISPID_SECURITYCTX
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
#define MSHTML_DISPID_CUSTOM_MIN
#define NS_SUCCEEDED(res)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define OLEIVERB_INPLACEACTIVATE
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
#define DISPATCH_PROPERTYGET
const GUID IID_IOleInPlaceSite
const GUID IID_IConnectionPointContainer
const GUID IID_IPropertyNotifySink
const GUID IID_IProvideClassInfo
const GUID IID_IAdviseSink
const GUID IID_IOleWindow
const GUID IID_IOleControlSite
const GUID IID_IOleClientSite
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
const GUID IID_IOleControl
static PluginHost * impl_from_IPropertyNotifySink(IPropertyNotifySink *iface)
static CRITICAL_SECTION_DEBUG cs_install_list_dbg
static InstallCallback * impl_from_IWindowForBindingUI(IWindowForBindingUI *iface)
static HRESULT WINAPI PHInPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, RECT *lprcPosRect, RECT *lprcClipRect, OLEINPLACEFRAMEINFO *frame_info)
static void add_sink_handler(PHEventSink *sink, DISPID id, IDispatch *disp)
static const IOleClientSiteVtbl OleClientSiteVtbl
static HRESULT WINAPI PHInPlaceSite_DiscardUndoState(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHDispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT invoke_plugin_prop(HTMLPluginContainer *plugin_container, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei)
static ULONG WINAPI WindowForBindingUI_AddRef(IWindowForBindingUI *iface)
static struct list install_list
static void notif_enabled(PluginHost *plugin_host)
static ULONG WINAPI InstallCallback_Release(IBindStatusCallback *iface)
static ULONG WINAPI PHAdviseSinkEx_AddRef(IAdviseSinkEx *iface)
static void check_codebase(HTMLInnerWindow *window, nsIDOMHTMLElement *nselem)
static void WINAPI PHAdviseSinkEx_OnSave(IAdviseSinkEx *iface)
static HRESULT WINAPI PHDispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
void update_plugin_window(PluginHost *host, HWND hwnd, const RECT *rect)
static HRESULT WINAPI InstallCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
static HRESULT WINAPI PHDispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static HRESULT WINAPI InstallCallback_OnLowResource(IBindStatusCallback *iface, DWORD dwReserved)
static HRESULT WINAPI PHInPlaceSite_GetWindow(IOleInPlaceSiteEx *iface, HWND *phwnd)
static HRESULT WINAPI PHInPlaceSite_OnInPlaceActivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHControlSite_GetExtendedControl(IOleControlSite *iface, IDispatch **ppDisp)
static void embed_plugin_object(PluginHost *host)
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx *iface, BOOL *pfNoRedraw, DWORD dwFlags)
HRESULT get_plugin_disp(HTMLPluginContainer *plugin_container, IDispatch **ret)
static HRESULT WINAPI PHEventSink_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static HRESULT WINAPI PHInPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface)
static const IOleInPlaceSiteExVtbl OleInPlaceSiteExVtbl
static BOOL check_script_safety(PluginHost *host)
static void get_pos_rect(PluginHost *host, RECT *ret)
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
static void WINAPI PHAdviseSinkEx_OnDataChange(IAdviseSinkEx *iface, FORMATETC *pFormatetc, STGMEDIUM *pStgMedium)
static ULONG WINAPI PHServiceProvider_Release(IServiceProvider *iface)
static HRESULT WINAPI PHControlSite_LockInPlaceActive(IOleControlSite *iface, BOOL fLock)
static ULONG WINAPI PHInPlaceSite_Release(IOleInPlaceSiteEx *iface)
static const IOleControlSiteVtbl OleControlSiteVtbl
static ULONG WINAPI PHEventSink_AddRef(IDispatch *iface)
static PluginHost * impl_from_IOleClientSite(IOleClientSite *iface)
static HRESULT WINAPI PHInPlaceSite_ContextSensitiveHelp(IOleInPlaceSiteEx *iface, BOOL fEnterMode)
static HRESULT WINAPI PHControlSite_TransformCoords(IOleControlSite *iface, POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags)
static void WINAPI PHAdviseSinkEx_OnViewStatusChange(IAdviseSinkEx *iface, DWORD dwViewStatus)
static HRESULT WINAPI InstallCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
static HRESULT WINAPI PHPropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
static ULONG WINAPI PHDispatch_Release(IDispatch *iface)
void notif_container_change(HTMLPluginContainer *plugin_container, DISPID dispid)
static PluginHost * impl_from_IOleInPlaceSiteEx(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHClientSite_ShowObject(IOleClientSite *iface)
static HRESULT WINAPI InstallCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
HRESULT get_plugin_dispid(HTMLPluginContainer *plugin_container, WCHAR *name, DISPID *ret)
static const IAdviseSinkExVtbl AdviseSinkExVtbl
static HRESULT WINAPI PHClientSite_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
static HRESULT WINAPI PHInPlaceSite_CanInPlaceActivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHControlSite_ShowPropertyFrame(IOleControlSite *iface)
static ULONG WINAPI PHClientSite_Release(IOleClientSite *iface)
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface, BOOL fNoRedraw)
static HRESULT WINAPI PHBindHost_QueryInterface(IBindHost *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHEventSink_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static HRESULT WINAPI PHControlSite_OnControlInfoChanged(IOleControlSite *iface)
static ULONG WINAPI PHServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT WINAPI PHControlSite_OnFocus(IOleControlSite *iface, BOOL fGotFocus)
static HRESULT WINAPI PHServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static HRESULT WINAPI PHPropertyNotifySink_QueryInterface(IPropertyNotifySink *iface, REFIID riid, void **ppv)
static const IWindowForBindingUIVtbl WindowForBindingUIVtbl
static HRESULT WINAPI InstallCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static CRITICAL_SECTION cs_install_list
static HRESULT WINAPI PHInPlaceSite_OnPosRectChange(IOleInPlaceSiteEx *iface, LPCRECT lprcPosRect)
static ULONG WINAPI PHControlSite_AddRef(IOleControlSite *iface)
static ULONG WINAPI PHAdviseSinkEx_Release(IAdviseSinkEx *iface)
static HRESULT WINAPI InstallCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHAdviseSinkEx_QueryInterface(IAdviseSinkEx *iface, REFIID riid, void **ppv)
static ULONG WINAPI PHPropertyNotifySink_AddRef(IPropertyNotifySink *iface)
static HRESULT WINAPI PHInPlaceSite_Scroll(IOleInPlaceSiteEx *iface, SIZE scrollExtent)
static HRESULT WINAPI PHClientSite_OnShowWindow(IOleClientSite *iface, BOOL fShow)
static HRESULT WINAPI PHPropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
static HRESULT WINAPI PHClientSite_SaveObject(IOleClientSite *iface)
static HRESULT WINAPI InstallCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static ULONG WINAPI PHClientSite_AddRef(IOleClientSite *iface)
static const IBindHostVtbl BindHostVtbl
static ULONG WINAPI WindowForBindingUI_Release(IWindowForBindingUI *iface)
static HRESULT WINAPI PHInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx *iface)
static PHEventSink * create_event_sink(PluginHost *plugin_host, ITypeInfo *typeinfo)
static HRESULT WINAPI PHBindHost_MonikerBindToObject(IBindHost *iface, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, void **ppvObj)
static ULONG WINAPI PHDispatch_AddRef(IDispatch *iface)
void detach_plugin_host(PluginHost *host)
static HRESULT WINAPI PHEventSink_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static void WINAPI PHAdviseSinkEx_OnRename(IAdviseSinkEx *iface, IMoniker *pmk)
static const IDispatchVtbl DispatchVtbl
static ULONG WINAPI InstallCallback_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI PHBindHost_CreateMoniker(IBindHost *iface, LPOLESTR szName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved)
static PluginHost * impl_from_IOleControlSite(IOleControlSite *iface)
static void load_prop_bag(PluginHost *host, IPersistPropertyBag *persist_prop_bag)
static void update_readystate(PluginHost *host)
HRESULT create_plugin_host(HTMLDocumentNode *doc, HTMLPluginContainer *container)
static HRESULT WINAPI PHEventSink_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static ITypeInfo * get_eventiface_info(HTMLPluginContainer *plugin_container, ITypeInfo *class_info)
static HRESULT WINAPI PHServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHInPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface)
static BOOL check_load_safety(PluginHost *host)
static HRESULT WINAPI InstallCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static sink_entry_t * find_sink_entry(PHEventSink *sink, DISPID id)
static HRESULT WINAPI PHClientSite_RequestNewObjectLayout(IOleClientSite *iface)
static HRESULT WINAPI PHEventSink_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHControlSite_TranslateAccelerator(IOleControlSite *iface, MSG *pMsg, DWORD grfModifiers)
static IUnknown * create_activex_object(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, CLSID *clsid)
static PluginHost * impl_from_IDispatch(IDispatch *iface)
static HRESULT WINAPI PHDispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
void bind_activex_event(HTMLDocumentNode *doc, HTMLPluginContainer *plugin_container, WCHAR *event, IDispatch *disp)
static HRESULT WINAPI PHInPlaceSite_OnUIDeactivate(IOleInPlaceSiteEx *iface, BOOL fUndoable)
static ULONG WINAPI PHControlSite_Release(IOleControlSite *iface)
static const IDispatchVtbl PHCPDispatchVtbl
static PluginHost * impl_from_IServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI PHBindHost_MonikerBindToStorage(IBindHost *iface, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, void **ppvObj)
static BOOL get_elem_clsid(nsIDOMHTMLElement *elem, CLSID *clsid)
static PluginHost * impl_from_IBindHost(IBindHost *iface)
static const IServiceProviderVtbl ServiceProviderVtbl
static void WINAPI PHAdviseSinkEx_OnClose(IAdviseSinkEx *iface)
static HRESULT WINAPI PHClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv)
static BOOL parse_classid(const PRUnichar *classid, CLSID *clsid)
static HRESULT WINAPI PHDispatch_Invoke(IDispatch *iface, DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI PHBindHost_AddRef(IBindHost *iface)
static ULONG WINAPI PHBindHost_Release(IBindHost *iface)
static InstallCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
static void load_plugin(PluginHost *host)
static PHEventSink * PHEventSink_from_IDispatch(IDispatch *iface)
static HRESULT WINAPI InstallCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static void release_plugin_ifaces(PluginHost *This)
static void install_codebase(const WCHAR *url)
static HRESULT WINAPI PHInPlaceSite_QueryInterface(IOleInPlaceSiteEx *iface, REFIID riid, void **ppv)
static IBindStatusCallbackVtbl InstallCallbackVtbl
static PluginHost * impl_from_IAdviseSinkEx(IAdviseSinkEx *iface)
static ULONG WINAPI PHPropertyNotifySink_Release(IPropertyNotifySink *iface)
static HRESULT WINAPI WindowForBindingUI_GetWindow(IWindowForBindingUI *iface, REFGUID rguidReason, HWND *phwnd)
static ULONG WINAPI PHEventSink_Release(IDispatch *iface)
static HRESULT WINAPI PHClientSite_GetContainer(IOleClientSite *iface, IOleContainer **ppContainer)
static void WINAPI PHAdviseSinkEx_OnViewChange(IAdviseSinkEx *iface, DWORD dwAspect, LONG lindex)
static ULONG WINAPI PHInPlaceSite_AddRef(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI PHInPlaceSite_DeactivateAndUndo(IOleInPlaceSiteEx *iface)
static void initialize_plugin_object(PluginHost *host)
static HRESULT WINAPI WindowForBindingUI_QueryInterface(IWindowForBindingUI *iface, REFIID riid, void **ppv)
static HRESULT WINAPI PHControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv)
HRESULT create_param_prop_bag(nsIDOMHTMLElement *, IPropertyBag **) DECLSPEC_HIDDEN
static const WCHAR szName[]
const GUID IID_IPersistPropertyBag
#define IsEqualGUID(rguid1, rguid2)
#define strncmpiW(s1, s2, n)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
IInternetHostSecurityManager IInternetHostSecurityManager_iface
IBindStatusCallback IBindStatusCallback_iface
IWindowForBindingUI IWindowForBindingUI_iface
IDispatch IDispatch_iface
LIST_ENTRY ProcessLocksList
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define REGDB_E_CLASSNOTREG
#define DISP_E_UNKNOWNNAME