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
6e796da7
Commit
6e796da7
authored
Nov 12, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Nov 12, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added IHTMLObjectElement::get_vspace implementation.
parent
c7e37fd6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
102 additions
and
3 deletions
+102
-3
htmlobject.c
dlls/mshtml/htmlobject.c
+24
-2
nsiface.idl
dlls/mshtml/nsiface.idl
+45
-0
dom.c
dlls/mshtml/tests/dom.c
+33
-1
No files found.
dlls/mshtml/htmlobject.c
View file @
6e796da7
...
...
@@ -36,6 +36,8 @@ typedef struct {
HTMLElement
element
;
const
IHTMLObjectElementVtbl
*
lpIHTMLObjectElementVtbl
;
nsIDOMHTMLObjectElement
*
nsobject
;
}
HTMLObjectElement
;
#define HTMLOBJECT(x) (&(x)->lpIHTMLObjectElementVtbl)
...
...
@@ -314,8 +316,19 @@ static HRESULT WINAPI HTMLObjectElement_put_vspace(IHTMLObjectElement *iface, LO
static
HRESULT
WINAPI
HTMLObjectElement_get_vspace
(
IHTMLObjectElement
*
iface
,
LONG
*
p
)
{
HTMLObjectElement
*
This
=
HTMLOBJECT_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
p
);
return
E_NOTIMPL
;
PRInt32
vspace
;
nsresult
nsres
;
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
p
);
nsres
=
nsIDOMHTMLObjectElement_GetVspace
(
This
->
nsobject
,
&
vspace
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"GetVspace failed: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
*
p
=
vspace
;
return
S_OK
;
}
static
HRESULT
WINAPI
HTMLObjectElement_put_hspace
(
IHTMLObjectElement
*
iface
,
LONG
v
)
...
...
@@ -405,6 +418,9 @@ static void HTMLObjectElement_destructor(HTMLDOMNode *iface)
{
HTMLObjectElement
*
This
=
HTMLOBJECT_NODE_THIS
(
iface
);
if
(
This
->
nsobject
)
nsIDOMHTMLObjectElement_Release
(
This
->
nsobject
);
HTMLElement_destructor
(
&
This
->
element
.
node
);
}
...
...
@@ -430,10 +446,16 @@ static dispex_static_data_t HTMLObjectElement_dispex = {
HTMLElement
*
HTMLObjectElement_Create
(
HTMLDocumentNode
*
doc
,
nsIDOMHTMLElement
*
nselem
)
{
HTMLObjectElement
*
ret
=
heap_alloc_zero
(
sizeof
(
*
ret
));
nsresult
nsres
;
ret
->
lpIHTMLObjectElementVtbl
=
&
HTMLObjectElementVtbl
;
ret
->
element
.
node
.
vtbl
=
&
HTMLObjectElementImplVtbl
;
HTMLElement_Init
(
&
ret
->
element
,
doc
,
nselem
,
&
HTMLObjectElement_dispex
);
nsres
=
nsIDOMHTMLElement_QueryInterface
(
nselem
,
&
IID_nsIDOMHTMLObjectElement
,
(
void
**
)
&
ret
->
nsobject
);
if
(
NS_FAILED
(
nsres
))
ERR
(
"Could not get nsIDOMHTMLObjectElement iface: %08x
\n
"
,
nsres
);
return
&
ret
->
element
;
}
dlls/mshtml/nsiface.idl
View file @
6e796da7
...
...
@@ -1640,6 +1640,51 @@ interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement
[
object,
uuid(a6cf90ac-15b3-11d2-932e-00805f8add32),
local
]
interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
{
nsresult GetForm(nsIDOMHTMLFormElement **aForm);
nsresult GetCode(nsAString *aCode);
nsresult SetCode(const nsAString *aCode);
nsresult GetAlign(nsAString *aAlign);
nsresult SetAlign(const nsAString *aAlign);
nsresult GetArchive(nsAString *aArchive);
nsresult SetArchive(const nsAString *aArchive);
nsresult GetBorder(nsAString *aBorder);
nsresult SetBorder(const nsAString *aBorder);
nsresult GetCodeBase(nsAString *aCodeBase);
nsresult SetCodeBase(const nsAString *aCodeBase);
nsresult GetCodeType(nsAString *aCodeType);
nsresult SetCodeType(const nsAString *aCodeType);
nsresult GetData(nsAString *aData);
nsresult SetData(const nsAString *aData);
nsresult GetDeclare(PRBool *aDeclare);
nsresult SetDeclare(PRBool aDeclare);
nsresult GetHeight(nsAString *aHeight);
nsresult SetHeight(const nsAString *aHeight);
nsresult GetHspace(PRInt32 *aHspace);
nsresult SetHspace(PRInt32 aHspace);
nsresult GetName(nsAString *aName);
nsresult SetName(const nsAString *aName);
nsresult GetStandby(nsAString *aStandby);
nsresult SetStandby(const nsAString *aStandby);
nsresult GetTabIndex(PRInt32 *aTabIndex);
nsresult SetTabIndex(PRInt32 aTabIndex);
nsresult GetType(nsAString *aType);
nsresult SetType(const nsAString *aType);
nsresult GetUseMap(nsAString *aUseMap);
nsresult SetUseMap(const nsAString *aUseMap);
nsresult GetVspace(PRInt32 *aVspace);
nsresult SetVspace(PRInt32 aVspace);
nsresult GetWidth(nsAString *aWidth);
nsresult SetWidth(const nsAString *aWidth);
nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
}
[
object,
uuid(94928ab3-8b63-11d3-989d-001083010e9b),
local
]
...
...
dlls/mshtml/tests/dom.c
View file @
6e796da7
...
...
@@ -48,7 +48,7 @@ static const char elem_test_str[] =
"<textarea id=
\"
X
\"
>text text</textarea>"
"<table id=
\"
tbl
\"
><tbody><tr></tr><tr id=
\"
row2
\"
><td>td1 text</td><td>td2 text</td></tr></tbody></table>"
"<script id=
\"
sc
\"
type=
\"
text/javascript
\"
><!--
\n
function Testing() {}
\n
// -->
\n
</script>"
"<test /><object></object><embed />"
"<test /><object
id=
\"
objid
\"
vspace=100
></object><embed />"
"<img id=
\"
imgid
\"
name=
\"
WineImg
\"
/>"
"<iframe src=
\"
about:blank
\"
id=
\"
ifr
\"
></iframe>"
"<form id=
\"
frm
\"
></form>"
...
...
@@ -756,6 +756,17 @@ static IHTMLCommentElement *_get_comment_iface(unsigned line, IUnknown *unk)
return
comment
;
}
#define get_object_iface(u) _get_object_iface(__LINE__,u)
static
IHTMLObjectElement
*
_get_object_iface
(
unsigned
line
,
IUnknown
*
unk
)
{
IHTMLObjectElement
*
obj
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLObjectElement
,
(
void
**
)
&
obj
);
ok_
(
__FILE__
,
line
)
(
hres
==
S_OK
,
"Could not get IHTMLObjectElement: %08x
\n
"
,
hres
);
return
obj
;
}
#define test_node_name(u,n) _test_node_name(__LINE__,u,n)
static
void
_test_node_name
(
unsigned
line
,
IUnknown
*
unk
,
const
char
*
exname
)
{
...
...
@@ -1284,6 +1295,20 @@ static void _test_comment_text(unsigned line, IUnknown *unk, const char *extext)
SysFreeString
(
text
);
}
#define test_object_vspace(u,s) _test_object_vspace(__LINE__,u,s)
static
void
_test_object_vspace
(
unsigned
line
,
IUnknown
*
unk
,
LONG
exl
)
{
IHTMLObjectElement
*
object
=
_get_object_iface
(
line
,
unk
);
LONG
l
;
HRESULT
hres
;
l
=
0xdeadbeef
;
hres
=
IHTMLObjectElement_get_vspace
(
object
,
&
l
);
ok_
(
__FILE__
,
line
)(
hres
==
S_OK
,
"get_vspace failed: %08x
\n
"
,
hres
);
ok_
(
__FILE__
,
line
)(
l
==
exl
,
"vspace=%d, expected %d
\n
"
,
l
,
exl
);
IHTMLObjectElement_Release
(
object
);
}
#define create_option_elem(d,t,v) _create_option_elem(__LINE__,d,t,v)
static
IHTMLOptionElement
*
_create_option_elem
(
unsigned
line
,
IHTMLDocument2
*
doc
,
const
char
*
txt
,
const
char
*
val
)
...
...
@@ -6224,6 +6249,13 @@ static void test_elems(IHTMLDocument2 *doc)
IHTMLElement_Release
(
elem
);
}
elem
=
get_doc_elem_by_id
(
doc
,
"objid"
);
ok
(
elem
!=
NULL
,
"elem == NULL
\n
"
);
if
(
elem
)
{
test_object_vspace
((
IUnknown
*
)
elem
,
100
);
IHTMLElement_Release
(
elem
);
}
elem
=
get_elem_by_id
(
doc
,
"a"
,
TRUE
);
if
(
elem
)
{
test_anchor_href
((
IUnknown
*
)
elem
,
"http://test/"
);
...
...
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