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
877069c2
Commit
877069c2
authored
Feb 24, 2011
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 24, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added IHTMLElement4 stub implementation.
parent
35a39e3c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
195 additions
and
120 deletions
+195
-120
htmlelem.c
dlls/mshtml/htmlelem.c
+3
-0
htmlelem3.c
dlls/mshtml/htmlelem3.c
+162
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
dom.c
dlls/mshtml/tests/dom.c
+29
-120
No files found.
dlls/mshtml/htmlelem.c
View file @
877069c2
...
...
@@ -1620,6 +1620,9 @@ HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
}
else
if
(
IsEqualGUID
(
&
IID_IHTMLElement3
,
riid
))
{
TRACE
(
"(%p)->(IID_IHTMLElement3 %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IHTMLElement3_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IHTMLElement4
,
riid
))
{
TRACE
(
"(%p)->(IID_IHTMLElement4 %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IHTMLElement4_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IConnectionPointContainer
,
riid
))
{
TRACE
(
"(%p)->(IID_IConnectionPointContainer %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
cp_container
.
IConnectionPointContainer_iface
;
...
...
dlls/mshtml/htmlelem3.c
View file @
877069c2
...
...
@@ -483,7 +483,169 @@ static const IHTMLElement3Vtbl HTMLElement3Vtbl = {
HTMLElement3_get_glyphMode
};
static
inline
HTMLElement
*
impl_from_IHTMLElement4
(
IHTMLElement4
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
HTMLElement
,
IHTMLElement4_iface
);
}
static
HRESULT
WINAPI
HTMLElement4_QueryInterface
(
IHTMLElement4
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IHTMLElement_QueryInterface
(
&
This
->
IHTMLElement_iface
,
riid
,
ppv
);
}
static
ULONG
WINAPI
HTMLElement4_AddRef
(
IHTMLElement4
*
iface
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IHTMLElement_AddRef
(
&
This
->
IHTMLElement_iface
);
}
static
ULONG
WINAPI
HTMLElement4_Release
(
IHTMLElement4
*
iface
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IHTMLElement_Release
(
&
This
->
IHTMLElement_iface
);
}
static
HRESULT
WINAPI
HTMLElement4_GetTypeInfoCount
(
IHTMLElement4
*
iface
,
UINT
*
pctinfo
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IDispatchEx_GetTypeInfoCount
(
&
This
->
node
.
dispex
.
IDispatchEx_iface
,
pctinfo
);
}
static
HRESULT
WINAPI
HTMLElement4_GetTypeInfo
(
IHTMLElement4
*
iface
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IDispatchEx_GetTypeInfo
(
&
This
->
node
.
dispex
.
IDispatchEx_iface
,
iTInfo
,
lcid
,
ppTInfo
);
}
static
HRESULT
WINAPI
HTMLElement4_GetIDsOfNames
(
IHTMLElement4
*
iface
,
REFIID
riid
,
LPOLESTR
*
rgszNames
,
UINT
cNames
,
LCID
lcid
,
DISPID
*
rgDispId
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IDispatchEx_GetIDsOfNames
(
&
This
->
node
.
dispex
.
IDispatchEx_iface
,
riid
,
rgszNames
,
cNames
,
lcid
,
rgDispId
);
}
static
HRESULT
WINAPI
HTMLElement4_Invoke
(
IHTMLElement4
*
iface
,
DISPID
dispIdMember
,
REFIID
riid
,
LCID
lcid
,
WORD
wFlags
,
DISPPARAMS
*
pDispParams
,
VARIANT
*
pVarResult
,
EXCEPINFO
*
pExcepInfo
,
UINT
*
puArgErr
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
return
IDispatchEx_Invoke
(
&
This
->
node
.
dispex
.
IDispatchEx_iface
,
dispIdMember
,
riid
,
lcid
,
wFlags
,
pDispParams
,
pVarResult
,
pExcepInfo
,
puArgErr
);
}
static
HRESULT
WINAPI
HTMLElement4_put_onmousewheel
(
IHTMLElement4
*
iface
,
VARIANT
v
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_variant
(
&
v
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_get_onmousewheel
(
IHTMLElement4
*
iface
,
VARIANT
*
p
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_normalize
(
IHTMLElement4
*
iface
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_getAttributeNode
(
IHTMLElement4
*
iface
,
BSTR
bstrname
,
IHTMLDOMAttribute
**
ppAttribute
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_w
(
bstrname
),
ppAttribute
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_setAttributeNode
(
IHTMLElement4
*
iface
,
IHTMLDOMAttribute
*
pattr
,
IHTMLDOMAttribute
**
ppretAttribute
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pattr
,
ppretAttribute
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_removeAttributeNode
(
IHTMLElement4
*
iface
,
IHTMLDOMAttribute
*
pattr
,
IHTMLDOMAttribute
**
ppretAttribute
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pattr
,
ppretAttribute
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_put_onbeforeactivate
(
IHTMLElement4
*
iface
,
VARIANT
v
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_variant
(
&
v
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_get_onbeforeactivate
(
IHTMLElement4
*
iface
,
VARIANT
*
p
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_put_onfocusin
(
IHTMLElement4
*
iface
,
VARIANT
v
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_variant
(
&
v
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_get_onfocusin
(
IHTMLElement4
*
iface
,
VARIANT
*
p
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_put_onfocusout
(
IHTMLElement4
*
iface
,
VARIANT
v
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_variant
(
&
v
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
HTMLElement4_get_onfocusout
(
IHTMLElement4
*
iface
,
VARIANT
*
p
)
{
HTMLElement
*
This
=
impl_from_IHTMLElement4
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
}
static
const
IHTMLElement4Vtbl
HTMLElement4Vtbl
=
{
HTMLElement4_QueryInterface
,
HTMLElement4_AddRef
,
HTMLElement4_Release
,
HTMLElement4_GetTypeInfoCount
,
HTMLElement4_GetTypeInfo
,
HTMLElement4_GetIDsOfNames
,
HTMLElement4_Invoke
,
HTMLElement4_put_onmousewheel
,
HTMLElement4_get_onmousewheel
,
HTMLElement4_normalize
,
HTMLElement4_getAttributeNode
,
HTMLElement4_setAttributeNode
,
HTMLElement4_removeAttributeNode
,
HTMLElement4_put_onbeforeactivate
,
HTMLElement4_get_onbeforeactivate
,
HTMLElement4_put_onfocusin
,
HTMLElement4_get_onfocusin
,
HTMLElement4_put_onfocusout
,
HTMLElement4_get_onfocusout
};
void
HTMLElement3_Init
(
HTMLElement
*
This
)
{
This
->
IHTMLElement3_iface
.
lpVtbl
=
&
HTMLElement3Vtbl
;
This
->
IHTMLElement4_iface
.
lpVtbl
=
&
HTMLElement4Vtbl
;
}
dlls/mshtml/mshtml_private.h
View file @
877069c2
...
...
@@ -554,6 +554,7 @@ typedef struct {
IHTMLElement
IHTMLElement_iface
;
IHTMLElement2
IHTMLElement2_iface
;
IHTMLElement3
IHTMLElement3_iface
;
IHTMLElement4
IHTMLElement4_iface
;
nsIDOMHTMLElement
*
nselem
;
}
HTMLElement
;
...
...
dlls/mshtml/tests/dom.c
View file @
877069c2
...
...
@@ -145,111 +145,75 @@ static const IID * const doc_obj_iids[] = {
NULL
};
#define ELEM_IFACES \
&IID_IHTMLDOMNode, \
&IID_IHTMLDOMNode2, \
&IID_IHTMLElement, \
&IID_IHTMLElement2, \
&IID_IHTMLElement3, \
&IID_IHTMLElement4, \
&IID_IDispatchEx
static
const
IID
*
const
elem_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
&
IID_IDispatchEx
,
ELEM_IFACES
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
body_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLTextContainer
,
&
IID_IHTMLBodyElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
anchor_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLAnchorElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
input_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLInputElement
,
&
IID_IHTMLInputTextElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
select_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLSelectElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
textarea_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLTextAreaElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
option_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLOptionElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
table_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLTable
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
script_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLScriptElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
...
...
@@ -277,135 +241,80 @@ static const IID * const window_iids[] = {
};
static
const
IID
*
const
comment_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLCommentElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
img_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
&
IID_IDispatchEx
,
ELEM_IFACES
,
&
IID_IHTMLImgElement
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
tr_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
&
IID_IDispatchEx
,
ELEM_IFACES
,
&
IID_IHTMLTableRow
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
td_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
&
IID_IDispatchEx
,
ELEM_IFACES
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
frame_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLFrameBase
,
&
IID_IHTMLFrameBase2
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
object_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLObjectElement
,
&
IID_IDispatchEx
,
/* FIXME: No IConnectionPointContainer */
NULL
};
static
const
IID
*
const
embed_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLEmbedElement
,
&
IID_IDispatchEx
,
/* FIXME: No IConnectionPointContainer */
NULL
};
static
const
IID
*
const
iframe_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLFrameBase
,
&
IID_IHTMLFrameBase2
,
&
IID_IHTMLIFrameElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
form_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLFormElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
styleelem_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLStyleElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
NULL
};
static
const
IID
*
const
generic_iids
[]
=
{
&
IID_IHTMLDOMNode
,
&
IID_IHTMLDOMNode2
,
&
IID_IHTMLElement
,
&
IID_IHTMLElement2
,
&
IID_IHTMLElement3
,
ELEM_IFACES
,
&
IID_IHTMLGenericElement
,
&
IID_IDispatchEx
,
&
IID_IConnectionPointContainer
,
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