mshtml: Added IHTMLIFrameElement2 stub implementation.
This commit is contained in:
parent
d71ce1a282
commit
12a35ac9de
|
@ -34,6 +34,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
typedef struct {
|
||||
HTMLFrameBase framebase;
|
||||
IHTMLIFrameElement IHTMLIFrameElement_iface;
|
||||
IHTMLIFrameElement2 IHTMLIFrameElement2_iface;
|
||||
} HTMLIFrame;
|
||||
|
||||
static inline HTMLIFrame *impl_from_IHTMLIFrameElement(IHTMLIFrameElement *iface)
|
||||
|
@ -153,6 +154,107 @@ static const IHTMLIFrameElementVtbl HTMLIFrameElementVtbl = {
|
|||
HTMLIFrameElement_get_align
|
||||
};
|
||||
|
||||
static inline HTMLIFrame *impl_from_IHTMLIFrameElement2(IHTMLIFrameElement2 *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, HTMLIFrame, IHTMLIFrameElement2_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_QueryInterface(IHTMLIFrameElement2 *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
|
||||
return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLIFrameElement2_AddRef(IHTMLIFrameElement2 *iface)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
|
||||
return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLIFrameElement2_Release(IHTMLIFrameElement2 *iface)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
|
||||
return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfoCount(IHTMLIFrameElement2 *iface, UINT *pctinfo)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
return IDispatchEx_GetTypeInfoCount(&This->framebase.element.node.dispex.IDispatchEx_iface,
|
||||
pctinfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfo(IHTMLIFrameElement2 *iface, UINT iTInfo,
|
||||
LCID lcid, ITypeInfo **ppTInfo)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
return IDispatchEx_GetTypeInfo(&This->framebase.element.node.dispex.IDispatchEx_iface, iTInfo,
|
||||
lcid, ppTInfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_GetIDsOfNames(IHTMLIFrameElement2 *iface, REFIID riid,
|
||||
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
return IDispatchEx_GetIDsOfNames(&This->framebase.element.node.dispex.IDispatchEx_iface, riid,
|
||||
rgszNames, cNames, lcid, rgDispId);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_Invoke(IHTMLIFrameElement2 *iface, DISPID dispIdMember,
|
||||
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
|
||||
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
return IDispatchEx_Invoke(&This->framebase.element.node.dispex.IDispatchEx_iface, dispIdMember,
|
||||
riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_put_height(IHTMLIFrameElement2 *iface, VARIANT v)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_get_height(IHTMLIFrameElement2 *iface, VARIANT *p)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_put_width(IHTMLIFrameElement2 *iface, VARIANT v)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement2_get_width(IHTMLIFrameElement2 *iface, VARIANT *p)
|
||||
{
|
||||
HTMLIFrame *This = impl_from_IHTMLIFrameElement2(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IHTMLIFrameElement2Vtbl HTMLIFrameElement2Vtbl = {
|
||||
HTMLIFrameElement2_QueryInterface,
|
||||
HTMLIFrameElement2_AddRef,
|
||||
HTMLIFrameElement2_Release,
|
||||
HTMLIFrameElement2_GetTypeInfoCount,
|
||||
HTMLIFrameElement2_GetTypeInfo,
|
||||
HTMLIFrameElement2_GetIDsOfNames,
|
||||
HTMLIFrameElement2_Invoke,
|
||||
HTMLIFrameElement2_put_height,
|
||||
HTMLIFrameElement2_get_height,
|
||||
HTMLIFrameElement2_put_width,
|
||||
HTMLIFrameElement2_get_width
|
||||
};
|
||||
|
||||
static inline HTMLIFrame *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, HTMLIFrame, framebase.element.node);
|
||||
|
@ -165,6 +267,9 @@ static HRESULT HTMLIFrame_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
|
|||
if(IsEqualGUID(&IID_IHTMLIFrameElement, riid)) {
|
||||
TRACE("(%p)->(IID_IHTMLIFrameElement %p)\n", This, ppv);
|
||||
*ppv = &This->IHTMLIFrameElement_iface;
|
||||
}else if(IsEqualGUID(&IID_IHTMLIFrameElement2, riid)) {
|
||||
TRACE("(%p)->(IID_IHTMLIFrameElement2 %p)\n", This, ppv);
|
||||
*ppv = &This->IHTMLIFrameElement2_iface;
|
||||
}else {
|
||||
return HTMLFrameBase_QI(&This->framebase, riid, ppv);
|
||||
}
|
||||
|
@ -266,6 +371,7 @@ static const tid_t HTMLIFrame_iface_tids[] = {
|
|||
IHTMLFrameBase_tid,
|
||||
IHTMLFrameBase2_tid,
|
||||
IHTMLIFrameElement_tid,
|
||||
IHTMLIFrameElement2_tid,
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -285,6 +391,7 @@ HRESULT HTMLIFrame_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTML
|
|||
return E_OUTOFMEMORY;
|
||||
|
||||
ret->IHTMLIFrameElement_iface.lpVtbl = &HTMLIFrameElementVtbl;
|
||||
ret->IHTMLIFrameElement2_iface.lpVtbl = &HTMLIFrameElement2Vtbl;
|
||||
ret->framebase.element.node.vtbl = &HTMLIFrameImplVtbl;
|
||||
|
||||
HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLIFrame_dispex);
|
||||
|
|
|
@ -146,6 +146,7 @@ typedef struct event_target_t event_target_t;
|
|||
XIID(IHTMLGenericElement) \
|
||||
XIID(IHTMLHeadElement) \
|
||||
XIID(IHTMLIFrameElement) \
|
||||
XIID(IHTMLIFrameElement2) \
|
||||
XIID(IHTMLImageElementFactory) \
|
||||
XIID(IHTMLImgElement) \
|
||||
XIID(IHTMLInputElement) \
|
||||
|
|
|
@ -336,6 +336,7 @@ static const IID * const iframe_iids[] = {
|
|||
&IID_IHTMLFrameBase,
|
||||
&IID_IHTMLFrameBase2,
|
||||
&IID_IHTMLIFrameElement,
|
||||
&IID_IHTMLIFrameElement2,
|
||||
&IID_IConnectionPointContainer,
|
||||
NULL
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue