Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
25845c70
Commit
25845c70
authored
Mar 09, 2015
by
Jacek Caban
Committed by
Alexandre Julliard
Mar 10, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added IHTMLDOMAttribute2 stub implementation.
parent
11b42000
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
227 additions
and
0 deletions
+227
-0
htmlattr.c
dlls/mshtml/htmlattr.c
+224
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+2
-0
dom.c
dlls/mshtml/tests/dom.c
+1
-0
No files found.
dlls/mshtml/htmlattr.c
View file @
25845c70
...
...
@@ -49,6 +49,8 @@ static HRESULT WINAPI HTMLDOMAttribute_QueryInterface(IHTMLDOMAttribute *iface,
*
ppv
=
&
This
->
IHTMLDOMAttribute_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IHTMLDOMAttribute
,
riid
))
{
*
ppv
=
&
This
->
IHTMLDOMAttribute_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IHTMLDOMAttribute2
,
riid
))
{
*
ppv
=
&
This
->
IHTMLDOMAttribute2_iface
;
}
else
if
(
dispex_query_interface
(
&
This
->
dispex
,
riid
,
ppv
))
{
return
*
ppv
?
S_OK
:
E_NOINTERFACE
;
}
else
{
...
...
@@ -235,8 +237,229 @@ static const IHTMLDOMAttributeVtbl HTMLDOMAttributeVtbl = {
HTMLDOMAttribute_get_specified
};
static
inline
HTMLDOMAttribute
*
impl_from_IHTMLDOMAttribute2
(
IHTMLDOMAttribute2
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
HTMLDOMAttribute
,
IHTMLDOMAttribute2_iface
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_QueryInterface
(
IHTMLDOMAttribute2
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IHTMLDOMAttribute_QueryInterface
(
&
This
->
IHTMLDOMAttribute_iface
,
riid
,
ppv
);
}
static
ULONG
WINAPI
HTMLDOMAttribute2_AddRef
(
IHTMLDOMAttribute2
*
iface
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IHTMLDOMAttribute_AddRef
(
&
This
->
IHTMLDOMAttribute_iface
);
}
static
ULONG
WINAPI
HTMLDOMAttribute2_Release
(
IHTMLDOMAttribute2
*
iface
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IHTMLDOMAttribute_Release
(
&
This
->
IHTMLDOMAttribute_iface
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_GetTypeInfoCount
(
IHTMLDOMAttribute2
*
iface
,
UINT
*
pctinfo
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IDispatchEx_GetTypeInfoCount
(
&
This
->
dispex
.
IDispatchEx_iface
,
pctinfo
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_GetTypeInfo
(
IHTMLDOMAttribute2
*
iface
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IDispatchEx_GetTypeInfo
(
&
This
->
dispex
.
IDispatchEx_iface
,
iTInfo
,
lcid
,
ppTInfo
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_GetIDsOfNames
(
IHTMLDOMAttribute2
*
iface
,
REFIID
riid
,
LPOLESTR
*
rgszNames
,
UINT
cNames
,
LCID
lcid
,
DISPID
*
rgDispId
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IDispatchEx_GetIDsOfNames
(
&
This
->
dispex
.
IDispatchEx_iface
,
riid
,
rgszNames
,
cNames
,
lcid
,
rgDispId
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_Invoke
(
IHTMLDOMAttribute2
*
iface
,
DISPID
dispIdMember
,
REFIID
riid
,
LCID
lcid
,
WORD
wFlags
,
DISPPARAMS
*
pDispParams
,
VARIANT
*
pVarResult
,
EXCEPINFO
*
pExcepInfo
,
UINT
*
puArgErr
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
return
IDispatchEx_Invoke
(
&
This
->
dispex
.
IDispatchEx_iface
,
dispIdMember
,
riid
,
lcid
,
wFlags
,
pDispParams
,
pVarResult
,
pExcepInfo
,
puArgErr
);
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_name
(
IHTMLDOMAttribute2
*
iface
,
BSTR
*
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_put_value
(
IHTMLDOMAttribute2
*
iface
,
BSTR
v
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
v
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_value
(
IHTMLDOMAttribute2
*
iface
,
BSTR
*
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_expando
(
IHTMLDOMAttribute2
*
iface
,
VARIANT_BOOL
*
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_nodeType
(
IHTMLDOMAttribute2
*
iface
,
LONG
*
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_parentNode
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_childNodes
(
IHTMLDOMAttribute2
*
iface
,
IDispatch
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_firstChild
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_lastChild
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_previousSibling
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_nextSibling
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_attributes
(
IHTMLDOMAttribute2
*
iface
,
IDispatch
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_get_ownerDocument
(
IHTMLDOMAttribute2
*
iface
,
IDispatch
**
p
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_insertBefore
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
*
newChild
,
VARIANT
refChild
,
IHTMLDOMNode
**
node
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p %s %p)
\n
"
,
This
,
newChild
,
debugstr_variant
(
&
refChild
),
node
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_replaceChild
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
*
newChild
,
IHTMLDOMNode
*
oldChild
,
IHTMLDOMNode
**
node
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p %p %p)
\n
"
,
This
,
newChild
,
oldChild
,
node
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_removeChild
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
*
oldChild
,
IHTMLDOMNode
**
node
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
oldChild
,
node
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_appendChild
(
IHTMLDOMAttribute2
*
iface
,
IHTMLDOMNode
*
newChild
,
IHTMLDOMNode
**
node
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
newChild
,
node
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_hasChildNodes
(
IHTMLDOMAttribute2
*
iface
,
VARIANT_BOOL
*
fChildren
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
fChildren
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLDOMAttribute2_cloneNode
(
IHTMLDOMAttribute2
*
iface
,
VARIANT_BOOL
fDeep
,
IHTMLDOMAttribute
**
clonedNode
)
{
HTMLDOMAttribute
*
This
=
impl_from_IHTMLDOMAttribute2
(
iface
);
FIXME
(
"(%p)->(%x %p)
\n
"
,
This
,
fDeep
,
clonedNode
);
return
E_NOTIMPL
;
}
static
const
IHTMLDOMAttribute2Vtbl
HTMLDOMAttribute2Vtbl
=
{
HTMLDOMAttribute2_QueryInterface
,
HTMLDOMAttribute2_AddRef
,
HTMLDOMAttribute2_Release
,
HTMLDOMAttribute2_GetTypeInfoCount
,
HTMLDOMAttribute2_GetTypeInfo
,
HTMLDOMAttribute2_GetIDsOfNames
,
HTMLDOMAttribute2_Invoke
,
HTMLDOMAttribute2_get_name
,
HTMLDOMAttribute2_put_value
,
HTMLDOMAttribute2_get_value
,
HTMLDOMAttribute2_get_expando
,
HTMLDOMAttribute2_get_nodeType
,
HTMLDOMAttribute2_get_parentNode
,
HTMLDOMAttribute2_get_childNodes
,
HTMLDOMAttribute2_get_firstChild
,
HTMLDOMAttribute2_get_lastChild
,
HTMLDOMAttribute2_get_previousSibling
,
HTMLDOMAttribute2_get_nextSibling
,
HTMLDOMAttribute2_get_attributes
,
HTMLDOMAttribute2_get_ownerDocument
,
HTMLDOMAttribute2_insertBefore
,
HTMLDOMAttribute2_replaceChild
,
HTMLDOMAttribute2_removeChild
,
HTMLDOMAttribute2_appendChild
,
HTMLDOMAttribute2_hasChildNodes
,
HTMLDOMAttribute2_cloneNode
};
static
const
tid_t
HTMLDOMAttribute_iface_tids
[]
=
{
IHTMLDOMAttribute_tid
,
IHTMLDOMAttribute2_tid
,
0
};
static
dispex_static_data_t
HTMLDOMAttribute_dispex
=
{
...
...
@@ -257,6 +480,7 @@ HRESULT HTMLDOMAttribute_Create(const WCHAR *name, HTMLElement *elem, DISPID dis
return
E_OUTOFMEMORY
;
ret
->
IHTMLDOMAttribute_iface
.
lpVtbl
=
&
HTMLDOMAttributeVtbl
;
ret
->
IHTMLDOMAttribute2_iface
.
lpVtbl
=
&
HTMLDOMAttribute2Vtbl
;
ret
->
ref
=
1
;
ret
->
dispid
=
dispid
;
ret
->
elem
=
elem
;
...
...
dlls/mshtml/mshtml_private.h
View file @
25845c70
...
...
@@ -135,6 +135,7 @@ typedef struct event_target_t event_target_t;
XIID(IHTMLDocument4) \
XIID(IHTMLDocument5) \
XIID(IHTMLDOMAttribute) \
XIID(IHTMLDOMAttribute2) \
XIID(IHTMLDOMChildrenCollection) \
XIID(IHTMLDOMImplementation) \
XIID(IHTMLDOMNode) \
...
...
@@ -902,6 +903,7 @@ struct HTMLAttributeCollection {
typedef
struct
{
DispatchEx
dispex
;
IHTMLDOMAttribute
IHTMLDOMAttribute_iface
;
IHTMLDOMAttribute2
IHTMLDOMAttribute2_iface
;
LONG
ref
;
...
...
dlls/mshtml/tests/dom.c
View file @
25845c70
...
...
@@ -270,6 +270,7 @@ static const IID * const text_iids[] = {
static
const
IID
*
const
attr_iids
[]
=
{
&
IID_IHTMLDOMAttribute
,
&
IID_IHTMLDOMAttribute2
,
&
IID_IDispatchEx
,
NULL
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment