mshtml: Add IDocumentRange stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0bcb2de66a
commit
2451f06bf6
|
@ -5159,6 +5159,85 @@ static const IDisplayServicesVtbl DisplayServicesVtbl = {
|
||||||
DisplayServices_HasFlowLayout
|
DisplayServices_HasFlowLayout
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IDocumentRange implementation
|
||||||
|
*/
|
||||||
|
static inline HTMLDocument *impl_from_IDocumentRange(IDocumentRange *iface)
|
||||||
|
{
|
||||||
|
return CONTAINING_RECORD(iface, HTMLDocument, IDocumentRange_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_QueryInterface(IDocumentRange *iface, REFIID riid, void **ppv)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return htmldoc_query_interface(This, riid, ppv);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI DocumentRange_AddRef(IDocumentRange *iface)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return htmldoc_addref(This);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI DocumentRange_Release(IDocumentRange *iface)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return htmldoc_release(This);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_GetTypeInfoCount(IDocumentRange *iface, UINT *pctinfo)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_GetTypeInfo(IDocumentRange *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_GetIDsOfNames(IDocumentRange *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames,
|
||||||
|
LCID lcid, DISPID *rgDispId)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
|
||||||
|
rgDispId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_Invoke(IDocumentRange *iface, DISPID dispIdMember, REFIID riid, LCID lcid,
|
||||||
|
WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
|
||||||
|
return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
|
||||||
|
pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DocumentRange_createRange(IDocumentRange *iface, IHTMLDOMRange **p)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = impl_from_IDocumentRange(iface);
|
||||||
|
FIXME("(%p)->(%p)\n", This, p);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const IDocumentRangeVtbl DocumentRangeVtbl = {
|
||||||
|
DocumentRange_QueryInterface,
|
||||||
|
DocumentRange_AddRef,
|
||||||
|
DocumentRange_Release,
|
||||||
|
DocumentRange_GetTypeInfoCount,
|
||||||
|
DocumentRange_GetTypeInfo,
|
||||||
|
DocumentRange_GetIDsOfNames,
|
||||||
|
DocumentRange_Invoke,
|
||||||
|
DocumentRange_createRange,
|
||||||
|
};
|
||||||
|
|
||||||
static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
|
static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
|
||||||
{
|
{
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
@ -5243,6 +5322,8 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
|
||||||
*ppv = &This->IMarkupContainer_iface;
|
*ppv = &This->IMarkupContainer_iface;
|
||||||
else if(IsEqualGUID(&IID_IDisplayServices, riid))
|
else if(IsEqualGUID(&IID_IDisplayServices, riid))
|
||||||
*ppv = &This->IDisplayServices_iface;
|
*ppv = &This->IDisplayServices_iface;
|
||||||
|
else if(IsEqualGUID(&IID_IDocumentRange, riid))
|
||||||
|
*ppv = &This->IDocumentRange_iface;
|
||||||
else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
|
else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
|
||||||
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppv);
|
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppv);
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
@ -5294,6 +5375,7 @@ static void init_doc(HTMLDocument *doc, IUnknown *outer, IDispatchEx *dispex)
|
||||||
doc->IMarkupServices_iface.lpVtbl = &MarkupServicesVtbl;
|
doc->IMarkupServices_iface.lpVtbl = &MarkupServicesVtbl;
|
||||||
doc->IMarkupContainer_iface.lpVtbl = &MarkupContainerVtbl;
|
doc->IMarkupContainer_iface.lpVtbl = &MarkupContainerVtbl;
|
||||||
doc->IDisplayServices_iface.lpVtbl = &DisplayServicesVtbl;
|
doc->IDisplayServices_iface.lpVtbl = &DisplayServicesVtbl;
|
||||||
|
doc->IDocumentRange_iface.lpVtbl = &DocumentRangeVtbl;
|
||||||
|
|
||||||
doc->outer_unk = outer;
|
doc->outer_unk = outer;
|
||||||
doc->dispex = dispex;
|
doc->dispex = dispex;
|
||||||
|
|
|
@ -144,6 +144,7 @@ typedef struct EventTarget EventTarget;
|
||||||
XIID(IDOMMouseEvent) \
|
XIID(IDOMMouseEvent) \
|
||||||
XIID(IDOMUIEvent) \
|
XIID(IDOMUIEvent) \
|
||||||
XIID(IDocumentEvent) \
|
XIID(IDocumentEvent) \
|
||||||
|
XIID(IDocumentRange) \
|
||||||
XIID(IDocumentSelector) \
|
XIID(IDocumentSelector) \
|
||||||
XIID(IElementSelector) \
|
XIID(IElementSelector) \
|
||||||
XIID(IElementTraversal) \
|
XIID(IElementTraversal) \
|
||||||
|
@ -626,6 +627,7 @@ struct HTMLDocument {
|
||||||
IMarkupServices IMarkupServices_iface;
|
IMarkupServices IMarkupServices_iface;
|
||||||
IMarkupContainer IMarkupContainer_iface;
|
IMarkupContainer IMarkupContainer_iface;
|
||||||
IDisplayServices IDisplayServices_iface;
|
IDisplayServices IDisplayServices_iface;
|
||||||
|
IDocumentRange IDocumentRange_iface;
|
||||||
|
|
||||||
IUnknown *outer_unk;
|
IUnknown *outer_unk;
|
||||||
IDispatchEx *dispex;
|
IDispatchEx *dispex;
|
||||||
|
|
|
@ -171,6 +171,7 @@ static const IID * const doc_node_iids[] = {
|
||||||
&IID_IHTMLDocument3,
|
&IID_IHTMLDocument3,
|
||||||
&IID_IHTMLDocument4,
|
&IID_IHTMLDocument4,
|
||||||
&IID_IHTMLDocument5,
|
&IID_IHTMLDocument5,
|
||||||
|
&IID_IDocumentRange,
|
||||||
&IID_IDocumentSelector,
|
&IID_IDocumentSelector,
|
||||||
&IID_IDispatchEx,
|
&IID_IDispatchEx,
|
||||||
&IID_IDisplayServices,
|
&IID_IDisplayServices,
|
||||||
|
@ -190,6 +191,7 @@ static const IID * const doc_obj_iids[] = {
|
||||||
&IID_IHTMLDocument3,
|
&IID_IHTMLDocument3,
|
||||||
&IID_IHTMLDocument4,
|
&IID_IHTMLDocument4,
|
||||||
&IID_IHTMLDocument5,
|
&IID_IHTMLDocument5,
|
||||||
|
&IID_IDocumentRange,
|
||||||
&IID_IDocumentSelector,
|
&IID_IDocumentSelector,
|
||||||
&IID_IDispatchEx,
|
&IID_IDispatchEx,
|
||||||
&IID_IDisplayServices,
|
&IID_IDisplayServices,
|
||||||
|
|
|
@ -4711,4 +4711,7 @@
|
||||||
#define DISPID_IDOCUMENTSELECTOR_QUERYSELECTOR DISPID_OMDOCUMENT+105
|
#define DISPID_IDOCUMENTSELECTOR_QUERYSELECTOR DISPID_OMDOCUMENT+105
|
||||||
#define DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL DISPID_OMDOCUMENT+106
|
#define DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL DISPID_OMDOCUMENT+106
|
||||||
|
|
||||||
|
/* IDocumentRange */
|
||||||
|
#define DISPID_IDOCUMENTRANGE_CREATERANGE DISPID_OMDOCUMENT+111
|
||||||
|
|
||||||
#endif /* __MSHTMDID_H__ */
|
#endif /* __MSHTMDID_H__ */
|
||||||
|
|
|
@ -23451,6 +23451,19 @@ interface IDocumentSelector : IDispatch
|
||||||
[out, retval] IHTMLDOMChildrenCollection **pel);
|
[out, retval] IHTMLDOMChildrenCollection **pel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
odl,
|
||||||
|
oleautomation,
|
||||||
|
dual,
|
||||||
|
uuid(305104af-98b5-11cf-bb82-00aa00bdce0b)
|
||||||
|
]
|
||||||
|
interface IDocumentRange : IDispatch
|
||||||
|
{
|
||||||
|
[id(DISPID_IDOCUMENTRANGE_CREATERANGE)]
|
||||||
|
HRESULT createRange(
|
||||||
|
[out, retval] IHTMLDOMRange **ppIHTMLDOMRange);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* DispHTMLDocument dispinterface
|
* DispHTMLDocument dispinterface
|
||||||
*/
|
*/
|
||||||
|
@ -24058,6 +24071,9 @@ methods:
|
||||||
|
|
||||||
[id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL)]
|
[id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL)]
|
||||||
IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v);
|
IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v);
|
||||||
|
|
||||||
|
[id(DISPID_IDOCUMENTRANGE_CREATERANGE)]
|
||||||
|
IHTMLDOMRange *createRange();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
Loading…
Reference in New Issue