Commit 536fac7c authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Added IHTMLElement3 stub implementation.

parent c67952ae
......@@ -21,6 +21,7 @@ C_SRCS = \
htmldoc5.c \
htmlelem.c \
htmlelem2.c \
htmlelem3.c \
htmlelemcol.c \
htmlevent.c \
htmlgeneric.c \
......
......@@ -1339,6 +1339,9 @@ HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
}else if(IsEqualGUID(&IID_IHTMLElement2, riid)) {
TRACE("(%p)->(IID_IHTMLElement2 %p)\n", This, ppv);
*ppv = HTMLELEM2(This);
}else if(IsEqualGUID(&IID_IHTMLElement3, riid)) {
TRACE("(%p)->(IID_IHTMLElement3 %p)\n", This, ppv);
*ppv = HTMLELEM3(This);
}else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) {
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv);
*ppv = CONPTCONT(&This->cp_container);
......@@ -1391,6 +1394,7 @@ void HTMLElement_Init(HTMLElement *This)
ConnectionPointContainer_Init(&This->cp_container, (IUnknown*)HTMLELEM(This));
HTMLElement2_Init(This);
HTMLElement3_Init(This);
if(!This->node.dispex.data)
init_dispex(&This->node.dispex, (IUnknown*)HTMLELEM(This), &HTMLElement_dispex);
......
/*
* Copyright 2008 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include "mshtml_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define HTMLELEM3_THIS(iface) DEFINE_THIS(HTMLElement, HTMLElement3, iface)
static HRESULT WINAPI HTMLElement3_QueryInterface(IHTMLElement3 *iface,
REFIID riid, void **ppv)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IHTMLElement_QueryInterface(HTMLELEM(This), riid, ppv);
}
static ULONG WINAPI HTMLElement3_AddRef(IHTMLElement3 *iface)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IHTMLElement_AddRef(HTMLELEM(This));
}
static ULONG WINAPI HTMLElement3_Release(IHTMLElement3 *iface)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IHTMLElement_Release(HTMLELEM(This));
}
static HRESULT WINAPI HTMLElement3_GetTypeInfoCount(IHTMLElement3 *iface, UINT *pctinfo)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->node.dispex), pctinfo);
}
static HRESULT WINAPI HTMLElement3_GetTypeInfo(IHTMLElement3 *iface, UINT iTInfo,
LCID lcid, ITypeInfo **ppTInfo)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->node.dispex), iTInfo, lcid, ppTInfo);
}
static HRESULT WINAPI HTMLElement3_GetIDsOfNames(IHTMLElement3 *iface, REFIID riid,
LPOLESTR *rgszNames, UINT cNames,
LCID lcid, DISPID *rgDispId)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->node.dispex), riid, rgszNames, cNames, lcid, rgDispId);
}
static HRESULT WINAPI HTMLElement3_Invoke(IHTMLElement3 *iface, DISPID dispIdMember,
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
return IDispatchEx_Invoke(DISPATCHEX(&This->node.dispex), dispIdMember, riid, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
}
static HRESULT WINAPI HTMLElement3_mergeAttributes(IHTMLElement3 *iface, IHTMLElement *mergeThis, VARIANT *pvarFlags)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p %p)\n", This, mergeThis, pvarFlags);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_isMultiLine(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_canHaveHTML(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onlayoutcomplete(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onlayoutcomplete(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onpage(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onpage(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_inflateBlock(IHTMLElement3 *iface, VARIANT_BOOL v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%x)\n", This, v);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_inflateBlock(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onbeforedeactivate(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onbeforedeactivate(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_setActive(IHTMLElement3 *iface)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_contentEditable(IHTMLElement3 *iface, BSTR v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_contentEditable(IHTMLElement3 *iface, BSTR *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_isContentEditable(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_hideFocus(IHTMLElement3 *iface, VARIANT_BOOL v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%x)\n", This, v);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_hideFocus(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_disabled(IHTMLElement3 *iface, VARIANT_BOOL v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%x)\n", This, v);
return S_OK;
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_disabled(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_isDisabled(IHTMLElement3 *iface, VARIANT_BOOL *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onmove(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onmove(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_oncontrolselect(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_oncontrolselect(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_fireEvent(IHTMLElement3 *iface, BSTR bstrEventName,
VARIANT *pvarEventObject, VARIANT_BOOL *pfCancelled)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(bstrEventName), pvarEventObject, pfCancelled);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onresizestart(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onresizestart(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onresizeend(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onresizeend(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onmovestart(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onmovestart(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onmoveend(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onmoveend(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onmousecenter(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onmousecenter(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onmouseleave(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onmouseleave(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_onactivate(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_onactivate(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_put_ondeactivate(IHTMLElement3 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_ondeactivate(IHTMLElement3 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_dragDrop(IHTMLElement3 *iface, VARIANT_BOOL *pfRet)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, pfRet);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLElement3_get_glyphMode(IHTMLElement3 *iface, LONG *p)
{
HTMLElement *This = HTMLELEM3_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
#undef HTMLELEM2_THIS
static const IHTMLElement3Vtbl HTMLElement3Vtbl = {
HTMLElement3_QueryInterface,
HTMLElement3_AddRef,
HTMLElement3_Release,
HTMLElement3_GetTypeInfoCount,
HTMLElement3_GetTypeInfo,
HTMLElement3_GetIDsOfNames,
HTMLElement3_Invoke,
HTMLElement3_mergeAttributes,
HTMLElement3_get_isMultiLine,
HTMLElement3_get_canHaveHTML,
HTMLElement3_put_onlayoutcomplete,
HTMLElement3_get_onlayoutcomplete,
HTMLElement3_put_onpage,
HTMLElement3_get_onpage,
HTMLElement3_put_inflateBlock,
HTMLElement3_get_inflateBlock,
HTMLElement3_put_onbeforedeactivate,
HTMLElement3_get_onbeforedeactivate,
HTMLElement3_setActive,
HTMLElement3_put_contentEditable,
HTMLElement3_get_contentEditable,
HTMLElement3_get_isContentEditable,
HTMLElement3_put_hideFocus,
HTMLElement3_get_hideFocus,
HTMLElement3_put_disabled,
HTMLElement3_get_disabled,
HTMLElement3_get_isDisabled,
HTMLElement3_put_onmove,
HTMLElement3_get_onmove,
HTMLElement3_put_oncontrolselect,
HTMLElement3_get_oncontrolselect,
HTMLElement3_fireEvent,
HTMLElement3_put_onresizestart,
HTMLElement3_get_onresizestart,
HTMLElement3_put_onresizeend,
HTMLElement3_get_onresizeend,
HTMLElement3_put_onmovestart,
HTMLElement3_get_onmovestart,
HTMLElement3_put_onmoveend,
HTMLElement3_get_onmoveend,
HTMLElement3_put_onmousecenter,
HTMLElement3_get_onmousecenter,
HTMLElement3_put_onmouseleave,
HTMLElement3_get_onmouseleave,
HTMLElement3_put_onactivate,
HTMLElement3_get_onactivate,
HTMLElement3_put_ondeactivate,
HTMLElement3_get_ondeactivate,
HTMLElement3_dragDrop,
HTMLElement3_get_glyphMode
};
void HTMLElement3_Init(HTMLElement *This)
{
This->lpHTMLElement3Vtbl = &HTMLElement3Vtbl;
}
......@@ -381,6 +381,7 @@ typedef struct {
const IHTMLElementVtbl *lpHTMLElementVtbl;
const IHTMLElement2Vtbl *lpHTMLElement2Vtbl;
const IHTMLElement3Vtbl *lpHTMLElement3Vtbl;
nsIDOMHTMLElement *nselem;
} HTMLElement;
......@@ -441,6 +442,7 @@ typedef struct {
#define HTMLELEM(x) ((IHTMLElement*) &(x)->lpHTMLElementVtbl)
#define HTMLELEM2(x) ((IHTMLElement2*) &(x)->lpHTMLElement2Vtbl)
#define HTMLELEM3(x) ((IHTMLElement3*) &(x)->lpHTMLElement3Vtbl)
#define HTMLDOMNODE(x) ((IHTMLDOMNode*) &(x)->lpHTMLDOMNodeVtbl)
#define HTMLDOMNODE2(x) ((IHTMLDOMNode2*) &(x)->lpHTMLDOMNode2Vtbl)
......@@ -572,6 +574,7 @@ HTMLElement *HTMLGenericElement_Create(nsIDOMHTMLElement*);
void HTMLDOMNode_Init(HTMLDocument*,HTMLDOMNode*,nsIDOMNode*);
void HTMLElement_Init(HTMLElement*);
void HTMLElement2_Init(HTMLElement*);
void HTMLElement3_Init(HTMLElement*);
void HTMLTextContainer_Init(HTMLTextContainer*);
HRESULT HTMLDOMNode_QI(HTMLDOMNode*,REFIID,void**);
......
......@@ -99,6 +99,7 @@ static const IID * const elem_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
NULL
......@@ -109,6 +110,7 @@ static const IID * const body_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLTextContainer,
&IID_IHTMLBodyElement,
&IID_IDispatchEx,
......@@ -121,6 +123,7 @@ static const IID * const anchor_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLAnchorElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -132,6 +135,7 @@ static const IID * const input_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLInputElement,
&IID_IHTMLInputTextElement,
&IID_IDispatchEx,
......@@ -144,6 +148,7 @@ static const IID * const select_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLSelectElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -155,6 +160,7 @@ static const IID * const textarea_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLTextAreaElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -166,6 +172,7 @@ static const IID * const option_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLOptionElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -177,6 +184,7 @@ static const IID * const table_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLTable,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -188,6 +196,7 @@ static const IID * const script_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLScriptElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -220,6 +229,7 @@ static const IID * const comment_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLCommentElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......@@ -231,6 +241,7 @@ static const IID * const img_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IDispatchEx,
&IID_IHTMLImgElement,
&IID_IConnectionPointContainer,
......@@ -242,6 +253,7 @@ static const IID * const tr_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IDispatchEx,
&IID_IHTMLTableRow,
&IID_IConnectionPointContainer,
......@@ -253,6 +265,7 @@ static const IID * const td_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
NULL
......@@ -263,6 +276,7 @@ static const IID * const generic_iids[] = {
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLGenericElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment