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
148a7d50
Commit
148a7d50
authored
Jun 18, 2008
by
Jacek Caban
Committed by
Alexandre Julliard
Jun 18, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added IHTMLElement::put_id implementation.
parent
4ee45b2e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
12 deletions
+47
-12
htmlelem.c
dlls/mshtml/htmlelem.c
+17
-2
dom.c
dlls/mshtml/tests/dom.c
+30
-10
No files found.
dlls/mshtml/htmlelem.c
View file @
148a7d50
...
...
@@ -290,8 +290,23 @@ static HRESULT WINAPI HTMLElement_get_className(IHTMLElement *iface, BSTR *p)
static
HRESULT
WINAPI
HTMLElement_put_id
(
IHTMLElement
*
iface
,
BSTR
v
)
{
HTMLElement
*
This
=
HTMLELEM_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
v
));
return
E_NOTIMPL
;
nsAString
id_str
;
nsresult
nsres
;
TRACE
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
v
));
if
(
!
This
->
nselem
)
{
FIXME
(
"nselem == NULL
\n
"
);
return
S_OK
;
}
nsAString_Init
(
&
id_str
,
v
);
nsres
=
nsIDOMHTMLElement_SetId
(
This
->
nselem
,
&
id_str
);
nsAString_Finish
(
&
id_str
);
if
(
NS_FAILED
(
nsres
))
ERR
(
"SetId failed: %08x
\n
"
,
nsres
);
return
S_OK
;
}
static
HRESULT
WINAPI
HTMLElement_get_id
(
IHTMLElement
*
iface
,
BSTR
*
p
)
...
...
dlls/mshtml/tests/dom.c
View file @
148a7d50
...
...
@@ -365,6 +365,17 @@ static void _test_disp(unsigned line, IUnknown *unk, const IID *diid)
IDispatchEx_Release
(
dispex
);
}
#define get_elem_iface(u) _get_elem_iface(__LINE__,u)
static
IHTMLElement
*
_get_elem_iface
(
unsigned
line
,
IUnknown
*
unk
)
{
IHTMLElement
*
elem
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLElement
,
(
void
**
)
&
elem
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"Coule not get IHTMLElement: %08x
\n
"
,
hres
);
return
elem
;
}
#define test_node_name(u,n) _test_node_name(__LINE__,u,n)
static
void
_test_node_name
(
unsigned
line
,
IUnknown
*
unk
,
const
char
*
exname
)
{
...
...
@@ -386,13 +397,10 @@ static void _test_node_name(unsigned line, IUnknown *unk, const char *exname)
#define test_elem_tag(u,n) _test_elem_tag(__LINE__,u,n)
static
void
_test_elem_tag
(
unsigned
line
,
IUnknown
*
unk
,
const
char
*
extag
)
{
IHTMLElement
*
elem
;
IHTMLElement
*
elem
=
_get_elem_iface
(
line
,
unk
)
;
BSTR
tag
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLElement
,
(
void
**
)
&
elem
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"QueryInterface(IID_IHTMLElement) failed: %08x
\n
"
,
hres
);
hres
=
IHTMLElement_get_tagName
(
elem
,
&
tag
);
IHTMLElement_Release
(
elem
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"get_tagName failed: %08x
\n
"
,
hres
);
...
...
@@ -869,13 +877,10 @@ static IHTMLDOMNode *_get_child_item(unsigned line, IHTMLDOMChildrenCollection *
#define test_elem_id(e,i) _test_elem_id(__LINE__,e,i)
static
void
_test_elem_id
(
unsigned
line
,
IUnknown
*
unk
,
const
char
*
exid
)
{
IHTMLElement
*
elem
;
IHTMLElement
*
elem
=
_get_elem_iface
(
line
,
unk
)
;
BSTR
id
=
(
void
*
)
0xdeadbeef
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLElement
,
(
void
**
)
&
elem
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"Coule not get IHTMLElement: %08x
\n
"
,
hres
);
hres
=
IHTMLElement_get_id
(
elem
,
&
id
);
IHTMLElement_Release
(
elem
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"get_id failed: %08x
\n
"
,
hres
);
...
...
@@ -888,6 +893,21 @@ static void _test_elem_id(unsigned line, IUnknown *unk, const char *exid)
SysFreeString
(
id
);
}
#define test_elem_put_id(u,i) _test_elem_put_id(__LINE__,u,i)
static
void
_test_elem_put_id
(
unsigned
line
,
IUnknown
*
unk
,
const
char
*
new_id
)
{
IHTMLElement
*
elem
=
_get_elem_iface
(
line
,
unk
);
BSTR
tmp
=
a2bstr
(
new_id
);
HRESULT
hres
;
hres
=
IHTMLElement_put_id
(
elem
,
tmp
);
IHTMLElement_Release
(
elem
);
SysFreeString
(
tmp
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"put_id failed: %08x
\n
"
,
hres
);
_test_elem_id
(
line
,
unk
,
new_id
);
}
static
void
test_elem_col_item
(
IHTMLElementCollection
*
col
,
LPCWSTR
n
,
const
elem_type_t
*
elem_types
,
long
len
)
{
...
...
@@ -976,9 +996,8 @@ static IHTMLElement *get_elem_by_id(IHTMLDocument2 *doc, LPCWSTR id, BOOL expect
if
(
!
disp
)
return
NULL
;
hres
=
IDispatch_QueryInterface
(
disp
,
&
IID_IHTMLElement
,
(
void
**
)
&
elem
);
elem
=
get_elem_iface
((
IUnknown
*
)
disp
);
IDispatch_Release
(
disp
);
ok
(
hres
==
S_OK
,
"Could not get IHTMLElement interface: %08x
\n
"
,
hres
);
return
elem
;
}
...
...
@@ -1651,6 +1670,7 @@ static void test_elems(IHTMLDocument2 *doc)
ok
(
hres
==
S_OK
,
"Could not get IHTMLInputElement: %08x
\n
"
,
hres
);
test_elem_id
((
IUnknown
*
)
elem
,
"in"
);
test_elem_put_id
((
IUnknown
*
)
elem
,
"newin"
);
test_input_get_disabled
(
input
,
VARIANT_FALSE
);
IHTMLInputElement_Release
(
input
);
...
...
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