Go to the source code of this file.
|
| DEFINE_GUID (IID_HTMLPluginContainer, 0xbd7a6050, 0xb373, 0x4f6f, 0xa4, 0x93, 0xdd, 0x40, 0xc5, 0x23, 0xa8, 0x6a) |
|
HRESULT | create_plugin_host (HTMLDocumentNode *, HTMLPluginContainer *) DECLSPEC_HIDDEN |
|
void | update_plugin_window (PluginHost *, HWND, const RECT *) DECLSPEC_HIDDEN |
|
void | detach_plugin_host (PluginHost *) DECLSPEC_HIDDEN |
|
HRESULT | create_param_prop_bag (nsIDOMHTMLElement *, IPropertyBag **) DECLSPEC_HIDDEN |
|
HRESULT | create_ip_window (IOleInPlaceUIWindow **) DECLSPEC_HIDDEN |
|
HRESULT | create_ip_frame (IOleInPlaceFrame **) DECLSPEC_HIDDEN |
|
HRESULT | get_plugin_disp (HTMLPluginContainer *, IDispatch **) DECLSPEC_HIDDEN |
|
HRESULT | get_plugin_dispid (HTMLPluginContainer *, WCHAR *, DISPID *) DECLSPEC_HIDDEN |
|
HRESULT | invoke_plugin_prop (HTMLPluginContainer *, DISPID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *) DECLSPEC_HIDDEN |
|
void | notif_container_change (HTMLPluginContainer *, DISPID) DECLSPEC_HIDDEN |
|
void | bind_activex_event (HTMLDocumentNode *, HTMLPluginContainer *, WCHAR *, IDispatch *) DECLSPEC_HIDDEN |
|
◆ HTMLPluginContainer
◆ PHEventSink
◆ bind_activex_event()
Definition at line 758 of file pluginhost.c.
759{
764
766
767 if(!plugin_host || !plugin_host->
plugin_unk) {
768 WARN(
"detached element %p\n", plugin_host);
769 return;
770 }
771
772 if(plugin_host->
sink) {
774 ITypeInfo_AddRef(source_info);
775 }else {
777
780 FIXME(
"No IProvideClassInfo, try GetTypeInfo?\n");
781 return;
782 }
783
785 IProvideClassInfo_Release(provide_ci);
787 WARN(
"GetClassInfo failed: %08x\n",
hres);
788 return;
789 }
790
793 if(!source_info)
794 return;
795 }
796
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)
802
803 ITypeInfo_Release(source_info);
805 return;
806
808}
static VARIANTARG static DISPID
const GUID IID_IProvideClassInfo
static void add_sink_handler(PHEventSink *sink, DISPID id, IDispatch *disp)
static PHEventSink * create_event_sink(PluginHost *plugin_host, ITypeInfo *typeinfo)
static ITypeInfo * get_eventiface_info(HTMLPluginContainer *plugin_container, ITypeInfo *class_info)
Referenced by bind_event_scripts().
◆ create_ip_frame()
Definition at line 189 of file ipwindow.c.
190{
192
193 frame = heap_alloc_zero(sizeof(*frame));
194 if(!frame)
196
199
202}
static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl
IOleInPlaceFrame IOleInPlaceFrame_iface
Referenced by PHInPlaceSite_GetWindowContext().
◆ create_ip_window()
Definition at line 317 of file ipwindow.c.
318{
320
321 uiwindow = heap_alloc_zero(sizeof(*uiwindow));
322 if(!uiwindow)
324
327
330}
static const IOleInPlaceUIWindowVtbl OleInPlaceUIWindowVtbl
IOleInPlaceUIWindow IOleInPlaceUIWindow_iface
Referenced by PHInPlaceSite_GetWindowContext().
◆ create_param_prop_bag()
Definition at line 317 of file propbag.c.
318{
321
323 if(!prop_bag)
325
329
336 }
337
340}
static void * heap_alloc(size_t len)
static int list_empty(struct list_entry *head)
static void list_init(struct list_entry *head)
static const IPropertyBagVtbl PropertyBagVtbl
static const IPropertyBag2Vtbl PropertyBag2Vtbl
static HRESULT fill_props(nsIDOMHTMLElement *nselem, PropertyBag *prop_bag)
IPropertyBag2 IPropertyBag2_iface
IPropertyBag IPropertyBag_iface
Referenced by load_prop_bag().
◆ create_plugin_host()
Definition at line 2048 of file pluginhost.c.
2049{
2053
2055
2057 if(!unk)
2059
2060 host = heap_alloc_zero(
sizeof(*
host));
2062 IUnknown_Release(unk);
2064 }
2065
2074
2076
2077 host->plugin_unk = unk;
2079
2082
2085
2087
2089}
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static const IOleClientSiteVtbl OleClientSiteVtbl
static const IOleInPlaceSiteExVtbl OleInPlaceSiteExVtbl
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
static const IOleControlSiteVtbl OleControlSiteVtbl
static const IAdviseSinkExVtbl AdviseSinkExVtbl
static const IBindHostVtbl BindHostVtbl
static const IDispatchVtbl DispatchVtbl
static IUnknown * create_activex_object(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, CLSID *clsid)
static const IServiceProviderVtbl ServiceProviderVtbl
static void initialize_plugin_object(PluginHost *host)
Referenced by HTMLObjectElement2_put_classid(), and NPP_New().
◆ DEFINE_GUID()
DEFINE_GUID |
( |
IID_HTMLPluginContainer |
, |
|
|
0xbd7a6050 |
, |
|
|
0xb373 |
, |
|
|
0x4f6f |
, |
|
|
0xa4 |
, |
|
|
0x93 |
, |
|
|
0xdd |
, |
|
|
0x40 |
, |
|
|
0xc5 |
, |
|
|
0x23 |
, |
|
|
0xa8 |
, |
|
|
0x6a |
|
|
) |
| |
◆ detach_plugin_host()
Definition at line 1988 of file pluginhost.c.
1989{
1991
1993
1995 return;
1996
1997 if(
host->ip_object) {
1999 IOleInPlaceObject_UIDeactivate(
host->ip_object);
2000 IOleInPlaceObject_InPlaceDeactivate(
host->ip_object);
2001 }
2002
2003 if(
host->plugin_unk) {
2005
2008 if(!
host->ip_object)
2009 IOleObject_Close(ole_obj, OLECLOSE_NOSAVE);
2010 IOleObject_SetClientSite(ole_obj,
NULL);
2011 IOleObject_Release(ole_obj);
2012 }
2013 }
2014
2018
2020
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);
2028 }
2029 }
2030
2032 IDispatch_Release(&
host->sink->IDispatch_iface);
2034 }
2035
2037
2041 }
2042
2046}
static void list_remove(struct list_entry *entry)
const GUID IID_IConnectionPointContainer
const GUID IID_IOleObject
static void release_plugin_ifaces(PluginHost *This)
Referenced by detach_inner_window(), HTMLDocumentNode_destructor(), HTMLObjectElement_destructor(), and NPP_Destroy().
◆ get_plugin_disp()
◆ get_plugin_dispid()
Definition at line 377 of file pluginhost.c.
378{
383
385 WARN(
"no plugin host\n");
387 }
388
390 if(!disp)
392
397 }
398
400 if(
id == plugin_container->
props[
i]) {
403 }
404 }
405
406 if(!plugin_container->
props) {
408 if(!plugin_container->
props)
413
415 if(!new_props)
417
418 plugin_container->
props = new_props;
420 }
421
426}
static void * heap_realloc(void *mem, size_t len)
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
#define MSHTML_DISPID_CUSTOM_MIN
#define DISP_E_UNKNOWNNAME
Referenced by HTMLObjectElement_get_dispid().
◆ invoke_plugin_prop()
◆ notif_container_change()
◆ update_plugin_window()
Definition at line 287 of file pluginhost.c.
288{
290
292 FIXME(
"unhandled hwnd\n");
293 return;
294 }
295
297
301 }
302
306 }
307
308 if(rect_changed &&
host->ip_object)
309 IOleInPlaceObject_SetObjectRects(
host->ip_object, &
host->rect, &
host->rect);
310}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static const char * wine_dbgstr_rect(const RECT *prc)
static void embed_plugin_object(PluginHost *host)
Referenced by NPP_SetWindow().
◆ DECLSPEC_HIDDEN
const IID IID_HTMLPluginContainer DECLSPEC_HIDDEN |
|
extern |