Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wine
wine
Commits
107f318e
Commit
107f318e
authored
Jul 27, 2022
by
Gabriel Ivăncescu
Committed by
Alexandre Julliard
Jul 27, 2022
Browse files
mshtml: Implement previousElementSibling for Elements.
Signed-off-by:
Gabriel Ivăncescu
<
gabrielopcode@gmail.com
>
parent
67f182bf
Changes
2
Hide whitespace changes
Inline
Side-by-side
dlls/mshtml/htmlelem.c
View file @
107f318e
...
...
@@ -6553,8 +6553,30 @@ static HRESULT WINAPI ElementTraversal_get_lastElementChild(IElementTraversal *i
static
HRESULT
WINAPI
ElementTraversal_get_previousElementSibling
(
IElementTraversal
*
iface
,
IHTMLElement
**
p
)
{
HTMLElement
*
This
=
impl_from_IElementTraversal
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
nsIDOMElement
*
nselem
=
NULL
;
HTMLElement
*
elem
;
HRESULT
hres
;
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
p
);
if
(
!
This
->
dom_element
)
{
*
p
=
NULL
;
return
S_OK
;
}
nsIDOMElement_GetPreviousElementSibling
(
This
->
dom_element
,
&
nselem
);
if
(
!
nselem
)
{
*
p
=
NULL
;
return
S_OK
;
}
hres
=
get_element
(
nselem
,
&
elem
);
nsIDOMElement_Release
(
nselem
);
if
(
FAILED
(
hres
))
return
hres
;
*
p
=
&
elem
->
IHTMLElement_iface
;
return
S_OK
;
}
static
HRESULT
WINAPI
ElementTraversal_get_nextElementSibling
(
IElementTraversal
*
iface
,
IHTMLElement
**
p
)
...
...
dlls/mshtml/tests/dom.js
View file @
107f318e
...
...
@@ -98,6 +98,10 @@ sync_test("ElementTraversal", function() {
"
div.firstElementChild.nextElementSibling.outerHTML =
"
+
div
.
firstElementChild
.
nextElementSibling
.
outerHTML
);
ok
(
div
.
lastElementChild
.
nextElementSibling
===
null
,
"
div.lastElementChild.nextElementSibling =
"
+
div
.
lastElementChild
.
nextElementSibling
);
ok
(
div
.
lastElementChild
.
previousElementSibling
.
outerHTML
===
"
<script>/* */</script>
"
,
"
div.lastElementChild.previousElementSibling.outerHTML =
"
+
div
.
lastElementChild
.
previousElementSibling
.
outerHTML
);
ok
(
div
.
firstElementChild
.
previousElementSibling
===
null
,
"
div.firstElementChild.previousElementSibling =
"
+
div
.
firstElementChild
.
previousElementSibling
);
div
.
innerHTML
=
"
abc
"
;
ok
(
div
.
firstElementChild
===
null
,
"
div.firstElementChild =
"
+
div
.
firstElementChild
);
...
...
Write
Preview
Supports
Markdown
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