diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index 64ead8f115c..1adcc675681 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -886,6 +886,7 @@ static const dispex_static_data_vtbl_t function_dispex_vtbl = { static const tid_t function_iface_tids[] = {0}; static dispex_static_data_t function_dispex = { + L"Function", &function_dispex_vtbl, NULL_tid, function_iface_tids @@ -1482,6 +1483,34 @@ compat_mode_t dispex_compat_mode(DispatchEx *dispex) : dispex->info->desc->vtbl->get_compat_mode(dispex); } +HRESULT dispex_to_string(DispatchEx *dispex, BSTR *ret) +{ + static const WCHAR prefix[8] = L"[object "; + static const WCHAR suffix[] = L"]"; + WCHAR buf[ARRAY_SIZE(prefix) + 28 + ARRAY_SIZE(suffix)], *p = buf; + compat_mode_t compat_mode = dispex_compat_mode(dispex); + const WCHAR *name = dispex->info->desc->name; + unsigned len; + + if(!ret) + return E_INVALIDARG; + + memcpy(p, prefix, sizeof(prefix)); + p += ARRAY_SIZE(prefix); + if(compat_mode < COMPAT_MODE_IE9) + p--; + else { + len = wcslen(name); + assert(len <= 28); + memcpy(p, name, len * sizeof(WCHAR)); + p += len; + } + memcpy(p, suffix, sizeof(suffix)); + + *ret = SysAllocString(buf); + return *ret ? S_OK : E_OUTOFMEMORY; +} + static dispex_data_t *ensure_dispex_info(dispex_static_data_t *desc, compat_mode_t compat_mode) { if(!desc->info_cache[compat_mode]) { diff --git a/dlls/mshtml/htmlanchor.c b/dlls/mshtml/htmlanchor.c index da48601fe87..44166246139 100644 --- a/dlls/mshtml/htmlanchor.c +++ b/dlls/mshtml/htmlanchor.c @@ -857,6 +857,7 @@ static const tid_t HTMLAnchorElement_iface_tids[] = { }; static dispex_static_data_t HTMLAnchorElement_dispex = { + L"HTMLAnchorElement", NULL, DispHTMLAnchorElement_tid, HTMLAnchorElement_iface_tids, diff --git a/dlls/mshtml/htmlarea.c b/dlls/mshtml/htmlarea.c index e785871e244..6c0da3633d5 100644 --- a/dlls/mshtml/htmlarea.c +++ b/dlls/mshtml/htmlarea.c @@ -477,6 +477,7 @@ static const tid_t HTMLAreaElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLAreaElement_dispex = { + L"HTMLAreaElement", NULL, DispHTMLAreaElement_tid, HTMLAreaElement_iface_tids, diff --git a/dlls/mshtml/htmlattr.c b/dlls/mshtml/htmlattr.c index dc8c45e488a..e10c7c3826f 100644 --- a/dlls/mshtml/htmlattr.c +++ b/dlls/mshtml/htmlattr.c @@ -484,6 +484,7 @@ static const tid_t HTMLDOMAttribute_iface_tids[] = { 0 }; static dispex_static_data_t HTMLDOMAttribute_dispex = { + L"Attr", NULL, DispHTMLDOMAttribute_tid, HTMLDOMAttribute_iface_tids diff --git a/dlls/mshtml/htmlbody.c b/dlls/mshtml/htmlbody.c index 32c49fe1214..551c3a15188 100644 --- a/dlls/mshtml/htmlbody.c +++ b/dlls/mshtml/htmlbody.c @@ -1008,6 +1008,7 @@ static const tid_t HTMLBodyElement_iface_tids[] = { }; static dispex_static_data_t HTMLBodyElement_dispex = { + L"HTMLBodyElement", NULL, DispHTMLBody_tid, HTMLBodyElement_iface_tids, diff --git a/dlls/mshtml/htmlcomment.c b/dlls/mshtml/htmlcomment.c index 85eceef22e8..78158650c25 100644 --- a/dlls/mshtml/htmlcomment.c +++ b/dlls/mshtml/htmlcomment.c @@ -199,6 +199,7 @@ static const tid_t HTMLCommentElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLCommentElement_dispex = { + L"Comment", NULL, DispHTMLCommentElement_tid, HTMLCommentElement_iface_tids, diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c index 2abe5df30ec..e66a42c1d4e 100644 --- a/dlls/mshtml/htmlcurstyle.c +++ b/dlls/mshtml/htmlcurstyle.c @@ -1300,6 +1300,7 @@ static const tid_t HTMLCurrentStyle_iface_tids[] = { 0 }; static dispex_static_data_t HTMLCurrentStyle_dispex = { + L"MSCurrentStyleCSSProperties", &CSSStyle_dispex_vtbl, DispHTMLCurrentStyle_tid, HTMLCurrentStyle_iface_tids, diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 9faf987d7b9..6bbf058aed4 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -5654,6 +5654,7 @@ static void HTMLDocumentNode_init_dispex_info(dispex_data_t *info, compat_mode_t } static dispex_static_data_t HTMLDocumentNode_dispex = { + L"HTMLDocument", &HTMLDocumentNode_event_target_vtbl.dispex_vtbl, DispHTMLDocument_tid, HTMLDocumentNode_iface_tids, @@ -5949,6 +5950,7 @@ static const tid_t HTMLDocumentObj_iface_tids[] = { 0 }; static dispex_static_data_t HTMLDocumentObj_dispex = { + L"HTMLDocumentObj", NULL, DispHTMLDocument_tid, HTMLDocumentObj_iface_tids diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index b07de03be2d..cb7a528be39 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -527,6 +527,7 @@ static const tid_t HTMLRect_iface_tids[] = { 0 }; static dispex_static_data_t HTMLRect_dispex = { + L"ClientRect", NULL, IHTMLRect_tid, HTMLRect_iface_tids @@ -788,6 +789,7 @@ static const tid_t HTMLRectCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLRectCollection_dispex = { + L"ClientRectList", &HTMLRectCollection_dispex_vtbl, IHTMLRectCollection_tid, HTMLRectCollection_iface_tids @@ -6669,6 +6671,7 @@ static const tid_t token_list_iface_tids[] = { 0 }; static dispex_static_data_t token_list_dispex = { + L"DOMTokenList", &token_list_dispex_vtbl, IWineDOMTokenList_tid, token_list_iface_tids @@ -6779,6 +6782,7 @@ static const IWineHTMLElementPrivateVtbl WineHTMLElementPrivateVtbl = { }; static dispex_static_data_t HTMLElement_dispex = { + L"HTMLElement", &HTMLElement_event_target_vtbl.dispex_vtbl, DispHTMLUnknownElement_tid, HTMLElement_iface_tids, @@ -7053,6 +7057,7 @@ static const tid_t HTMLFiltersCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLFiltersCollection_dispex = { + L"FiltersCollection", &HTMLFiltersCollection_dispex_vtbl, IHTMLFiltersCollection_tid, HTMLFiltersCollection_iface_tids @@ -7626,6 +7631,7 @@ static const tid_t HTMLAttributeCollection_iface_tids[] = { }; static dispex_static_data_t HTMLAttributeCollection_dispex = { + L"NamedNodeMap", &HTMLAttributeCollection_dispex_vtbl, DispHTMLAttributeCollection_tid, HTMLAttributeCollection_iface_tids diff --git a/dlls/mshtml/htmlelemcol.c b/dlls/mshtml/htmlelemcol.c index e72f21ffaa5..86ef3a32639 100644 --- a/dlls/mshtml/htmlelemcol.c +++ b/dlls/mshtml/htmlelemcol.c @@ -618,6 +618,7 @@ static const tid_t HTMLElementCollection_iface_tids[] = { }; static dispex_static_data_t HTMLElementCollection_dispex = { + L"HTMLCollection", &HTMLElementColection_dispex_vtbl, DispHTMLElementCollection_tid, HTMLElementCollection_iface_tids diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 5b040c4df62..3f545bbb3fd 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -750,6 +750,7 @@ static const tid_t HTMLEventObj_iface_tids[] = { }; static dispex_static_data_t HTMLEventObj_dispex = { + L"MSEventObj", NULL, DispCEventObj_tid, HTMLEventObj_iface_tids @@ -2135,6 +2136,7 @@ static const tid_t DOMEvent_iface_tids[] = { }; static dispex_static_data_t DOMEvent_dispex = { + L"Event", NULL, DispDOMEvent_tid, DOMEvent_iface_tids @@ -2147,6 +2149,7 @@ static const tid_t DOMUIEvent_iface_tids[] = { }; static dispex_static_data_t DOMUIEvent_dispex = { + L"UIEvent", NULL, DispDOMUIEvent_tid, DOMUIEvent_iface_tids @@ -2160,6 +2163,7 @@ static const tid_t DOMMouseEvent_iface_tids[] = { }; static dispex_static_data_t DOMMouseEvent_dispex = { + L"MouseEvent", NULL, DispDOMMouseEvent_tid, DOMMouseEvent_iface_tids @@ -2173,6 +2177,7 @@ static const tid_t DOMKeyboardEvent_iface_tids[] = { }; static dispex_static_data_t DOMKeyboardEvent_dispex = { + L"KeyboardEvent", NULL, DispDOMKeyboardEvent_tid, DOMKeyboardEvent_iface_tids @@ -2185,6 +2190,7 @@ static const tid_t DOMCustomEvent_iface_tids[] = { }; static dispex_static_data_t DOMCustomEvent_dispex = { + L"CustomEvent", NULL, DispDOMCustomEvent_tid, DOMCustomEvent_iface_tids diff --git a/dlls/mshtml/htmlform.c b/dlls/mshtml/htmlform.c index 5d0928e4a9c..566612f675a 100644 --- a/dlls/mshtml/htmlform.c +++ b/dlls/mshtml/htmlform.c @@ -827,6 +827,7 @@ static const tid_t HTMLFormElement_iface_tids[] = { }; static dispex_static_data_t HTMLFormElement_dispex = { + L"HTMLFormElement", NULL, DispHTMLFormElement_tid, HTMLFormElement_iface_tids, diff --git a/dlls/mshtml/htmlframe.c b/dlls/mshtml/htmlframe.c index 7118ea86b57..e794284bef6 100644 --- a/dlls/mshtml/htmlframe.c +++ b/dlls/mshtml/htmlframe.c @@ -1023,6 +1023,7 @@ static const tid_t HTMLFrameElement_iface_tids[] = { }; static dispex_static_data_t HTMLFrameElement_dispex = { + L"HTMLFrameElement", NULL, DispHTMLFrameElement_tid, HTMLFrameElement_iface_tids, @@ -1603,6 +1604,7 @@ static const tid_t HTMLIFrame_iface_tids[] = { }; static dispex_static_data_t HTMLIFrame_dispex = { + L"HTMLIFrameElement", NULL, DispHTMLIFrame_tid, HTMLIFrame_iface_tids, diff --git a/dlls/mshtml/htmlgeneric.c b/dlls/mshtml/htmlgeneric.c index 639c95ee43d..459fc78266b 100644 --- a/dlls/mshtml/htmlgeneric.c +++ b/dlls/mshtml/htmlgeneric.c @@ -168,6 +168,7 @@ static const tid_t HTMLGenericElement_iface_tids[] = { }; static dispex_static_data_t HTMLGenericElement_dispex = { + L"HTMLUnknownElement", NULL, DispHTMLGenericElement_tid, HTMLGenericElement_iface_tids, diff --git a/dlls/mshtml/htmlhead.c b/dlls/mshtml/htmlhead.c index 5dbf8d6b6bd..1bad06ee9d7 100644 --- a/dlls/mshtml/htmlhead.c +++ b/dlls/mshtml/htmlhead.c @@ -169,6 +169,7 @@ static const tid_t HTMLTitleElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLTitleElement_dispex = { + L"HTMLTitleElement", NULL, DispHTMLTitleElement_tid, HTMLTitleElement_iface_tids, @@ -352,6 +353,7 @@ static const tid_t HTMLHtmlElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLHtmlElement_dispex = { + L"HTMLHtmlElement", NULL, DispHTMLHtmlElement_tid, HTMLHtmlElement_iface_tids, @@ -588,6 +590,7 @@ static const tid_t HTMLMetaElement_iface_tids[] = { }; static dispex_static_data_t HTMLMetaElement_dispex = { + L"HTMLMetaElement", NULL, DispHTMLMetaElement_tid, HTMLMetaElement_iface_tids, @@ -751,6 +754,7 @@ static const tid_t HTMLHeadElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLHeadElement_dispex = { + L"HTMLHeadElement", NULL, DispHTMLHeadElement_tid, HTMLHeadElement_iface_tids, diff --git a/dlls/mshtml/htmlimg.c b/dlls/mshtml/htmlimg.c index f89e8e5ae84..96b8d31029f 100644 --- a/dlls/mshtml/htmlimg.c +++ b/dlls/mshtml/htmlimg.c @@ -730,6 +730,7 @@ static const tid_t HTMLImgElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLImgElement_dispex = { + L"HTMLImageElement", NULL, DispHTMLImg_tid, HTMLImgElement_iface_tids, @@ -974,6 +975,7 @@ static const dispex_static_data_vtbl_t HTMLImageElementFactory_dispex_vtbl = { }; static dispex_static_data_t HTMLImageElementFactory_dispex = { + L"Function", &HTMLImageElementFactory_dispex_vtbl, IHTMLImageElementFactory_tid, HTMLImageElementFactory_iface_tids diff --git a/dlls/mshtml/htmlinput.c b/dlls/mshtml/htmlinput.c index 1a0a739d5d5..e9b53dadb92 100644 --- a/dlls/mshtml/htmlinput.c +++ b/dlls/mshtml/htmlinput.c @@ -1441,6 +1441,7 @@ static const tid_t HTMLInputElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLInputElement_dispex = { + L"HTMLInputElement", NULL, DispHTMLInputElement_tid, HTMLInputElement_iface_tids, @@ -1637,6 +1638,7 @@ static const tid_t HTMLLabelElement_iface_tids[] = { }; static dispex_static_data_t HTMLLabelElement_dispex = { + L"HTMLLabelElement", NULL, DispHTMLLabelElement_tid, HTMLLabelElement_iface_tids, @@ -1983,6 +1985,7 @@ static const tid_t HTMLButtonElement_iface_tids[] = { }; static dispex_static_data_t HTMLButtonElement_dispex = { + L"HTMLButtonElement", NULL, DispHTMLButtonElement_tid, HTMLButtonElement_iface_tids, diff --git a/dlls/mshtml/htmllink.c b/dlls/mshtml/htmllink.c index ddf67ca0f73..1dd48737eb4 100644 --- a/dlls/mshtml/htmllink.c +++ b/dlls/mshtml/htmllink.c @@ -446,6 +446,7 @@ static const tid_t HTMLLinkElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLLinkElement_dispex = { + L"HTMLLinkElement", NULL, DispHTMLLinkElement_tid, HTMLLinkElement_iface_tids, diff --git a/dlls/mshtml/htmllocation.c b/dlls/mshtml/htmllocation.c index a85c9a626f2..85dfc40b5d7 100644 --- a/dlls/mshtml/htmllocation.c +++ b/dlls/mshtml/htmllocation.c @@ -631,6 +631,7 @@ static const tid_t HTMLLocation_iface_tids[] = { 0 }; static dispex_static_data_t HTMLLocation_dispex = { + L"Object", NULL, DispHTMLLocation_tid, HTMLLocation_iface_tids diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index b5ff02bcee2..996c28c1038 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -429,6 +429,7 @@ static const tid_t HTMLDOMChildrenCollection_iface_tids[] = { }; static dispex_static_data_t HTMLDOMChildrenCollection_dispex = { + L"NodeList", &HTMLDOMChildrenCollection_dispex_vtbl, DispDOMChildrenCollection_tid, HTMLDOMChildrenCollection_iface_tids, @@ -1476,6 +1477,7 @@ static const tid_t HTMLDOMNode_iface_tids[] = { 0 }; static dispex_static_data_t HTMLDOMNode_dispex = { + L"Node", NULL, IHTMLDOMNode_tid, HTMLDOMNode_iface_tids, diff --git a/dlls/mshtml/htmlobject.c b/dlls/mshtml/htmlobject.c index 67025489751..9c8af177ecc 100644 --- a/dlls/mshtml/htmlobject.c +++ b/dlls/mshtml/htmlobject.c @@ -766,6 +766,7 @@ static const tid_t HTMLObjectElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLObjectElement_dispex = { + L"HTMLObjectElement", NULL, DispHTMLObjectElement_tid, HTMLObjectElement_iface_tids, @@ -1028,6 +1029,7 @@ static const tid_t HTMLEmbedElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLEmbedElement_dispex = { + L"HTMLEmbedElement", NULL, DispHTMLEmbed_tid, HTMLEmbedElement_iface_tids, diff --git a/dlls/mshtml/htmlscript.c b/dlls/mshtml/htmlscript.c index 9b7f95e3bb0..9f3a0b21bb9 100644 --- a/dlls/mshtml/htmlscript.c +++ b/dlls/mshtml/htmlscript.c @@ -479,6 +479,7 @@ static const tid_t HTMLScriptElement_iface_tids[] = { }; static dispex_static_data_t HTMLScriptElement_dispex = { + L"HTMLScriptElement", NULL, DispHTMLScriptElement_tid, HTMLScriptElement_iface_tids, diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c index ad801f8433b..7869a8e628b 100644 --- a/dlls/mshtml/htmlselect.c +++ b/dlls/mshtml/htmlselect.c @@ -416,6 +416,7 @@ static const tid_t HTMLOptionElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLOptionElement_dispex = { + L"HTMLOptionElement", NULL, DispHTMLOptionElement_tid, HTMLOptionElement_iface_tids, @@ -595,6 +596,7 @@ static const tid_t HTMLOptionElementFactory_iface_tids[] = { }; static dispex_static_data_t HTMLOptionElementFactory_dispex = { + L"Function", NULL, IHTMLOptionElementFactory_tid, HTMLOptionElementFactory_iface_tids, @@ -1281,6 +1283,7 @@ static const tid_t HTMLSelectElement_tids[] = { }; static dispex_static_data_t HTMLSelectElement_dispex = { + L"HTMLSelectElement", NULL, DispHTMLSelectElement_tid, HTMLSelectElement_tids, diff --git a/dlls/mshtml/htmlstorage.c b/dlls/mshtml/htmlstorage.c index c3896475270..9c1f9044cb7 100644 --- a/dlls/mshtml/htmlstorage.c +++ b/dlls/mshtml/htmlstorage.c @@ -195,6 +195,7 @@ static const tid_t HTMLStorage_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStorage_dispex = { + L"Storage", NULL, IHTMLStorage_tid, HTMLStorage_iface_tids diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index 4ee81ba7e99..7dd7000bab0 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -10006,6 +10006,7 @@ static const tid_t HTMLStyle_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyle_dispex = { + L"MSStyleCSSProperties", &CSSStyle_dispex_vtbl, DispHTMLStyle_tid, HTMLStyle_iface_tids, @@ -10100,6 +10101,7 @@ static const tid_t HTMLW3CComputedStyle_iface_tids[] = { 0 }; static dispex_static_data_t HTMLW3CComputedStyle_dispex = { + L"CSSStyleDeclaration", &CSSStyle_dispex_vtbl, DispHTMLW3CComputedStyle_tid, HTMLW3CComputedStyle_iface_tids, diff --git a/dlls/mshtml/htmlstyleelem.c b/dlls/mshtml/htmlstyleelem.c index d2a4a75fe90..cf575476841 100644 --- a/dlls/mshtml/htmlstyleelem.c +++ b/dlls/mshtml/htmlstyleelem.c @@ -462,6 +462,7 @@ static const tid_t HTMLStyleElement_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyleElement_dispex = { + L"HTMLStyleElement", NULL, DispHTMLStyleElement_tid, HTMLStyleElement_iface_tids, diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index b6f1c980760..cbc2adf68b5 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -202,6 +202,7 @@ static const tid_t HTMLStyleSheetRule_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyleSheetRule_dispex = { + L"CSSStyleRule", NULL, DispHTMLStyleSheetRule_tid, HTMLStyleSheetRule_iface_tids @@ -376,6 +377,7 @@ static const tid_t HTMLStyleSheetRulesCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyleSheetRulesCollection_dispex = { + L"MSCSSRuleList", NULL, DispHTMLStyleSheetRulesCollection_tid, HTMLStyleSheetRulesCollection_iface_tids @@ -575,6 +577,7 @@ static const tid_t HTMLStyleSheetsCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyleSheetsCollection_dispex = { + L"StyleSheetList", NULL, DispHTMLStyleSheetsCollection_tid, HTMLStyleSheetsCollection_iface_tids @@ -1144,6 +1147,7 @@ static const tid_t HTMLStyleSheet_iface_tids[] = { 0 }; static dispex_static_data_t HTMLStyleSheet_dispex = { + L"CSSStyleSheet", NULL, DispHTMLStyleSheet_tid, HTMLStyleSheet_iface_tids, diff --git a/dlls/mshtml/htmltable.c b/dlls/mshtml/htmltable.c index 178e9e52304..53c98205574 100644 --- a/dlls/mshtml/htmltable.c +++ b/dlls/mshtml/htmltable.c @@ -520,6 +520,7 @@ static const tid_t HTMLTableCell_iface_tids[] = { }; static dispex_static_data_t HTMLTableCell_dispex = { + L"HTMLTableDataCellElement", NULL, DispHTMLTableCell_tid, HTMLTableCell_iface_tids, @@ -964,6 +965,7 @@ static const tid_t HTMLTableRow_iface_tids[] = { }; static dispex_static_data_t HTMLTableRow_dispex = { + L"HTMLTableRowElement", NULL, DispHTMLTableRow_tid, HTMLTableRow_iface_tids, @@ -1996,6 +1998,7 @@ static const tid_t HTMLTable_iface_tids[] = { }; static dispex_static_data_t HTMLTable_dispex = { + L"HTMLTableElement", NULL, DispHTMLTable_tid, HTMLTable_iface_tids, diff --git a/dlls/mshtml/htmltextarea.c b/dlls/mshtml/htmltextarea.c index 57f33732a01..f95b5590198 100644 --- a/dlls/mshtml/htmltextarea.c +++ b/dlls/mshtml/htmltextarea.c @@ -479,6 +479,7 @@ static const tid_t HTMLTextAreaElement_iface_tids[] = { }; static dispex_static_data_t HTMLTextAreaElement_dispex = { + L"HTMLTextAreaElement", NULL, DispHTMLTextAreaElement_tid, HTMLTextAreaElement_iface_tids, diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c index 56a0572459a..afe5d21d77c 100644 --- a/dlls/mshtml/htmltextnode.c +++ b/dlls/mshtml/htmltextnode.c @@ -358,6 +358,7 @@ static const tid_t HTMLDOMTextNode_iface_tids[] = { 0 }; static dispex_static_data_t HTMLDOMTextNode_dispex = { + L"Text", NULL, DispHTMLDOMTextNode_tid, HTMLDOMTextNode_iface_tids, diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index 870d7e8f100..2dfa8796c01 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -3687,6 +3687,7 @@ static const tid_t HTMLWindow_iface_tids[] = { }; static dispex_static_data_t HTMLWindow_dispex = { + L"Window", &HTMLWindow_event_target_vtbl.dispex_vtbl, DispHTMLWindow2_tid, HTMLWindow_iface_tids, diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index c1e7e78253d..9429a4bb5b4 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -327,6 +327,7 @@ typedef struct { } dispex_static_data_vtbl_t; typedef struct { + const WCHAR *name; const dispex_static_data_vtbl_t *vtbl; const tid_t disp_tid; const tid_t* const iface_tids; @@ -393,6 +394,7 @@ HRESULT get_class_typeinfo(const CLSID*,ITypeInfo**) DECLSPEC_HIDDEN; const void *dispex_get_vtbl(DispatchEx*) DECLSPEC_HIDDEN; void dispex_info_add_interface(dispex_data_t*,tid_t,const dispex_hook_t*) DECLSPEC_HIDDEN; compat_mode_t dispex_compat_mode(DispatchEx*) DECLSPEC_HIDDEN; +HRESULT dispex_to_string(DispatchEx*,BSTR*) DECLSPEC_HIDDEN; typedef enum { DISPEXPROP_CUSTOM, diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c index eff9576a955..7b415635c6b 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -304,6 +304,7 @@ static const tid_t HTMLDOMImplementation_iface_tids[] = { 0 }; static dispex_static_data_t HTMLDOMImplementation_dispex = { + L"DOMImplementation", NULL, DispHTMLDOMImplementation_tid, HTMLDOMImplementation_iface_tids @@ -555,6 +556,7 @@ static const tid_t HTMLScreen_iface_tids[] = { 0 }; static dispex_static_data_t HTMLScreen_dispex = { + L"Screen", NULL, DispHTMLScreen_tid, HTMLScreen_iface_tids @@ -718,6 +720,7 @@ static const tid_t OmHistory_iface_tids[] = { 0 }; static dispex_static_data_t OmHistory_dispex = { + L"History", NULL, DispHTMLHistory_tid, OmHistory_iface_tids @@ -874,6 +877,7 @@ static const tid_t HTMLPluginsCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLPluginsCollection_dispex = { + L"PluginArray", NULL, DispCPlugins_tid, HTMLPluginsCollection_iface_tids @@ -1018,6 +1022,7 @@ static const tid_t HTMLMimeTypesCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLMimeTypesCollection_dispex = { + L"MimeTypeArray", NULL, IHTMLMimeTypesCollection_tid, HTMLMimeTypesCollection_iface_tids @@ -1310,12 +1315,7 @@ static HRESULT WINAPI OmNavigator_toString(IOmNavigator *iface, BSTR *String) TRACE("(%p)->(%p)\n", This, String); - if(!String) - return E_INVALIDARG; - - *String = SysAllocString(dispex_compat_mode(&This->dispex) < COMPAT_MODE_IE9 - ? L"[object]" : L"[object Navigator]"); - return *String ? S_OK : E_OUTOFMEMORY; + return dispex_to_string(&This->dispex, String); } static HRESULT WINAPI OmNavigator_get_cpuClass(IOmNavigator *iface, BSTR *p) @@ -1469,6 +1469,7 @@ static const tid_t OmNavigator_iface_tids[] = { 0 }; static dispex_static_data_t OmNavigator_dispex = { + L"Navigator", NULL, DispHTMLNavigator_tid, OmNavigator_iface_tids @@ -1849,6 +1850,7 @@ static const tid_t HTMLPerformanceTiming_iface_tids[] = { 0 }; static dispex_static_data_t HTMLPerformanceTiming_dispex = { + L"PerformanceTiming", NULL, IHTMLPerformanceTiming_tid, HTMLPerformanceTiming_iface_tids @@ -1998,6 +2000,7 @@ static const tid_t HTMLPerformanceNavigation_iface_tids[] = { 0 }; static dispex_static_data_t HTMLPerformanceNavigation_dispex = { + L"PerformanceNavigation", NULL, IHTMLPerformanceNavigation_tid, HTMLPerformanceNavigation_iface_tids @@ -2188,6 +2191,7 @@ static const tid_t HTMLPerformance_iface_tids[] = { 0 }; static dispex_static_data_t HTMLPerformance_dispex = { + L"Performance", NULL, IHTMLPerformance_tid, HTMLPerformance_iface_tids @@ -2346,6 +2350,7 @@ static const tid_t HTMLNamespaceCollection_iface_tids[] = { 0 }; static dispex_static_data_t HTMLNamespaceCollection_dispex = { + L"MSNamespaceInfoCollection", NULL, DispHTMLNamespaceCollection_tid, HTMLNamespaceCollection_iface_tids @@ -2601,6 +2606,7 @@ static const tid_t console_iface_tids[] = { 0 }; static dispex_static_data_t console_dispex = { + L"Console", NULL, IWineMSHTMLConsole_tid, console_iface_tids diff --git a/dlls/mshtml/range.c b/dlls/mshtml/range.c index 89f68046a33..bea5ac6b371 100644 --- a/dlls/mshtml/range.c +++ b/dlls/mshtml/range.c @@ -1715,6 +1715,7 @@ static const tid_t HTMLTxtRange_iface_tids[] = { 0 }; static dispex_static_data_t HTMLTxtRange_dispex = { + L"TextRange", NULL, IHTMLTxtRange_tid, HTMLTxtRange_iface_tids @@ -2060,6 +2061,7 @@ static const tid_t HTMLDOMRange_iface_tids[] = { }; static dispex_static_data_t HTMLDOMRange_dispex = { + L"Range", NULL, DispHTMLDOMRange_tid, HTMLDOMRange_iface_tids diff --git a/dlls/mshtml/selection.c b/dlls/mshtml/selection.c index 786c2bd6b91..280fdaa84ad 100644 --- a/dlls/mshtml/selection.c +++ b/dlls/mshtml/selection.c @@ -330,6 +330,7 @@ static const tid_t HTMLSelectionObject_iface_tids[] = { 0 }; static dispex_static_data_t HTMLSelectionObject_dispex = { + L"MSSelection", NULL, IHTMLSelectionObject_tid, /* FIXME: We have a test for that, but it doesn't expose IHTMLSelectionObject2 iface. */ HTMLSelectionObject_iface_tids diff --git a/dlls/mshtml/xmlhttprequest.c b/dlls/mshtml/xmlhttprequest.c index d7d8ce51593..56e18d0432e 100644 --- a/dlls/mshtml/xmlhttprequest.c +++ b/dlls/mshtml/xmlhttprequest.c @@ -895,6 +895,7 @@ static const tid_t HTMLXMLHttpRequest_iface_tids[] = { 0 }; static dispex_static_data_t HTMLXMLHttpRequest_dispex = { + L"XMLHttpRequest", &HTMLXMLHttpRequest_event_target_vtbl.dispex_vtbl, DispHTMLXMLHttpRequest_tid, HTMLXMLHttpRequest_iface_tids, @@ -1066,6 +1067,7 @@ static const tid_t HTMLXMLHttpRequestFactory_iface_tids[] = { 0 }; static dispex_static_data_t HTMLXMLHttpRequestFactory_dispex = { + L"Function", &HTMLXMLHttpRequestFactory_dispex_vtbl, IHTMLXMLHttpRequestFactory_tid, HTMLXMLHttpRequestFactory_iface_tids