From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmldoc.c | 13 ------------- dlls/mshtml/htmlnode.c | 11 ++++------- dlls/mshtml/htmltextnode.c | 13 ------------- 3 files changed, 4 insertions(+), 33 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 3c3c344309a..05c98e0f377 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -235,28 +235,15 @@ static const IDOMDocumentTypeVtbl DocumentTypeVtbl = { DocumentType_get_internalSubset };
-static inline DocumentType *DocumentType_from_HTMLDOMNode(HTMLDOMNode *iface) -{ - return CONTAINING_RECORD(iface, DocumentType, node); -} - static inline DocumentType *DocumentType_from_DispatchEx(DispatchEx *iface) { return CONTAINING_RECORD(iface, DocumentType, node.event_target.dispex); }
-static HRESULT DocumentType_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret) -{ - DocumentType *This = DocumentType_from_HTMLDOMNode(iface); - - return create_doctype_node(This->node.doc, nsnode, ret); -} - static const cpc_entry_t DocumentType_cpc[] = {{NULL}};
static const NodeImplVtbl DocumentTypeImplVtbl = { .cpc_entries = DocumentType_cpc, - .clone = DocumentType_clone };
static void *DocumentType_query_interface(DispatchEx *dispex, REFIID riid) diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index d838325a953..6b8daa00aea 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -705,7 +705,10 @@ static HRESULT WINAPI HTMLDOMNode_cloneNode(IHTMLDOMNode *iface, VARIANT_BOOL fD return E_FAIL; }
- hres = This->vtbl->clone(This, nsnode, &new_node); + if(This->vtbl->clone) + hres = This->vtbl->clone(This, nsnode, &new_node); + else + hres = create_node(This->doc, nsnode, &new_node); nsIDOMNode_Release(nsnode); if(FAILED(hres)) return hres; @@ -1300,11 +1303,6 @@ void HTMLDOMNode_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLDOMNode_clone(HTMLDOMNode *This, nsIDOMNode *nsnode, HTMLDOMNode **ret) -{ - return create_node(This->doc, nsnode, ret); -} - void HTMLDOMNode_init_dispex_info(dispex_data_t *info, compat_mode_t mode) { static const dispex_hook_t ie9_hooks[] = { @@ -1357,7 +1355,6 @@ static const cpc_entry_t HTMLDOMNode_cpc[] = {{NULL}};
static const NodeImplVtbl HTMLDOMNodeImplVtbl = { .cpc_entries = HTMLDOMNode_cpc, - .clone = HTMLDOMNode_clone };
void HTMLDOMNode_Init(HTMLDocumentNode *doc, HTMLDOMNode *node, nsIDOMNode *nsnode, dispex_static_data_t *dispex_data) diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c index 63886a4083c..217f123f086 100644 --- a/dlls/mshtml/htmltextnode.c +++ b/dlls/mshtml/htmltextnode.c @@ -370,18 +370,6 @@ static const IHTMLDOMTextNode2Vtbl HTMLDOMTextNode2Vtbl = { HTMLDOMTextNode2_replaceData };
-static inline HTMLDOMTextNode *impl_from_HTMLDOMNode(HTMLDOMNode *iface) -{ - return CONTAINING_RECORD(iface, HTMLDOMTextNode, node); -} - -static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret) -{ - HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface); - - return HTMLDOMTextNode_Create(This->node.doc, nsnode, ret); -} - static inline HTMLDOMTextNode *impl_from_DispatchEx(DispatchEx *iface) { return CONTAINING_RECORD(iface, HTMLDOMTextNode, node.event_target.dispex); @@ -405,7 +393,6 @@ static const cpc_entry_t HTMLDOMTextNode_cpc[] = {{NULL}};
static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = { .cpc_entries = HTMLDOMTextNode_cpc, - .clone = HTMLDOMTextNode_clone };
static const dispex_static_data_vtbl_t Text_dispex_vtbl = {