mshtml: Added GetClassInfo implementation for HTMLElement objects.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2017-04-21 13:50:49 +02:00 committed by Alexandre Julliard
parent 939eafcce0
commit 97c71b25fe
28 changed files with 35 additions and 2 deletions

View File

@ -779,6 +779,7 @@ static void HTMLAnchorElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLAnchorElementImplVtbl = {
&CLSID_HTMLAnchorElement,
HTMLAnchorElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -435,6 +435,7 @@ fallback:
}
static const NodeImplVtbl HTMLAreaElementImplVtbl = {
&CLSID_HTMLAreaElement,
HTMLAreaElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -857,6 +857,7 @@ static const cpc_entry_t HTMLBodyElement_cpc[] = {
};
static const NodeImplVtbl HTMLBodyElementImplVtbl = {
&CLSID_HTMLBody,
HTMLBodyElement_QI,
HTMLElement_destructor,
HTMLBodyElement_cpc,

View File

@ -184,6 +184,7 @@ static HRESULT HTMLCommentElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode,
}
static const NodeImplVtbl HTMLCommentElementImplVtbl = {
&CLSID_HTMLCommentElement,
HTMLCommentElement_QI,
HTMLCommentElement_destructor,
HTMLElement_cpc,

View File

@ -4743,6 +4743,7 @@ static void HTMLDocumentNode_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLDocumentNodeImplVtbl = {
&CLSID_HTMLDocument,
HTMLDocumentNode_QI,
HTMLDocumentNode_destructor,
HTMLDocument_cpc,
@ -4839,6 +4840,7 @@ static const dispex_static_data_vtbl_t HTMLDocumentNode_dispex_vtbl = {
};
static const NodeImplVtbl HTMLDocumentFragmentImplVtbl = {
&CLSID_HTMLDocument,
HTMLDocumentNode_QI,
HTMLDocumentNode_destructor,
HTMLDocument_cpc,

View File

@ -4859,8 +4859,8 @@ static ULONG WINAPI ProvideClassInfo_Release(IProvideMultipleClassInfo *iface)
static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideMultipleClassInfo *iface, ITypeInfo **ppTI)
{
HTMLElement *This = impl_from_IProvideMultipleClassInfo(iface);
FIXME("(%p)->(%p)\n", This, ppTI);
return E_NOTIMPL;
TRACE("(%p)->(%p)\n", This, ppTI);
return get_class_typeinfo(This->node.vtbl->clsid, ppTI);
}
static HRESULT WINAPI ProvideClassInfo2_GetGUID(IProvideMultipleClassInfo *iface, DWORD dwGuidKind, GUID *pGUID)
@ -5028,6 +5028,7 @@ const cpc_entry_t HTMLElement_cpc[] = {
};
static const NodeImplVtbl HTMLElementImplVtbl = {
&CLSID_HTMLUnknownElement,
HTMLElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -251,6 +251,7 @@ static void HTMLEmbedElement_destructor(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLEmbedElementImplVtbl = {
&CLSID_HTMLEmbed,
HTMLEmbedElement_QI,
HTMLEmbedElement_destructor,
HTMLElement_cpc,

View File

@ -766,6 +766,7 @@ static void HTMLFormElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLFormElementImplVtbl = {
&CLSID_HTMLFormElement,
HTMLFormElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -287,6 +287,7 @@ static void HTMLFrameElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLFrameElementImplVtbl = {
&CLSID_HTMLFrameElement,
HTMLFrameElement_QI,
HTMLFrameElement_destructor,
HTMLElement_cpc,

View File

@ -152,6 +152,7 @@ static void HTMLGenericElement_destructor(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLGenericElementImplVtbl = {
&CLSID_HTMLGenericElement,
HTMLGenericElement_QI,
HTMLGenericElement_destructor,
HTMLElement_cpc,

View File

@ -154,6 +154,7 @@ static void HTMLTitleElement_destructor(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLTitleElementImplVtbl = {
&CLSID_HTMLTitleElement,
HTMLTitleElement_QI,
HTMLTitleElement_destructor,
HTMLElement_cpc,
@ -324,6 +325,7 @@ static BOOL HTMLHtmlElement_is_settable(HTMLDOMNode *iface, DISPID dispid)
}
static const NodeImplVtbl HTMLHtmlElementImplVtbl = {
&CLSID_HTMLHtmlElement,
HTMLHtmlElement_QI,
HTMLHtmlElement_destructor,
HTMLElement_cpc,
@ -497,6 +499,7 @@ static void HTMLHeadElement_destructor(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLHeadElementImplVtbl = {
&CLSID_HTMLHeadElement,
HTMLHeadElement_QI,
HTMLHeadElement_destructor,
HTMLElement_cpc,

View File

@ -560,6 +560,7 @@ static void HTMLIFrame_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLIFrameImplVtbl = {
&CLSID_HTMLIFrame,
HTMLIFrame_QI,
HTMLIFrame_destructor,
HTMLElement_cpc,

View File

@ -707,6 +707,7 @@ static void HTMLImgElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLImgElementImplVtbl = {
&CLSID_HTMLImg,
HTMLImgElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -1317,6 +1317,7 @@ static void HTMLInputElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLInputElementImplVtbl = {
&CLSID_HTMLInputElement,
HTMLInputElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,
@ -1522,6 +1523,7 @@ static HRESULT HTMLLabelElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
}
static const NodeImplVtbl HTMLLabelElementImplVtbl = {
&CLSID_HTMLLabelElement,
HTMLLabelElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,
@ -1861,6 +1863,7 @@ static void HTMLButtonElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLButtonElementImplVtbl = {
&CLSID_HTMLButtonElement,
HTMLButtonElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -422,6 +422,7 @@ static void HTMLLinkElement_unlink(HTMLDOMNode *iface)
}
}
static const NodeImplVtbl HTMLLinkElementImplVtbl = {
&CLSID_HTMLLinkElement,
HTMLLinkElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -233,6 +233,7 @@ static void HTMLMetaElement_destructor(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLMetaElementImplVtbl = {
&CLSID_HTMLMetaElement,
HTMLMetaElement_QI,
HTMLMetaElement_destructor,
HTMLElement_cpc,

View File

@ -1200,6 +1200,7 @@ static HRESULT HTMLDOMNode_clone(HTMLDOMNode *This, nsIDOMNode *nsnode, HTMLDOMN
static const cpc_entry_t HTMLDOMNode_cpc[] = {{NULL}};
static const NodeImplVtbl HTMLDOMNodeImplVtbl = {
NULL,
HTMLDOMNode_QI,
HTMLDOMNode_destructor,
HTMLDOMNode_cpc,

View File

@ -745,6 +745,7 @@ static void HTMLObjectElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLObjectElementImplVtbl = {
&CLSID_HTMLObjectElement,
HTMLObjectElement_QI,
HTMLObjectElement_destructor,
HTMLElement_cpc,

View File

@ -417,6 +417,7 @@ static void HTMLOptionElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLOptionElementImplVtbl = {
&CLSID_HTMLOptionElement,
HTMLOptionElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -430,6 +430,7 @@ static void HTMLScriptElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLScriptElementImplVtbl = {
&CLSID_HTMLScriptElement,
HTMLScriptElement_QI,
HTMLScriptElement_destructor,
HTMLElement_cpc,

View File

@ -689,6 +689,7 @@ static void HTMLSelectElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLSelectElementImplVtbl = {
&CLSID_HTMLSelectElement,
HTMLSelectElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -340,6 +340,7 @@ static void HTMLStyleElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLStyleElementImplVtbl = {
&CLSID_HTMLStyleElement,
HTMLStyleElement_QI,
HTMLStyleElement_destructor,
HTMLElement_cpc,

View File

@ -1042,6 +1042,7 @@ static const cpc_entry_t HTMLTable_cpc[] = {
};
static const NodeImplVtbl HTMLTableImplVtbl = {
&CLSID_HTMLTable,
HTMLTable_QI,
HTMLElement_destructor,
HTMLTable_cpc,

View File

@ -461,6 +461,7 @@ static void HTMLTableCell_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLTableCellImplVtbl = {
&CLSID_HTMLTableCell,
HTMLTableCell_QI,
HTMLTableCell_destructor,
HTMLElement_cpc,

View File

@ -423,6 +423,7 @@ static void HTMLTableRow_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLTableRowImplVtbl = {
&CLSID_HTMLTableRow,
HTMLTableRow_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -476,6 +476,7 @@ static void HTMLTextAreaElement_unlink(HTMLDOMNode *iface)
}
static const NodeImplVtbl HTMLTextAreaElementImplVtbl = {
&CLSID_HTMLTextAreaElement,
HTMLTextAreaElement_QI,
HTMLElement_destructor,
HTMLElement_cpc,

View File

@ -344,6 +344,7 @@ static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTM
static const cpc_entry_t HTMLDOMTextNode_cpc[] = {{NULL}};
static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = {
NULL,
HTMLDOMTextNode_QI,
HTMLDOMNode_destructor,
HTMLDOMTextNode_cpc,

View File

@ -690,6 +690,7 @@ struct NSContainer {
};
typedef struct {
const CLSID *clsid;
HRESULT (*qi)(HTMLDOMNode*,REFIID,void**);
void (*destructor)(HTMLDOMNode*);
const cpc_entry_t *cpc_entries;