mshtml: Don't use DEFINE_THIS2 for HTMLDOMNode vtbl functions.

This commit is contained in:
Jacek Caban 2010-12-27 20:13:09 +01:00 committed by Alexandre Julliard
parent 76c028b7c2
commit f52e0a776f
23 changed files with 170 additions and 141 deletions

View File

@ -473,11 +473,14 @@ static const IHTMLAnchorElementVtbl HTMLAnchorElementVtbl = {
HTMLAnchorElement_blur
};
#define HTMLANCHOR_NODE_THIS(iface) DEFINE_THIS2(HTMLAnchorElement, element.node, iface)
static inline HTMLAnchorElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLAnchorElement, element.node);
}
static HRESULT HTMLAnchorElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLAnchorElement *This = HTMLANCHOR_NODE_THIS(iface);
HTMLAnchorElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -502,7 +505,7 @@ static HRESULT HTMLAnchorElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLAnchorElement_destructor(HTMLDOMNode *iface)
{
HTMLAnchorElement *This = HTMLANCHOR_NODE_THIS(iface);
HTMLAnchorElement *This = impl_from_HTMLDOMNode(iface);
if(This->nsanchor)
nsIDOMHTMLAnchorElement_Release(This->nsanchor);
@ -510,8 +513,6 @@ static void HTMLAnchorElement_destructor(HTMLDOMNode *iface)
HTMLElement_destructor(&This->element.node);
}
#undef HTMLANCHOR_NODE_THIS
static const NodeImplVtbl HTMLAnchorElementImplVtbl = {
HTMLAnchorElement_QI,
HTMLAnchorElement_destructor,

View File

@ -738,11 +738,14 @@ static const IHTMLBodyElementVtbl HTMLBodyElementVtbl = {
HTMLBodyElement_createTextRange
};
#define HTMLBODY_NODE_THIS(iface) DEFINE_THIS2(HTMLBodyElement, textcont.element.node, iface)
static inline HTMLBodyElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLBodyElement, textcont.element.node);
}
static HRESULT HTMLBodyElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLBodyElement *This = HTMLBODY_NODE_THIS(iface);
HTMLBodyElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -770,7 +773,7 @@ static HRESULT HTMLBodyElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLBodyElement_destructor(HTMLDOMNode *iface)
{
HTMLBodyElement *This = HTMLBODY_NODE_THIS(iface);
HTMLBodyElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMHTMLBodyElement_Release(This->nsbody);
@ -779,15 +782,13 @@ static void HTMLBodyElement_destructor(HTMLDOMNode *iface)
static event_target_t **HTMLBodyElement_get_event_target(HTMLDOMNode *iface)
{
HTMLBodyElement *This = HTMLBODY_NODE_THIS(iface);
HTMLBodyElement *This = impl_from_HTMLDOMNode(iface);
return This->textcont.element.node.doc
? &This->textcont.element.node.doc->body_event_target
: &This->textcont.element.node.event_target;
}
#undef HTMLBODY_NODE_THIS
static const NodeImplVtbl HTMLBodyElementImplVtbl = {
HTMLBodyElement_QI,
HTMLBodyElement_destructor,

View File

@ -139,11 +139,14 @@ static const IHTMLCommentElementVtbl HTMLCommentElementVtbl = {
HTMLCommentElement_get_atomic
};
#define HTMLCOMMENT_NODE_THIS(iface) DEFINE_THIS2(HTMLCommentElement, element.node, iface)
static inline HTMLCommentElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLCommentElement, element.node);
}
static HRESULT HTMLCommentElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLCommentElement *This = HTMLCOMMENT_NODE_THIS(iface);
HTMLCommentElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -160,13 +163,11 @@ static HRESULT HTMLCommentElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv
static void HTMLCommentElement_destructor(HTMLDOMNode *iface)
{
HTMLCommentElement *This = HTMLCOMMENT_NODE_THIS(iface);
HTMLCommentElement *This = impl_from_HTMLDOMNode(iface);
HTMLElement_destructor(&This->element.node);
}
#undef HTMLCOMMENT_NODE_THIS
static const NodeImplVtbl HTMLCommentElementImplVtbl = {
HTMLCommentElement_QI,
HTMLCommentElement_destructor,

View File

@ -1870,11 +1870,14 @@ static void destroy_htmldoc(HTMLDocument *This)
ConnectionPointContainer_Destroy(&This->cp_container);
}
#define HTMLDOCNODE_NODE_THIS(iface) DEFINE_THIS2(HTMLDocumentNode, node, iface)
static inline HTMLDocumentNode *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLDocumentNode, node);
}
static HRESULT HTMLDocumentNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLDocumentNode *This = HTMLDOCNODE_NODE_THIS(iface);
HTMLDocumentNode *This = impl_from_HTMLDOMNode(iface);
if(htmldoc_qi(&This->basedoc, riid, ppv))
return *ppv ? S_OK : E_NOINTERFACE;
@ -1892,7 +1895,7 @@ static HRESULT HTMLDocumentNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLDocumentNode_destructor(HTMLDOMNode *iface)
{
HTMLDocumentNode *This = HTMLDOCNODE_NODE_THIS(iface);
HTMLDocumentNode *This = impl_from_HTMLDOMNode(iface);
if(This->body_event_target)
release_event_target(This->body_event_target);
@ -1921,7 +1924,7 @@ static void HTMLDocumentNode_destructor(HTMLDOMNode *iface)
static HRESULT HTMLDocumentNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
{
HTMLDocumentNode *This = HTMLDOCNODE_NODE_THIS(iface);
HTMLDocumentNode *This = impl_from_HTMLDOMNode(iface);
FIXME("%p\n", This);
return E_NOTIMPL;
}
@ -1934,7 +1937,7 @@ static const NodeImplVtbl HTMLDocumentNodeImplVtbl = {
static HRESULT HTMLDocumentFragment_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
{
HTMLDocumentNode *This = HTMLDOCNODE_NODE_THIS(iface);
HTMLDocumentNode *This = impl_from_HTMLDOMNode(iface);
HTMLDocumentNode *new_node;
HRESULT hres;
@ -1946,8 +1949,6 @@ static HRESULT HTMLDocumentFragment_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode
return S_OK;
}
#undef HTMLDOCNODE_NODE_THIS
static const NodeImplVtbl HTMLDocumentFragmentImplVtbl = {
HTMLDocumentNode_QI,
HTMLDocumentNode_destructor,

View File

@ -144,8 +144,6 @@ HRESULT create_nselem(HTMLDocumentNode *doc, const WCHAR *tag, nsIDOMHTMLElement
return S_OK;
}
#define HTMLELEM_NODE_THIS(iface) DEFINE_THIS2(HTMLElement, node, iface)
static HRESULT WINAPI HTMLElement_QueryInterface(IHTMLElement *iface,
REFIID riid, void **ppv)
{
@ -1591,9 +1589,14 @@ static const IHTMLElementVtbl HTMLElementVtbl = {
HTMLElement_get_all
};
static inline HTMLElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLElement, node);
}
HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLElement *This = HTMLELEM_NODE_THIS(iface);
HTMLElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -1627,7 +1630,7 @@ HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
void HTMLElement_destructor(HTMLDOMNode *iface)
{
HTMLElement *This = HTMLELEM_NODE_THIS(iface);
HTMLElement *This = impl_from_HTMLDOMNode(iface);
ConnectionPointContainer_Destroy(&This->cp_container);
@ -1639,7 +1642,7 @@ void HTMLElement_destructor(HTMLDOMNode *iface)
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
{
HTMLElement *This = HTMLELEM_NODE_THIS(iface);
HTMLElement *This = impl_from_HTMLDOMNode(iface);
HTMLElement *new_elem;
HRESULT hres;

View File

@ -50,6 +50,12 @@ typedef struct {
DWORD size;
} elem_vector_t;
/* FIXME: Handle it better way */
static inline HTMLElement *elem_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLElement, node);
}
static IHTMLElementCollection *HTMLElementCollection_Create(IUnknown *ref_unk,
HTMLElement **elems, DWORD len);
@ -85,7 +91,6 @@ static inline BOOL is_elem_node(nsIDOMNode *node)
}
#define ELEMCOL_THIS(iface) DEFINE_THIS(HTMLElementCollection, HTMLElementCollection, iface)
#define HTMLELEM_NODE_THIS(iface) DEFINE_THIS2(HTMLElement, node, iface)
static HRESULT WINAPI HTMLElementCollection_QueryInterface(IHTMLElementCollection *iface,
REFIID riid, void **ppv)
@ -514,7 +519,7 @@ static void create_all_list(HTMLDocumentNode *doc, HTMLDOMNode *elem, elem_vecto
continue;
}
elem_vector_add(buf, HTMLELEM_NODE_THIS(node));
elem_vector_add(buf, elem_from_HTMLDOMNode(node));
create_all_list(doc, node, buf);
}
}
@ -527,7 +532,7 @@ IHTMLElementCollection *create_all_collection(HTMLDOMNode *node, BOOL include_ro
buf.buf = heap_alloc(buf.size*sizeof(HTMLElement**));
if(include_root)
elem_vector_add(&buf, HTMLELEM_NODE_THIS(node));
elem_vector_add(&buf, elem_from_HTMLDOMNode(node));
create_all_list(node->doc, node, &buf);
elem_vector_normalize(&buf);
@ -556,7 +561,7 @@ IHTMLElementCollection *create_collection_from_nodelist(HTMLDocumentNode *doc, I
hres = get_node(doc, nsnode, TRUE, &node);
if(FAILED(hres))
continue;
buf.buf[buf.len++] = HTMLELEM_NODE_THIS(node);
buf.buf[buf.len++] = elem_from_HTMLDOMNode(node);
}
nsIDOMNode_Release(nsnode);
}
@ -590,7 +595,7 @@ IHTMLElementCollection *create_collection_from_htmlcol(HTMLDocumentNode *doc, IU
nsIDOMNode_Release(nsnode);
if(FAILED(hres))
break;
buf.buf[i] = HTMLELEM_NODE_THIS(node);
buf.buf[i] = elem_from_HTMLDOMNode(node);
}
}else {
buf.buf = NULL;

View File

@ -217,11 +217,14 @@ static const IHTMLEmbedElementVtbl HTMLEmbedElementVtbl = {
HTMLEmbedElement_get_height
};
#define HTMLEMBED_NODE_THIS(iface) DEFINE_THIS2(HTMLEmbedElement, element.node, iface)
static inline HTMLEmbedElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLEmbedElement, element.node);
}
static HRESULT HTMLEmbedElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLEmbedElement *This = HTMLEMBED_NODE_THIS(iface);
HTMLEmbedElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
@ -242,13 +245,11 @@ static HRESULT HTMLEmbedElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLEmbedElement_destructor(HTMLDOMNode *iface)
{
HTMLEmbedElement *This = HTMLEMBED_NODE_THIS(iface);
HTMLEmbedElement *This = impl_from_HTMLDOMNode(iface);
HTMLElement_destructor(&This->element.node);
}
#undef HTMLEMBED_NODE_THIS
static const NodeImplVtbl HTMLEmbedElementImplVtbl = {
HTMLEmbedElement_QI,
HTMLEmbedElement_destructor,

View File

@ -489,11 +489,14 @@ static const IHTMLFormElementVtbl HTMLFormElementVtbl = {
HTMLFormElement_tags
};
#define HTMLFORM_NODE_THIS(iface) DEFINE_THIS2(HTMLFormElement, element.node, iface)
static inline HTMLFormElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLFormElement, element.node);
}
static HRESULT HTMLFormElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLFormElement *This = HTMLFORM_NODE_THIS(iface);
HTMLFormElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -518,7 +521,7 @@ static HRESULT HTMLFormElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLFormElement_destructor(HTMLDOMNode *iface)
{
HTMLFormElement *This = HTMLFORM_NODE_THIS(iface);
HTMLFormElement *This = impl_from_HTMLDOMNode(iface);
if(This->nsform)
nsIDOMHTMLFormElement_Release(This->nsform);
@ -529,7 +532,7 @@ static void HTMLFormElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLFormElement_get_dispid(HTMLDOMNode *iface,
BSTR name, DWORD grfdex, DISPID *pid)
{
HTMLFormElement *This = HTMLFORM_NODE_THIS(iface);
HTMLFormElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMHTMLCollection *elements;
nsAString nsname, nsstr;
PRUint32 len, i;
@ -615,7 +618,7 @@ static HRESULT HTMLFormElement_invoke(HTMLDOMNode *iface,
DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res,
EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLFormElement *This = HTMLFORM_NODE_THIS(iface);
HTMLFormElement *This = impl_from_HTMLDOMNode(iface);
IDispatch *ret;
HRESULT hres;
@ -634,8 +637,6 @@ static HRESULT HTMLFormElement_invoke(HTMLDOMNode *iface,
return S_OK;
}
#undef HTMLFORM_NODE_THIS
static const NodeImplVtbl HTMLFormElementImplVtbl = {
HTMLFormElement_QI,
HTMLFormElement_destructor,

View File

@ -172,11 +172,14 @@ static const IHTMLFrameElement3Vtbl HTMLFrameElement3Vtbl = {
HTMLFrameElement3_get_frameBorder
};
#define HTMLFRAME_NODE_THIS(iface) DEFINE_THIS2(HTMLFrameElement, framebase.element.node, iface)
static inline HTMLFrameElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLFrameElement, framebase.element.node);
}
static HRESULT HTMLFrameElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IHTMLFrameElement3, riid)) {
TRACE("(%p)->(IID_IHTMLFrameElement3 %p)\n", This, ppv);
@ -191,14 +194,14 @@ static HRESULT HTMLFrameElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLFrameElement_destructor(HTMLDOMNode *iface)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
HTMLFrameBase_destructor(&This->framebase);
}
static HRESULT HTMLFrameElement_get_document(HTMLDOMNode *iface, IDispatch **p)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window || !This->framebase.content_window->doc) {
*p = NULL;
@ -212,7 +215,7 @@ static HRESULT HTMLFrameElement_get_document(HTMLDOMNode *iface, IDispatch **p)
static HRESULT HTMLFrameElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLFrameBase2_get_readyState(HTMLFRAMEBASE2(&This->framebase), p);
}
@ -220,7 +223,7 @@ static HRESULT HTMLFrameElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
static HRESULT HTMLFrameElement_get_dispid(HTMLDOMNode *iface, BSTR name,
DWORD grfdex, DISPID *pid)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window)
return DISP_E_UNKNOWNNAME;
@ -231,7 +234,7 @@ static HRESULT HTMLFrameElement_get_dispid(HTMLDOMNode *iface, BSTR name,
static HRESULT HTMLFrameElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window) {
ERR("no content window to invoke on\n");
@ -243,7 +246,7 @@ static HRESULT HTMLFrameElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
static HRESULT HTMLFrameElement_bind_to_tree(HTMLDOMNode *iface)
{
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
HTMLFrameElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMDocument *nsdoc;
nsresult nsres;
HRESULT hres;
@ -259,7 +262,7 @@ static HRESULT HTMLFrameElement_bind_to_tree(HTMLDOMNode *iface)
return hres;
}
#undef HTMLFRAME_NODE_THIS
#undef impl_from_HTMLDOMNode
static const NodeImplVtbl HTMLFrameElementImplVtbl = {
HTMLFrameElement_QI,

View File

@ -120,11 +120,14 @@ static const IHTMLGenericElementVtbl HTMLGenericElementVtbl = {
HTMLGenericElement_namedRecordset
};
#define HTMLGENERIC_NODE_THIS(iface) DEFINE_THIS2(HTMLGenericElement, element.node, iface)
static inline HTMLGenericElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLGenericElement, element.node);
}
static HRESULT HTMLGenericElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLGenericElement *This = HTMLGENERIC_NODE_THIS(iface);
HTMLGenericElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -141,13 +144,11 @@ static HRESULT HTMLGenericElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv
static void HTMLGenericElement_destructor(HTMLDOMNode *iface)
{
HTMLGenericElement *This = HTMLGENERIC_NODE_THIS(iface);
HTMLGenericElement *This = impl_from_HTMLDOMNode(iface);
HTMLElement_destructor(&This->element.node);
}
#undef HTMLGENERIC_NODE_THIS
static const NodeImplVtbl HTMLGenericElementImplVtbl = {
HTMLGenericElement_QI,
HTMLGenericElement_destructor,

View File

@ -150,11 +150,14 @@ static const IHTMLIFrameElementVtbl HTMLIFrameElementVtbl = {
HTMLIFrameElement_get_align
};
#define HTMLIFRAME_NODE_THIS(iface) DEFINE_THIS2(HTMLIFrame, framebase.element.node, iface)
static inline HTMLIFrame *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLIFrame, framebase.element.node);
}
static HRESULT HTMLIFrame_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IHTMLIFrameElement, riid)) {
TRACE("(%p)->(IID_IHTMLIFrameElement %p)\n", This, ppv);
@ -169,14 +172,14 @@ static HRESULT HTMLIFrame_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLIFrame_destructor(HTMLDOMNode *iface)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
HTMLFrameBase_destructor(&This->framebase);
}
static HRESULT HTMLIFrame_get_document(HTMLDOMNode *iface, IDispatch **p)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window || !This->framebase.content_window->doc) {
*p = NULL;
@ -191,7 +194,7 @@ static HRESULT HTMLIFrame_get_document(HTMLDOMNode *iface, IDispatch **p)
static HRESULT HTMLIFrame_get_dispid(HTMLDOMNode *iface, BSTR name,
DWORD grfdex, DISPID *pid)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window)
return DISP_E_UNKNOWNNAME;
@ -202,7 +205,7 @@ static HRESULT HTMLIFrame_get_dispid(HTMLDOMNode *iface, BSTR name,
static HRESULT HTMLIFrame_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
if(!This->framebase.content_window) {
ERR("no content window to invoke on\n");
@ -214,14 +217,14 @@ static HRESULT HTMLIFrame_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
static HRESULT HTMLIFrame_get_readystate(HTMLDOMNode *iface, BSTR *p)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
return IHTMLFrameBase2_get_readyState(HTMLFRAMEBASE2(&This->framebase), p);
}
static HRESULT HTMLIFrame_bind_to_tree(HTMLDOMNode *iface)
{
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
HTMLIFrame *This = impl_from_HTMLDOMNode(iface);
nsIDOMDocument *nsdoc;
nsresult nsres;
HRESULT hres;
@ -237,8 +240,6 @@ static HRESULT HTMLIFrame_bind_to_tree(HTMLDOMNode *iface)
return hres;
}
#undef HTMLIFRAME_NODE_THIS
static const NodeImplVtbl HTMLIFrameImplVtbl = {
HTMLIFrame_QI,
HTMLIFrame_destructor,

View File

@ -603,11 +603,14 @@ static const IHTMLImgElementVtbl HTMLImgElementVtbl = {
HTMLImgElement_get_start
};
#define HTMLIMG_NODE_THIS(iface) DEFINE_THIS2(HTMLImgElement, element.node, iface)
static inline HTMLImgElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLImgElement, element.node);
}
static HRESULT HTMLImgElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLImgElement *This = HTMLIMG_NODE_THIS(iface);
HTMLImgElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -624,7 +627,7 @@ static HRESULT HTMLImgElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLImgElement_destructor(HTMLDOMNode *iface)
{
HTMLImgElement *This = HTMLIMG_NODE_THIS(iface);
HTMLImgElement *This = impl_from_HTMLDOMNode(iface);
if(This->nsimg)
nsIDOMHTMLImageElement_Release(This->nsimg);
@ -634,13 +637,11 @@ static void HTMLImgElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLImgElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
{
HTMLImgElement *This = HTMLIMG_NODE_THIS(iface);
HTMLImgElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLImgElement_get_readyState(&This->IHTMLImgElement_iface, p);
}
#undef HTMLIMG_NODE_THIS
static const NodeImplVtbl HTMLImgElementImplVtbl = {
HTMLImgElement_QI,
HTMLImgElement_destructor,

View File

@ -1117,11 +1117,14 @@ static const IHTMLInputTextElementVtbl HTMLInputTextElementVtbl = {
HTMLInputTextElement_createTextRange
};
#define HTMLINPUT_NODE_THIS(iface) DEFINE_THIS2(HTMLInputElement, element.node, iface)
static inline HTMLInputElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLInputElement, element.node);
}
static HRESULT HTMLInputElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLInputElement *This = HTMLINPUT_NODE_THIS(iface);
HTMLInputElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -1149,7 +1152,7 @@ static HRESULT HTMLInputElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLInputElement_destructor(HTMLDOMNode *iface)
{
HTMLInputElement *This = HTMLINPUT_NODE_THIS(iface);
HTMLInputElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMHTMLInputElement_Release(This->nsinput);
@ -1158,7 +1161,7 @@ static void HTMLInputElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLInputElementImpl_call_event(HTMLDOMNode *iface, eventid_t eid, BOOL *handled)
{
HTMLInputElement *This = HTMLINPUT_NODE_THIS(iface);
HTMLInputElement *This = impl_from_HTMLDOMNode(iface);
if(eid == EVENTID_CLICK) {
nsresult nsres;
@ -1177,18 +1180,16 @@ static HRESULT HTMLInputElementImpl_call_event(HTMLDOMNode *iface, eventid_t eid
static HRESULT HTMLInputElementImpl_put_disabled(HTMLDOMNode *iface, VARIANT_BOOL v)
{
HTMLInputElement *This = HTMLINPUT_NODE_THIS(iface);
HTMLInputElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLInputElement_put_disabled(&This->IHTMLInputElement_iface, v);
}
static HRESULT HTMLInputElementImpl_get_disabled(HTMLDOMNode *iface, VARIANT_BOOL *p)
{
HTMLInputElement *This = HTMLINPUT_NODE_THIS(iface);
HTMLInputElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLInputElement_get_disabled(&This->IHTMLInputElement_iface, p);
}
#undef HTMLINPUT_NODE_THIS
static const NodeImplVtbl HTMLInputElementImplVtbl = {
HTMLInputElement_QI,
HTMLInputElement_destructor,

View File

@ -393,11 +393,14 @@ static const IHTMLObjectElementVtbl HTMLObjectElementVtbl = {
HTMLObjectElement_get_hspace
};
#define HTMLOBJECT_NODE_THIS(iface) DEFINE_THIS2(HTMLObjectElement, plugin_container.element.node, iface)
static inline HTMLObjectElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLObjectElement, plugin_container.element.node);
}
static HRESULT HTMLObjectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLObjectElement *This = HTMLOBJECT_NODE_THIS(iface);
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
@ -422,7 +425,7 @@ static HRESULT HTMLObjectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLObjectElement_destructor(HTMLDOMNode *iface)
{
HTMLObjectElement *This = HTMLOBJECT_NODE_THIS(iface);
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
if(This->plugin_container.plugin_host)
detach_plugin_host(This->plugin_container.plugin_host);
@ -434,7 +437,7 @@ static void HTMLObjectElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLObjectElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
{
HTMLObjectElement *This = HTMLOBJECT_NODE_THIS(iface);
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
@ -442,7 +445,7 @@ static HRESULT HTMLObjectElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
static HRESULT HTMLObjectElement_get_dispid(HTMLDOMNode *iface, BSTR name,
DWORD grfdex, DISPID *pid)
{
HTMLObjectElement *This = HTMLOBJECT_NODE_THIS(iface);
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(name), grfdex, pid);
@ -452,14 +455,14 @@ static HRESULT HTMLObjectElement_get_dispid(HTMLDOMNode *iface, BSTR name,
static HRESULT HTMLObjectElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLObjectElement *This = HTMLOBJECT_NODE_THIS(iface);
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
TRACE("(%p)->(%d)\n", This, id);
return invoke_plugin_prop(&This->plugin_container, id, lcid, flags, params, res, ei);
}
#undef HTMLOBJECT_NODE_THIS
#undef impl_from_HTMLDOMNode
static const NodeImplVtbl HTMLObjectElementImplVtbl = {
HTMLObjectElement_QI,

View File

@ -299,11 +299,14 @@ static const IHTMLOptionElementVtbl HTMLOptionElementVtbl = {
HTMLOptionElement_get_form
};
#define HTMLOPTION_NODE_THIS(iface) DEFINE_THIS2(HTMLOptionElement, element.node, iface)
static inline HTMLOptionElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLOptionElement, element.node);
}
static HRESULT HTMLOptionElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLOptionElement *This = HTMLOPTION_NODE_THIS(iface);
HTMLOptionElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -328,7 +331,7 @@ static HRESULT HTMLOptionElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLOptionElement_destructor(HTMLDOMNode *iface)
{
HTMLOptionElement *This = HTMLOPTION_NODE_THIS(iface);
HTMLOptionElement *This = impl_from_HTMLDOMNode(iface);
if(This->nsoption)
nsIDOMHTMLOptionElement_Release(This->nsoption);
@ -336,8 +339,6 @@ static void HTMLOptionElement_destructor(HTMLDOMNode *iface)
HTMLElement_destructor(&This->element.node);
}
#undef HTMLOPTION_NODE_THIS
static const NodeImplVtbl HTMLOptionElementImplVtbl = {
HTMLOptionElement_QI,
HTMLOptionElement_destructor,

View File

@ -281,11 +281,14 @@ static const IHTMLScriptElementVtbl HTMLScriptElementVtbl = {
HTMLScriptElement_get_type
};
#define HTMLSCRIPT_NODE_THIS(iface) DEFINE_THIS2(HTMLScriptElement, element.node, iface)
static inline HTMLScriptElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLScriptElement, element.node);
}
static HRESULT HTMLScriptElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLScriptElement *This = HTMLSCRIPT_NODE_THIS(iface);
HTMLScriptElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -310,19 +313,17 @@ static HRESULT HTMLScriptElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLScriptElement_destructor(HTMLDOMNode *iface)
{
HTMLScriptElement *This = HTMLSCRIPT_NODE_THIS(iface);
HTMLScriptElement *This = impl_from_HTMLDOMNode(iface);
HTMLElement_destructor(&This->element.node);
}
static HRESULT HTMLScriptElement_get_readystate(HTMLDOMNode *iface, BSTR *p)
{
HTMLScriptElement *This = HTMLSCRIPT_NODE_THIS(iface);
HTMLScriptElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLScriptElement_get_readyState(&This->IHTMLScriptElement_iface, p);
}
#undef HTMLSCRIPT_NODE_THIS
static const NodeImplVtbl HTMLScriptElementImplVtbl = {
HTMLScriptElement_QI,
HTMLScriptElement_destructor,

View File

@ -504,11 +504,14 @@ static const IHTMLSelectElementVtbl HTMLSelectElementVtbl = {
HTMLSelectElement_tags
};
#define HTMLSELECT_NODE_THIS(iface) DEFINE_THIS2(HTMLSelectElement, element.node, iface)
static inline HTMLSelectElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLSelectElement, element.node);
}
static HRESULT HTMLSelectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLSelectElement *This = HTMLSELECT_NODE_THIS(iface);
HTMLSelectElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -533,7 +536,7 @@ static HRESULT HTMLSelectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLSelectElement_destructor(HTMLDOMNode *iface)
{
HTMLSelectElement *This = HTMLSELECT_NODE_THIS(iface);
HTMLSelectElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMHTMLSelectElement_Release(This->nsselect);
@ -542,13 +545,13 @@ static void HTMLSelectElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLSelectElementImpl_put_disabled(HTMLDOMNode *iface, VARIANT_BOOL v)
{
HTMLSelectElement *This = HTMLSELECT_NODE_THIS(iface);
HTMLSelectElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLSelectElement_put_disabled(&This->IHTMLSelectElement_iface, v);
}
static HRESULT HTMLSelectElementImpl_get_disabled(HTMLDOMNode *iface, VARIANT_BOOL *p)
{
HTMLSelectElement *This = HTMLSELECT_NODE_THIS(iface);
HTMLSelectElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLSelectElement_get_disabled(&This->IHTMLSelectElement_iface, p);
}
@ -576,7 +579,7 @@ static HRESULT HTMLSelectElement_get_dispid(HTMLDOMNode *iface, BSTR name, DWORD
static HRESULT HTMLSelectElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params,
VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLSelectElement *This = HTMLSELECT_NODE_THIS(iface);
HTMLSelectElement *This = impl_from_HTMLDOMNode(iface);
TRACE("(%p)->(%x %x %x %p %p %p %p)\n", This, id, lcid, flags, params, res, ei, caller);
@ -606,8 +609,6 @@ static HRESULT HTMLSelectElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid
return S_OK;
}
#undef HTMLSELECT_NODE_THIS
static const NodeImplVtbl HTMLSelectElementImplVtbl = {
HTMLSelectElement_QI,
HTMLSelectElement_destructor,

View File

@ -255,11 +255,14 @@ static const IHTMLStyleElementVtbl HTMLStyleElementVtbl = {
HTMLStyleElement_get_media
};
#define HTMLSTYLE_NODE_THIS(iface) DEFINE_THIS2(HTMLStyleElement, element.node, iface)
static inline HTMLStyleElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLStyleElement, element.node);
}
static HRESULT HTMLStyleElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLStyleElement *This = HTMLSTYLE_NODE_THIS(iface);
HTMLStyleElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
@ -280,7 +283,7 @@ static HRESULT HTMLStyleElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLStyleElement_destructor(HTMLDOMNode *iface)
{
HTMLStyleElement *This = HTMLSTYLE_NODE_THIS(iface);
HTMLStyleElement *This = impl_from_HTMLDOMNode(iface);
if(This->nsstyle)
nsIDOMHTMLStyleElement_Release(This->nsstyle);
@ -288,8 +291,6 @@ static void HTMLStyleElement_destructor(HTMLDOMNode *iface)
HTMLElement_destructor(&This->element.node);
}
#undef HTMLSTYLE_NODE_THIS
static const NodeImplVtbl HTMLStyleElementImplVtbl = {
HTMLStyleElement_QI,
HTMLStyleElement_destructor,

View File

@ -513,11 +513,14 @@ static const IHTMLTableVtbl HTMLTableVtbl = {
HTMLTable_get_onreadystatechange
};
#define HTMLTABLE_NODE_THIS(iface) DEFINE_THIS2(HTMLTable, element.node, iface)
static inline HTMLTable *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLTable, element.node);
}
static HRESULT HTMLTable_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLTable *This = HTMLTABLE_NODE_THIS(iface);
HTMLTable *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -542,7 +545,7 @@ static HRESULT HTMLTable_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLTable_destructor(HTMLDOMNode *iface)
{
HTMLTable *This = HTMLTABLE_NODE_THIS(iface);
HTMLTable *This = impl_from_HTMLDOMNode(iface);
if(This->nstable)
nsIDOMHTMLTableElement_Release(This->nstable);
@ -550,8 +553,6 @@ static void HTMLTable_destructor(HTMLDOMNode *iface)
HTMLElement_destructor(&This->element.node);
}
#undef HTMLTABLE_NODE_THIS
static const NodeImplVtbl HTMLTableImplVtbl = {
HTMLTable_QI,
HTMLTable_destructor,

View File

@ -255,11 +255,14 @@ static const IHTMLTableRowVtbl HTMLTableRowVtbl = {
HTMLTableRow_deleteCell
};
#define HTMLTABLEROW_NODE_THIS(iface) DEFINE_THIS2(HTMLTableRow, element.node, iface)
static inline HTMLTableRow *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLTableRow, element.node);
}
static HRESULT HTMLTableRow_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLTableRow *This = HTMLTABLEROW_NODE_THIS(iface);
HTMLTableRow *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -284,7 +287,7 @@ static HRESULT HTMLTableRow_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLTableRow_destructor(HTMLDOMNode *iface)
{
HTMLTableRow *This = HTMLTABLEROW_NODE_THIS(iface);
HTMLTableRow *This = impl_from_HTMLDOMNode(iface);
if(This->nsrow)
nsIDOMHTMLTableRowElement_Release(This->nsrow);
@ -292,8 +295,6 @@ static void HTMLTableRow_destructor(HTMLDOMNode *iface)
HTMLElement_destructor(&This->element.node);
}
#undef HTMLTABLEROW_NODE_THIS
static const NodeImplVtbl HTMLTableRowImplVtbl = {
HTMLTableRow_QI,
HTMLTableRow_destructor,

View File

@ -390,11 +390,14 @@ static const IHTMLTextAreaElementVtbl HTMLTextAreaElementVtbl = {
HTMLTextAreaElement_createTextRange
};
#define HTMLTXTAREA_NODE_THIS(iface) DEFINE_THIS2(HTMLTextAreaElement, element.node, iface)
static inline HTMLTextAreaElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLTextAreaElement, element.node);
}
static HRESULT HTMLTextAreaElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLTextAreaElement *This = HTMLTXTAREA_NODE_THIS(iface);
HTMLTextAreaElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -419,7 +422,7 @@ static HRESULT HTMLTextAreaElement_QI(HTMLDOMNode *iface, REFIID riid, void **pp
static void HTMLTextAreaElement_destructor(HTMLDOMNode *iface)
{
HTMLTextAreaElement *This = HTMLTXTAREA_NODE_THIS(iface);
HTMLTextAreaElement *This = impl_from_HTMLDOMNode(iface);
nsIDOMHTMLTextAreaElement_Release(This->nstextarea);
@ -428,18 +431,16 @@ static void HTMLTextAreaElement_destructor(HTMLDOMNode *iface)
static HRESULT HTMLTextAreaElementImpl_put_disabled(HTMLDOMNode *iface, VARIANT_BOOL v)
{
HTMLTextAreaElement *This = HTMLTXTAREA_NODE_THIS(iface);
HTMLTextAreaElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLTextAreaElement_put_disabled(&This->IHTMLTextAreaElement_iface, v);
}
static HRESULT HTMLTextAreaElementImpl_get_disabled(HTMLDOMNode *iface, VARIANT_BOOL *p)
{
HTMLTextAreaElement *This = HTMLTXTAREA_NODE_THIS(iface);
HTMLTextAreaElement *This = impl_from_HTMLDOMNode(iface);
return IHTMLTextAreaElement_get_disabled(&This->IHTMLTextAreaElement_iface, p);
}
#undef HTMLTXTAREA_NODE_THIS
static const NodeImplVtbl HTMLTextAreaElementImplVtbl = {
HTMLTextAreaElement_QI,
HTMLTextAreaElement_destructor,

View File

@ -43,8 +43,6 @@ struct HTMLDOMTextNode {
#define HTMLTEXT_THIS(iface) DEFINE_THIS(HTMLDOMTextNode, IHTMLDOMTextNode, iface)
#define HTMLTEXT_NODE_THIS(iface) DEFINE_THIS2(HTMLDOMTextNode, node, iface)
static HRESULT WINAPI HTMLDOMTextNode_QueryInterface(IHTMLDOMTextNode *iface,
REFIID riid, void **ppv)
{
@ -158,11 +156,14 @@ static const IHTMLDOMTextNodeVtbl HTMLDOMTextNodeVtbl = {
HTMLDOMTextNode_splitText
};
#define HTMLTEXT_NODE_THIS(iface) DEFINE_THIS2(HTMLDOMTextNode, node, iface)
static inline HTMLDOMTextNode *impl_from_HTMLDOMNode(HTMLDOMNode *iface)
{
return CONTAINING_RECORD(iface, HTMLDOMTextNode, node);
}
static HRESULT HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLDOMTextNode *This = HTMLTEXT_NODE_THIS(iface);
HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
@ -179,7 +180,7 @@ static HRESULT HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
static void HTMLDOMTextNode_destructor(HTMLDOMNode *iface)
{
HTMLDOMTextNode *This = HTMLTEXT_NODE_THIS(iface);
HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface);
if(This->nstext)
IHTMLDOMTextNode_Release(This->nstext);
@ -189,7 +190,7 @@ static void HTMLDOMTextNode_destructor(HTMLDOMNode *iface)
static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
{
HTMLDOMTextNode *This = HTMLTEXT_NODE_THIS(iface);
HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface);
HRESULT hres;
hres = HTMLDOMTextNode_Create(This->node.doc, nsnode, ret);
@ -200,8 +201,6 @@ static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTM
return S_OK;
}
#undef HTMLTEXT_NODE_THIS
static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = {
HTMLDOMTextNode_QI,
HTMLDOMTextNode_destructor,

View File

@ -668,8 +668,7 @@ struct HTMLDocumentNode {
#define HOSTSECMGR(x) ((IInternetHostSecurityManager*) &(x)->lpIInternetHostSecurityManagerVtbl)
#define DEFINE_THIS2(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,ifc)))
#define DEFINE_THIS(cls,ifc,iface) DEFINE_THIS2(cls,lp ## ifc ## Vtbl,iface)
#define DEFINE_THIS(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,lp ## ifc ## Vtbl)))
HRESULT HTMLDocument_Create(IUnknown*,REFIID,void**);
HRESULT HTMLLoadOptions_Create(IUnknown*,REFIID,void**);