From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmltextnode.c | 12 ++++++++++-- dlls/mshtml/tests/documentmode.js | 9 +++++++++ 2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c index 2fda0ad255f..667fc54be6a 100644 --- a/dlls/mshtml/htmltextnode.c +++ b/dlls/mshtml/htmltextnode.c @@ -652,7 +652,16 @@ static void Comment_init_dispex_info(dispex_data_t *info, compat_mode_t mode) {DISPID_IHTMLCOMMENTELEMENT_ATOMIC}, {DISPID_UNKNOWN} }; - HTMLElement_init_dispex_info(info, mode); + + if(mode >= COMPAT_MODE_IE9) + HTMLDOMNode_init_dispex_info(info, mode); + else { + HTMLElement_init_dispex_info(info, mode); + dispex_info_add_interface(info, IHTMLElement_tid, NULL); + dispex_info_add_interface(info, IHTMLElement3_tid, NULL); + dispex_info_add_interface(info, IHTMLElement4_tid, NULL); + dispex_info_add_interface(info, IHTMLUniqueName_tid, NULL); + } CharacterData_init_dispex_info(info, mode);
dispex_info_add_interface(info, IHTMLCommentElement_tid, mode >= COMPAT_MODE_IE9 ? ie9_hooks : NULL); @@ -663,7 +672,6 @@ dispex_static_data_t Comment_dispex = { .prototype_id = PROT_CharacterData, .vtbl = &HTMLCommentElement_event_target_vtbl.dispex_vtbl, .disp_tid = DispHTMLCommentElement_tid, - .iface_tids = HTMLElement_iface_tids, .init_info = Comment_init_dispex_info, };
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 19a449c63bd..d74866437b0 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -545,6 +545,14 @@ sync_test("elem_props", function() { test_exposed("insertData", true); test_exposed("replaceData", true); test_exposed("substringData", true); + test_exposed("attachEvent", v < 9); + test_exposed("doScroll", v < 9); + test_exposed("readyState", v < 9); + test_exposed("clientTop", v < 9); + test_exposed("title", v < 9); + test_exposed("removeNode", v < 9); + test_exposed("querySelectorAll", v === 8); + test_exposed("hasAttribute", v === 8, v === 8);
elem = document.createElement("style"); test_exposed("media", true); @@ -3677,6 +3685,7 @@ sync_test("prototype props", function() { }
check(CharacterData, [ "appendData", "data", "deleteData", "insertData", "length", "replaceData", "substringData" ]); + check(Comment, [ "text" ]); check(CSSStyleRule, [ "readOnly", "selectorText", "style" ]); check(CustomEvent, [ "detail", "initCustomEvent" ]); check(DocumentType, [ "entities", "internalSubset", "name", "notations", "publicId", "systemId" ]);