From ecc6ee0810f8ca503d1b7dc6ae4fb1347d75646b Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 27 Feb 2018 14:58:04 +0100 Subject: [PATCH] mshtml: Merge htmlmeta.c into htmlhead.c. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/mshtml/Makefile.in | 1 - dlls/mshtml/htmlhead.c | 243 ++++++++++++++++++++++++++++++++++- dlls/mshtml/htmlmeta.c | 273 ---------------------------------------- 3 files changed, 242 insertions(+), 275 deletions(-) delete mode 100644 dlls/mshtml/htmlmeta.c diff --git a/dlls/mshtml/Makefile.in b/dlls/mshtml/Makefile.in index 727ae87478a..ce4d4360206 100644 --- a/dlls/mshtml/Makefile.in +++ b/dlls/mshtml/Makefile.in @@ -25,7 +25,6 @@ C_SRCS = \ htmlinput.c \ htmllink.c \ htmllocation.c \ - htmlmeta.c \ htmlnode.c \ htmlobject.c \ htmloption.c \ diff --git a/dlls/mshtml/htmlhead.c b/dlls/mshtml/htmlhead.c index 2bb552cf4d5..57bd0e6f968 100644 --- a/dlls/mshtml/htmlhead.c +++ b/dlls/mshtml/htmlhead.c @@ -1,5 +1,5 @@ /* - * Copyright 2011 Jacek Caban for CodeWeavers + * Copyright 2011,2012 Jacek Caban for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -375,6 +375,247 @@ HRESULT HTMLHtmlElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTM return S_OK; } +struct HTMLMetaElement { + HTMLElement element; + + IHTMLMetaElement IHTMLMetaElement_iface; +}; + +static inline HTMLMetaElement *impl_from_IHTMLMetaElement(IHTMLMetaElement *iface) +{ + return CONTAINING_RECORD(iface, HTMLMetaElement, IHTMLMetaElement_iface); +} + +static HRESULT WINAPI HTMLMetaElement_QueryInterface(IHTMLMetaElement *iface, REFIID riid, void **ppv) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + + return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv); +} + +static ULONG WINAPI HTMLMetaElement_AddRef(IHTMLMetaElement *iface) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + + return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface); +} + +static ULONG WINAPI HTMLMetaElement_Release(IHTMLMetaElement *iface) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + + return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface); +} + +static HRESULT WINAPI HTMLMetaElement_GetTypeInfoCount(IHTMLMetaElement *iface, UINT *pctinfo) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + return IDispatchEx_GetTypeInfoCount(&This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo); +} + +static HRESULT WINAPI HTMLMetaElement_GetTypeInfo(IHTMLMetaElement *iface, UINT iTInfo, + LCID lcid, ITypeInfo **ppTInfo) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + return IDispatchEx_GetTypeInfo(&This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid, + ppTInfo); +} + +static HRESULT WINAPI HTMLMetaElement_GetIDsOfNames(IHTMLMetaElement *iface, REFIID riid, + LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + return IDispatchEx_GetIDsOfNames(&This->element.node.event_target.dispex.IDispatchEx_iface, riid, rgszNames, + cNames, lcid, rgDispId); +} + +static HRESULT WINAPI HTMLMetaElement_Invoke(IHTMLMetaElement *iface, DISPID dispIdMember, REFIID riid, + LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, + UINT *puArgErr) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + return IDispatchEx_Invoke(&This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember, riid, + lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); +} + +static HRESULT WINAPI HTMLMetaElement_put_httpEquiv(IHTMLMetaElement *iface, BSTR v) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + FIXME("(%p)->(%s)\n", This, debugstr_w(v)); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLMetaElement_get_httpEquiv(IHTMLMetaElement *iface, BSTR *p) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + static const PRUnichar httpEquivW[] = {'h','t','t','p','-','e','q','u','i','v',0}; + + TRACE("(%p)->(%p)\n", This, p); + + return elem_string_attr_getter(&This->element, httpEquivW, TRUE, p); +} + +static HRESULT WINAPI HTMLMetaElement_put_content(IHTMLMetaElement *iface, BSTR v) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + FIXME("(%p)->(%s)\n", This, debugstr_w(v)); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLMetaElement_get_content(IHTMLMetaElement *iface, BSTR *p) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + static const PRUnichar contentW[] = {'c','o','n','t','e','n','t',0}; + + TRACE("(%p)->(%p)\n", This, p); + + return elem_string_attr_getter(&This->element, contentW, TRUE, p); +} + +static HRESULT WINAPI HTMLMetaElement_put_name(IHTMLMetaElement *iface, BSTR v) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + FIXME("(%p)->(%s)\n", This, debugstr_w(v)); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLMetaElement_get_name(IHTMLMetaElement *iface, BSTR *p) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + static const PRUnichar nameW[] = {'n','a','m','e',0}; + + TRACE("(%p)->(%p)\n", This, p); + + return elem_string_attr_getter(&This->element, nameW, TRUE, p); +} + +static HRESULT WINAPI HTMLMetaElement_put_url(IHTMLMetaElement *iface, BSTR v) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + FIXME("(%p)->(%s)\n", This, debugstr_w(v)); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLMetaElement_get_url(IHTMLMetaElement *iface, BSTR *p) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +static const WCHAR charsetW[] = {'c','h','a','r','s','e','t',0}; + +static HRESULT WINAPI HTMLMetaElement_put_charset(IHTMLMetaElement *iface, BSTR v) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + + TRACE("(%p)->(%s)\n", This, debugstr_w(v)); + + return elem_string_attr_setter(&This->element, charsetW, v); +} + +static HRESULT WINAPI HTMLMetaElement_get_charset(IHTMLMetaElement *iface, BSTR *p) +{ + HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); + + TRACE("(%p)->(%p)\n", This, p); + + return elem_string_attr_getter(&This->element, charsetW, TRUE, p); +} + +static const IHTMLMetaElementVtbl HTMLMetaElementVtbl = { + HTMLMetaElement_QueryInterface, + HTMLMetaElement_AddRef, + HTMLMetaElement_Release, + HTMLMetaElement_GetTypeInfoCount, + HTMLMetaElement_GetTypeInfo, + HTMLMetaElement_GetIDsOfNames, + HTMLMetaElement_Invoke, + HTMLMetaElement_put_httpEquiv, + HTMLMetaElement_get_httpEquiv, + HTMLMetaElement_put_content, + HTMLMetaElement_get_content, + HTMLMetaElement_put_name, + HTMLMetaElement_get_name, + HTMLMetaElement_put_url, + HTMLMetaElement_get_url, + HTMLMetaElement_put_charset, + HTMLMetaElement_get_charset +}; + +static inline HTMLMetaElement *HTMLMetaElement_from_HTMLDOMNode(HTMLDOMNode *iface) +{ + return CONTAINING_RECORD(iface, HTMLMetaElement, element.node); +} + +static HRESULT HTMLMetaElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) +{ + HTMLMetaElement *This = HTMLMetaElement_from_HTMLDOMNode(iface); + + if(IsEqualGUID(&IID_IUnknown, riid)) { + TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); + *ppv = &This->IHTMLMetaElement_iface; + }else if(IsEqualGUID(&IID_IDispatch, riid)) { + TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv); + *ppv = &This->IHTMLMetaElement_iface; + }else if(IsEqualGUID(&IID_IHTMLMetaElement, riid)) { + TRACE("(%p)->(IID_IHTMLMetaElement %p)\n", This, ppv); + *ppv = &This->IHTMLMetaElement_iface; + }else { + return HTMLElement_QI(&This->element.node, riid, ppv); + } + + IUnknown_AddRef((IUnknown*)*ppv); + return S_OK; +} + +static void HTMLMetaElement_destructor(HTMLDOMNode *iface) +{ + HTMLMetaElement *This = HTMLMetaElement_from_HTMLDOMNode(iface); + + HTMLElement_destructor(&This->element.node); +} + +static const NodeImplVtbl HTMLMetaElementImplVtbl = { + &CLSID_HTMLMetaElement, + HTMLMetaElement_QI, + HTMLMetaElement_destructor, + HTMLElement_cpc, + HTMLElement_clone, + HTMLElement_handle_event, + HTMLElement_get_attr_col +}; + +static const tid_t HTMLMetaElement_iface_tids[] = { + HTMLELEMENT_TIDS, + IHTMLMetaElement_tid, + 0 +}; + +static dispex_static_data_t HTMLMetaElement_dispex = { + NULL, + DispHTMLMetaElement_tid, + HTMLMetaElement_iface_tids, + HTMLElement_init_dispex_info +}; + +HRESULT HTMLMetaElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) +{ + HTMLMetaElement *ret; + + ret = heap_alloc_zero(sizeof(*ret)); + if(!ret) + return E_OUTOFMEMORY; + + ret->IHTMLMetaElement_iface.lpVtbl = &HTMLMetaElementVtbl; + ret->element.node.vtbl = &HTMLMetaElementImplVtbl; + + HTMLElement_Init(&ret->element, doc, nselem, &HTMLMetaElement_dispex); + + *elem = &ret->element; + return S_OK; +} + struct HTMLHeadElement { HTMLElement element; diff --git a/dlls/mshtml/htmlmeta.c b/dlls/mshtml/htmlmeta.c deleted file mode 100644 index f405ba62baa..00000000000 --- a/dlls/mshtml/htmlmeta.c +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright 2012 Jacek Caban for CodeWeavers - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include - -#define COBJMACROS - -#include "windef.h" -#include "winbase.h" -#include "winuser.h" -#include "ole2.h" - -#include "wine/debug.h" - -#include "mshtml_private.h" - -WINE_DEFAULT_DEBUG_CHANNEL(mshtml); - -struct HTMLMetaElement { - HTMLElement element; - - IHTMLMetaElement IHTMLMetaElement_iface; -}; - -static inline HTMLMetaElement *impl_from_IHTMLMetaElement(IHTMLMetaElement *iface) -{ - return CONTAINING_RECORD(iface, HTMLMetaElement, IHTMLMetaElement_iface); -} - -static HRESULT WINAPI HTMLMetaElement_QueryInterface(IHTMLMetaElement *iface, REFIID riid, void **ppv) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - - return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv); -} - -static ULONG WINAPI HTMLMetaElement_AddRef(IHTMLMetaElement *iface) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - - return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface); -} - -static ULONG WINAPI HTMLMetaElement_Release(IHTMLMetaElement *iface) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - - return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface); -} - -static HRESULT WINAPI HTMLMetaElement_GetTypeInfoCount(IHTMLMetaElement *iface, UINT *pctinfo) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - return IDispatchEx_GetTypeInfoCount(&This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo); -} - -static HRESULT WINAPI HTMLMetaElement_GetTypeInfo(IHTMLMetaElement *iface, UINT iTInfo, - LCID lcid, ITypeInfo **ppTInfo) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - return IDispatchEx_GetTypeInfo(&This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid, - ppTInfo); -} - -static HRESULT WINAPI HTMLMetaElement_GetIDsOfNames(IHTMLMetaElement *iface, REFIID riid, - LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - return IDispatchEx_GetIDsOfNames(&This->element.node.event_target.dispex.IDispatchEx_iface, riid, rgszNames, - cNames, lcid, rgDispId); -} - -static HRESULT WINAPI HTMLMetaElement_Invoke(IHTMLMetaElement *iface, DISPID dispIdMember, REFIID riid, - LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, - UINT *puArgErr) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - return IDispatchEx_Invoke(&This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember, riid, - lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); -} - -static HRESULT WINAPI HTMLMetaElement_put_httpEquiv(IHTMLMetaElement *iface, BSTR v) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; -} - -static HRESULT WINAPI HTMLMetaElement_get_httpEquiv(IHTMLMetaElement *iface, BSTR *p) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - static const PRUnichar httpEquivW[] = {'h','t','t','p','-','e','q','u','i','v',0}; - - TRACE("(%p)->(%p)\n", This, p); - - return elem_string_attr_getter(&This->element, httpEquivW, TRUE, p); -} - -static HRESULT WINAPI HTMLMetaElement_put_content(IHTMLMetaElement *iface, BSTR v) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; -} - -static HRESULT WINAPI HTMLMetaElement_get_content(IHTMLMetaElement *iface, BSTR *p) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - static const PRUnichar contentW[] = {'c','o','n','t','e','n','t',0}; - - TRACE("(%p)->(%p)\n", This, p); - - return elem_string_attr_getter(&This->element, contentW, TRUE, p); -} - -static HRESULT WINAPI HTMLMetaElement_put_name(IHTMLMetaElement *iface, BSTR v) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; -} - -static HRESULT WINAPI HTMLMetaElement_get_name(IHTMLMetaElement *iface, BSTR *p) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - static const PRUnichar nameW[] = {'n','a','m','e',0}; - - TRACE("(%p)->(%p)\n", This, p); - - return elem_string_attr_getter(&This->element, nameW, TRUE, p); -} - -static HRESULT WINAPI HTMLMetaElement_put_url(IHTMLMetaElement *iface, BSTR v) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; -} - -static HRESULT WINAPI HTMLMetaElement_get_url(IHTMLMetaElement *iface, BSTR *p) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; -} - -static const WCHAR charsetW[] = {'c','h','a','r','s','e','t',0}; - -static HRESULT WINAPI HTMLMetaElement_put_charset(IHTMLMetaElement *iface, BSTR v) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - - TRACE("(%p)->(%s)\n", This, debugstr_w(v)); - - return elem_string_attr_setter(&This->element, charsetW, v); -} - -static HRESULT WINAPI HTMLMetaElement_get_charset(IHTMLMetaElement *iface, BSTR *p) -{ - HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface); - - TRACE("(%p)->(%p)\n", This, p); - - return elem_string_attr_getter(&This->element, charsetW, TRUE, p); -} - -static const IHTMLMetaElementVtbl HTMLMetaElementVtbl = { - HTMLMetaElement_QueryInterface, - HTMLMetaElement_AddRef, - HTMLMetaElement_Release, - HTMLMetaElement_GetTypeInfoCount, - HTMLMetaElement_GetTypeInfo, - HTMLMetaElement_GetIDsOfNames, - HTMLMetaElement_Invoke, - HTMLMetaElement_put_httpEquiv, - HTMLMetaElement_get_httpEquiv, - HTMLMetaElement_put_content, - HTMLMetaElement_get_content, - HTMLMetaElement_put_name, - HTMLMetaElement_get_name, - HTMLMetaElement_put_url, - HTMLMetaElement_get_url, - HTMLMetaElement_put_charset, - HTMLMetaElement_get_charset -}; - -static inline HTMLMetaElement *impl_from_HTMLDOMNode(HTMLDOMNode *iface) -{ - return CONTAINING_RECORD(iface, HTMLMetaElement, element.node); -} - -static HRESULT HTMLMetaElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) -{ - HTMLMetaElement *This = impl_from_HTMLDOMNode(iface); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); - *ppv = &This->IHTMLMetaElement_iface; - }else if(IsEqualGUID(&IID_IDispatch, riid)) { - TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv); - *ppv = &This->IHTMLMetaElement_iface; - }else if(IsEqualGUID(&IID_IHTMLMetaElement, riid)) { - TRACE("(%p)->(IID_IHTMLMetaElement %p)\n", This, ppv); - *ppv = &This->IHTMLMetaElement_iface; - }else { - return HTMLElement_QI(&This->element.node, riid, ppv); - } - - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; -} - -static void HTMLMetaElement_destructor(HTMLDOMNode *iface) -{ - HTMLMetaElement *This = impl_from_HTMLDOMNode(iface); - - HTMLElement_destructor(&This->element.node); -} - -static const NodeImplVtbl HTMLMetaElementImplVtbl = { - &CLSID_HTMLMetaElement, - HTMLMetaElement_QI, - HTMLMetaElement_destructor, - HTMLElement_cpc, - HTMLElement_clone, - HTMLElement_handle_event, - HTMLElement_get_attr_col -}; - -static const tid_t HTMLMetaElement_iface_tids[] = { - HTMLELEMENT_TIDS, - IHTMLMetaElement_tid, - 0 -}; - -static dispex_static_data_t HTMLMetaElement_dispex = { - NULL, - DispHTMLMetaElement_tid, - HTMLMetaElement_iface_tids, - HTMLElement_init_dispex_info -}; - -HRESULT HTMLMetaElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) -{ - HTMLMetaElement *ret; - - ret = heap_alloc_zero(sizeof(*ret)); - if(!ret) - return E_OUTOFMEMORY; - - ret->IHTMLMetaElement_iface.lpVtbl = &HTMLMetaElementVtbl; - ret->element.node.vtbl = &HTMLMetaElementImplVtbl; - - HTMLElement_Init(&ret->element, doc, nselem, &HTMLMetaElement_dispex); - - *elem = &ret->element; - return S_OK; -}