From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelem.c | 5 +++++ dlls/mshtml/htmlnode.c | 10 ++++++++++ dlls/mshtml/mshtml_private.h | 1 - dlls/mshtml/mshtml_private_iface.idl | 2 ++ dlls/mshtml/tests/documentmode.js | 4 ++-- 5 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index ec631b20858..b38ebd40269 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -6695,6 +6695,10 @@ void HTMLElement_init_dispex_info(dispex_data_t *info, compat_mode_t mode) {DISPID_IHTMLELEMENT3_FIREEVENT, NULL}, {DISPID_UNKNOWN} }; + static const dispex_hook_t elem4_ie9_hooks[] = { + {DISPID_IHTMLELEMENT4_NORMALIZE, NULL}, + {DISPID_UNKNOWN} + }; static const dispex_hook_t elem7_ie11_hooks[] = { {DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER}, {DISPID_UNKNOWN} @@ -6720,6 +6724,7 @@ void HTMLElement_init_dispex_info(dispex_data_t *info, compat_mode_t mode)
dispex_info_add_interface(info, IHTMLElement3_tid, mode >= COMPAT_MODE_IE11 ? elem3_ie11_hooks : NULL); dispex_info_add_interface(info, IHTMLElement_tid, mode >= COMPAT_MODE_IE9 ? elem_ie9_hooks : NULL); + dispex_info_add_interface(info, IHTMLElement4_tid, mode >= COMPAT_MODE_IE9 ? elem4_ie9_hooks : NULL); }
const DISPID HTMLElement_toString_dispids[] = { diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index aa498fa7fbb..b87e20c433b 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -1207,6 +1207,15 @@ static HRESULT WINAPI HTMLDOMNode_private_get_hasAttributes(IWineHTMLDOMNodePriv return E_NOTIMPL; }
+static HRESULT WINAPI HTMLDOMNode_private_normalize(IWineHTMLDOMNodePrivate *iface) +{ + HTMLDOMNode *This = impl_from_IWineHTMLDOMNodePrivate(iface); + + FIXME("(%p)\n", This); + + return E_NOTIMPL; +} + static const IWineHTMLDOMNodePrivateVtbl HTMLDOMNode_private_vtbl = { HTMLDOMNode_private_QueryInterface, HTMLDOMNode_private_AddRef, @@ -1216,6 +1225,7 @@ static const IWineHTMLDOMNodePrivateVtbl HTMLDOMNode_private_vtbl = { HTMLDOMNode_private_GetIDsOfNames, HTMLDOMNode_private_Invoke, HTMLDOMNode_private_get_hasAttributes, + HTMLDOMNode_private_normalize, };
static inline HTMLDOMNode *HTMLDOMNode_from_DispatchEx(DispatchEx *iface) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 3022683b8d4..bcd30096cd9 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -1061,7 +1061,6 @@ typedef struct { #define HTMLELEMENT_TIDS \ IHTMLDOMNode_tid, \ IHTMLDOMNode2_tid, \ - IHTMLElement4_tid, \ IHTMLUniqueName_tid
extern const DISPID HTMLElement_toString_dispids[]; diff --git a/dlls/mshtml/mshtml_private_iface.idl b/dlls/mshtml/mshtml_private_iface.idl index 73cf4f1c4df..1db8ed583a2 100644 --- a/dlls/mshtml/mshtml_private_iface.idl +++ b/dlls/mshtml/mshtml_private_iface.idl @@ -160,6 +160,8 @@ interface IWineHTMLDOMNodePrivate : IDispatch { [propget, id(1)] HRESULT hasAttributes([retval, out] VARIANT_BOOL *p); + [id(2)] + HRESULT normalize(); }
[ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 6c6b1b6b684..883633985c5 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3746,7 +3746,7 @@ sync_test("prototype props", function() { "uniqueID", "uniqueNumber" ], [ ["addBehavior",11], ["addFilter",10], ["all",11], ["behaviorUrns",11], ["dataset",11], ["document",10], ["draggable",10], ["filters",10], - "getExpression", ["hidden",11], ["msGetInputContext",11], "normalize", ["onafterupdate",11], ["onbeforeeditfocus",11], + "getExpression", ["hidden",11], ["msGetInputContext",11], ["onafterupdate",11], ["onbeforeeditfocus",11], ["onbeforeupdate",11], ["oncellchange",11], ["oncontrolselect",11], ["ondataavailable",11], ["ondatasetchanged",11], ["ondatasetcomplete",11], ["onerrorupdate",11], ["onfilterchange",11], ["oninvalid",10], ["onlayoutcomplete",11], ["onlosecapture",11], ["onmove",11], ["onmoveend",11], ["onmovestart",11], ["onmsanimationend",10], ["onmsanimationiteration",10], ["onmsanimationstart",10], @@ -3786,7 +3786,7 @@ sync_test("prototype props", function() { "DOCUMENT_POSITION_CONTAINED_BY", "DOCUMENT_POSITION_CONTAINS", "DOCUMENT_POSITION_DISCONNECTED", "DOCUMENT_POSITION_FOLLOWING", "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", "DOCUMENT_POSITION_PRECEDING", "DOCUMENT_TYPE_NODE", "ELEMENT_NODE", "ENTITY_NODE", "ENTITY_REFERENCE_NODE", "NOTATION_NODE", - "PROCESSING_INSTRUCTION_NODE", "TEXT_NODE", "normalize" + "PROCESSING_INSTRUCTION_NODE", "TEXT_NODE" ]); if(v >= 11) check(PageTransitionEvent, [ "persisted" ]);