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
c3c55c7f
Commit
c3c55c7f
authored
Sep 01, 2022
by
Gabriel Ivăncescu
Committed by
Alexandre Julliard
Sep 01, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Implement GetMemberName for custom props.
Signed-off-by:
Gabriel Ivăncescu
<
gabrielopcode@gmail.com
>
parent
3ea5a319
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
249 additions
and
0 deletions
+249
-0
dispex.c
dlls/mshtml/dispex.c
+6
-0
htmlanchor.c
dlls/mshtml/htmlanchor.c
+1
-0
htmlbody.c
dlls/mshtml/htmlbody.c
+1
-0
htmldoc.c
dlls/mshtml/htmldoc.c
+13
-0
htmlelem.c
dlls/mshtml/htmlelem.c
+49
-0
htmlelemcol.c
dlls/mshtml/htmlelemcol.c
+15
-0
htmlform.c
dlls/mshtml/htmlform.c
+26
-0
htmlframe.c
dlls/mshtml/htmlframe.c
+28
-0
htmlhead.c
dlls/mshtml/htmlhead.c
+1
-0
htmlimg.c
dlls/mshtml/htmlimg.c
+1
-0
htmlinput.c
dlls/mshtml/htmlinput.c
+2
-0
htmllink.c
dlls/mshtml/htmllink.c
+1
-0
htmlnode.c
dlls/mshtml/htmlnode.c
+16
-0
htmlobject.c
dlls/mshtml/htmlobject.c
+10
-0
htmlscript.c
dlls/mshtml/htmlscript.c
+1
-0
htmlselect.c
dlls/mshtml/htmlselect.c
+15
-0
htmlstorage.c
dlls/mshtml/htmlstorage.c
+12
-0
htmlstyleelem.c
dlls/mshtml/htmlstyleelem.c
+1
-0
htmlstylesheet.c
dlls/mshtml/htmlstylesheet.c
+32
-0
htmltable.c
dlls/mshtml/htmltable.c
+3
-0
htmltextarea.c
dlls/mshtml/htmltextarea.c
+1
-0
htmlwindow.c
dlls/mshtml/htmlwindow.c
+12
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+2
-0
No files found.
dlls/mshtml/dispex.c
View file @
c3c55c7f
...
...
@@ -1825,6 +1825,12 @@ static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BS
if
(
!
ensure_real_info
(
This
))
return
E_OUTOFMEMORY
;
if
(
is_custom_dispid
(
id
))
{
if
(
This
->
info
->
desc
->
vtbl
&&
This
->
info
->
desc
->
vtbl
->
get_name
)
return
This
->
info
->
desc
->
vtbl
->
get_name
(
This
,
id
,
pbstrName
);
return
DISP_E_MEMBERNOTFOUND
;
}
if
(
is_dynamic_dispid
(
id
))
{
DWORD
idx
=
id
-
DISPID_DYNPROP_0
;
...
...
dlls/mshtml/htmlanchor.c
View file @
c3c55c7f
...
...
@@ -889,6 +889,7 @@ static const NodeImplVtbl HTMLAnchorElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLAnchorElement_traverse
,
HTMLAnchorElement_unlink
};
...
...
dlls/mshtml/htmlbody.c
View file @
c3c55c7f
...
...
@@ -993,6 +993,7 @@ static const NodeImplVtbl HTMLBodyElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLBodyElement_traverse
,
HTMLBodyElement_unlink
,
HTMLBodyElement_is_text_edit
,
...
...
dlls/mshtml/htmldoc.c
View file @
c3c55c7f
...
...
@@ -5800,6 +5800,7 @@ static const NodeImplVtbl HTMLDocumentNodeImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLDocumentNode_traverse
,
HTMLDocumentNode_unlink
};
...
...
@@ -5823,6 +5824,17 @@ static inline HTMLDocumentNode *impl_from_DispatchEx(DispatchEx *iface)
return
CONTAINING_RECORD
(
iface
,
HTMLDocumentNode
,
node
.
event_target
.
dispex
);
}
static
HRESULT
HTMLDocumentNode_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLDocumentNode
*
This
=
impl_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
if
(
!
This
->
nsdoc
||
idx
>=
This
->
elem_vars_cnt
)
return
DISP_E_MEMBERNOTFOUND
;
return
(
*
name
=
SysAllocString
(
This
->
elem_vars
[
idx
]))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLDocumentNode_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -5920,6 +5932,7 @@ static const event_target_vtbl_t HTMLDocumentNode_event_target_vtbl = {
{
NULL
,
NULL
,
HTMLDocumentNode_get_name
,
HTMLDocumentNode_invoke
,
NULL
,
HTMLDocumentNode_get_compat_mode
,
...
...
dlls/mshtml/htmlelem.c
View file @
c3c55c7f
...
...
@@ -1107,6 +1107,21 @@ static HRESULT HTMLRectCollection_get_dispid(DispatchEx *dispex, BSTR name, DWOR
return
S_OK
;
}
static
HRESULT
HTMLRectCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLRectCollection
*
This
=
HTMLRectCollection_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
UINT32
len
=
0
;
WCHAR
buf
[
11
];
nsIDOMClientRectList_GetLength
(
This
->
rect_list
,
&
len
);
if
(
idx
>=
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLRectCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -1148,6 +1163,7 @@ static HRESULT HTMLRectCollection_invoke(DispatchEx *dispex, DISPID id, LCID lci
static
const
dispex_static_data_vtbl_t
HTMLRectCollection_dispex_vtbl
=
{
NULL
,
HTMLRectCollection_get_dispid
,
HTMLRectCollection_get_name
,
HTMLRectCollection_invoke
,
NULL
};
...
...
@@ -6808,6 +6824,17 @@ static HRESULT HTMLElement_get_dispid(DispatchEx *dispex, BSTR name,
return
DISP_E_UNKNOWNNAME
;
}
static
HRESULT
HTMLElement_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLElement
*
This
=
impl_from_DispatchEx
(
dispex
);
if
(
This
->
node
.
vtbl
->
get_name
)
return
This
->
node
.
vtbl
->
get_name
(
&
This
->
node
,
id
,
name
);
ERR
(
"(%p): element has no get_name method
\n
"
,
This
);
return
DISP_E_MEMBERNOTFOUND
;
}
static
HRESULT
HTMLElement_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
...
...
@@ -7181,6 +7208,7 @@ static event_target_vtbl_t HTMLElement_event_target_vtbl = {
{
NULL
,
HTMLElement_get_dispid
,
HTMLElement_get_name
,
HTMLElement_invoke
,
NULL
,
NULL
,
...
...
@@ -7852,6 +7880,16 @@ static HRESULT HTMLFiltersCollection_get_dispid(DispatchEx *dispex, BSTR name, D
return
S_OK
;
}
static
HRESULT
HTMLFiltersCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
WCHAR
buf
[
11
];
UINT
len
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLFiltersCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -7868,6 +7906,7 @@ static HRESULT HTMLFiltersCollection_invoke(DispatchEx *dispex, DISPID id, LCID
static
const
dispex_static_data_vtbl_t
HTMLFiltersCollection_dispex_vtbl
=
{
NULL
,
HTMLFiltersCollection_get_dispid
,
HTMLFiltersCollection_get_name
,
HTMLFiltersCollection_invoke
,
NULL
};
...
...
@@ -8577,6 +8616,15 @@ static HRESULT HTMLAttributeCollection_get_dispid(DispatchEx *dispex, BSTR name,
return
S_OK
;
}
static
HRESULT
HTMLAttributeCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLAttributeCollection
*
This
=
HTMLAttributeCollection_from_DispatchEx
(
dispex
);
FIXME
(
"(%p)->(%lx %p)
\n
"
,
This
,
id
,
name
);
return
E_NOTIMPL
;
}
static
HRESULT
HTMLAttributeCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -8614,6 +8662,7 @@ static HRESULT HTMLAttributeCollection_invoke(DispatchEx *dispex, DISPID id, LCI
static
const
dispex_static_data_vtbl_t
HTMLAttributeCollection_dispex_vtbl
=
{
NULL
,
HTMLAttributeCollection_get_dispid
,
HTMLAttributeCollection_get_name
,
HTMLAttributeCollection_invoke
,
NULL
};
...
...
dlls/mshtml/htmlelemcol.c
View file @
c3c55c7f
...
...
@@ -581,6 +581,20 @@ static HRESULT HTMLElementCollection_get_dispid(DispatchEx *dispex, BSTR name, D
return
S_OK
;
}
static
HRESULT
HTMLElementCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLElementCollection
*
This
=
impl_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
WCHAR
buf
[
11
];
UINT
len
;
if
(
idx
>=
This
->
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLElementCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -610,6 +624,7 @@ static HRESULT HTMLElementCollection_invoke(DispatchEx *dispex, DISPID id, LCID
static
const
dispex_static_data_vtbl_t
HTMLElementColection_dispex_vtbl
=
{
NULL
,
HTMLElementCollection_get_dispid
,
HTMLElementCollection_get_name
,
HTMLElementCollection_invoke
,
NULL
};
...
...
dlls/mshtml/htmlform.c
View file @
c3c55c7f
...
...
@@ -898,6 +898,31 @@ static HRESULT HTMLFormElement_get_dispid(HTMLDOMNode *iface,
return
hres
;
}
static
HRESULT
HTMLFormElement_dispex_get_name
(
HTMLDOMNode
*
iface
,
DISPID
id
,
BSTR
*
name
)
{
HTMLFormElement
*
This
=
impl_from_HTMLDOMNode
(
iface
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
nsIDOMHTMLCollection
*
elements
;
nsresult
nsres
;
UINT32
len
=
0
;
WCHAR
buf
[
11
];
nsres
=
nsIDOMHTMLFormElement_GetElements
(
This
->
nsform
,
&
elements
);
if
(
NS_FAILED
(
nsres
))
return
map_nsresult
(
nsres
);
nsres
=
nsIDOMHTMLCollection_GetLength
(
elements
,
&
len
);
nsIDOMHTMLCollection_Release
(
elements
);
if
(
NS_FAILED
(
nsres
))
return
map_nsresult
(
nsres
);
if
(
idx
>=
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLFormElement_invoke
(
HTMLDOMNode
*
iface
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
...
...
@@ -967,6 +992,7 @@ static const NodeImplVtbl HTMLFormElementImplVtbl = {
NULL
,
NULL
,
HTMLFormElement_get_dispid
,
HTMLFormElement_dispex_get_name
,
HTMLFormElement_invoke
,
NULL
,
HTMLFormElement_traverse
,
...
...
dlls/mshtml/htmlframe.c
View file @
c3c55c7f
...
...
@@ -942,6 +942,19 @@ static HRESULT HTMLFrameElement_get_dispid(HTMLDOMNode *iface, BSTR name,
return
search_window_props
(
This
->
framebase
.
content_window
->
base
.
inner_window
,
name
,
grfdex
,
pid
);
}
static
HRESULT
HTMLFrameElement_get_name
(
HTMLDOMNode
*
iface
,
DISPID
id
,
BSTR
*
name
)
{
HTMLFrameElement
*
This
=
frame_from_HTMLDOMNode
(
iface
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
if
(
!
This
->
framebase
.
content_window
||
idx
>=
This
->
framebase
.
content_window
->
base
.
inner_window
->
global_prop_cnt
)
return
DISP_E_MEMBERNOTFOUND
;
*
name
=
SysAllocString
(
This
->
framebase
.
content_window
->
base
.
inner_window
->
global_props
[
idx
].
name
);
return
*
name
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLFrameElement_invoke
(
HTMLDOMNode
*
iface
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -1008,6 +1021,7 @@ static const NodeImplVtbl HTMLFrameElementImplVtbl = {
HTMLFrameElement_get_document
,
HTMLFrameElement_get_readystate
,
HTMLFrameElement_get_dispid
,
HTMLFrameElement_get_name
,
HTMLFrameElement_invoke
,
HTMLFrameElement_bind_to_tree
,
HTMLFrameElement_traverse
,
...
...
@@ -1514,6 +1528,19 @@ static HRESULT HTMLIFrame_get_dispid(HTMLDOMNode *iface, BSTR name,
return
search_window_props
(
This
->
framebase
.
content_window
->
base
.
inner_window
,
name
,
grfdex
,
pid
);
}
static
HRESULT
HTMLIFrame_get_name
(
HTMLDOMNode
*
iface
,
DISPID
id
,
BSTR
*
name
)
{
HTMLIFrame
*
This
=
iframe_from_HTMLDOMNode
(
iface
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
if
(
!
This
->
framebase
.
content_window
||
idx
>=
This
->
framebase
.
content_window
->
base
.
inner_window
->
global_prop_cnt
)
return
DISP_E_MEMBERNOTFOUND
;
*
name
=
SysAllocString
(
This
->
framebase
.
content_window
->
base
.
inner_window
->
global_props
[
idx
].
name
);
return
*
name
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLIFrame_invoke
(
HTMLDOMNode
*
iface
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -1587,6 +1614,7 @@ static const NodeImplVtbl HTMLIFrameImplVtbl = {
HTMLIFrame_get_document
,
HTMLIFrame_get_readystate
,
HTMLIFrame_get_dispid
,
HTMLIFrame_get_name
,
HTMLIFrame_invoke
,
HTMLIFrame_bind_to_tree
,
HTMLIFrame_traverse
,
...
...
dlls/mshtml/htmlhead.c
View file @
c3c55c7f
...
...
@@ -358,6 +358,7 @@ static const NodeImplVtbl HTMLHtmlElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLHtmlElement_is_settable
};
...
...
dlls/mshtml/htmlimg.c
View file @
c3c55c7f
...
...
@@ -720,6 +720,7 @@ static const NodeImplVtbl HTMLImgElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLImgElement_traverse
,
HTMLImgElement_unlink
};
...
...
dlls/mshtml/htmlinput.c
View file @
c3c55c7f
...
...
@@ -1429,6 +1429,7 @@ static const NodeImplVtbl HTMLInputElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLInputElement_traverse
,
HTMLInputElement_unlink
,
HTMLInputElement_is_text_edit
...
...
@@ -1973,6 +1974,7 @@ static const NodeImplVtbl HTMLButtonElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLButtonElement_traverse
,
HTMLButtonElement_unlink
,
HTMLButtonElement_is_text_edit
...
...
dlls/mshtml/htmllink.c
View file @
c3c55c7f
...
...
@@ -436,6 +436,7 @@ static const NodeImplVtbl HTMLLinkElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLLinkElement_traverse
,
HTMLLinkElement_unlink
};
...
...
dlls/mshtml/htmlnode.c
View file @
c3c55c7f
...
...
@@ -386,6 +386,21 @@ static HRESULT HTMLDOMChildrenCollection_get_dispid(DispatchEx *dispex, BSTR nam
return
S_OK
;
}
static
HRESULT
HTMLDOMChildrenCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLDOMChildrenCollection
*
This
=
impl_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
DISPID_CHILDCOL_0
;
UINT32
len
=
0
;
WCHAR
buf
[
11
];
nsIDOMNodeList_GetLength
(
This
->
nslist
,
&
len
);
if
(
idx
>=
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLDOMChildrenCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -419,6 +434,7 @@ static HRESULT HTMLDOMChildrenCollection_invoke(DispatchEx *dispex, DISPID id, L
static
const
dispex_static_data_vtbl_t
HTMLDOMChildrenCollection_dispex_vtbl
=
{
NULL
,
HTMLDOMChildrenCollection_get_dispid
,
HTMLDOMChildrenCollection_get_name
,
HTMLDOMChildrenCollection_invoke
,
NULL
};
...
...
dlls/mshtml/htmlobject.c
View file @
c3c55c7f
...
...
@@ -709,6 +709,15 @@ static HRESULT HTMLObjectElement_get_dispid(HTMLDOMNode *iface, BSTR name,
return
get_plugin_dispid
(
&
This
->
plugin_container
,
name
,
pid
);
}
static
HRESULT
HTMLObjectElement_dispex_get_name
(
HTMLDOMNode
*
iface
,
DISPID
id
,
BSTR
*
name
)
{
HTMLObjectElement
*
This
=
impl_from_HTMLDOMNode
(
iface
);
FIXME
(
"(%p)->(%lx %p)
\n
"
,
This
,
id
,
name
);
return
E_NOTIMPL
;
}
static
HRESULT
HTMLObjectElement_invoke
(
HTMLDOMNode
*
iface
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -753,6 +762,7 @@ static const NodeImplVtbl HTMLObjectElementImplVtbl = {
NULL
,
HTMLObjectElement_get_readystate
,
HTMLObjectElement_get_dispid
,
HTMLObjectElement_dispex_get_name
,
HTMLObjectElement_invoke
,
NULL
,
HTMLObjectElement_traverse
,
...
...
dlls/mshtml/htmlscript.c
View file @
c3c55c7f
...
...
@@ -447,6 +447,7 @@ static const NodeImplVtbl HTMLScriptElementImplVtbl = {
HTMLScriptElement_get_readystate
,
NULL
,
NULL
,
NULL
,
HTMLScriptElement_bind_to_tree
,
HTMLScriptElement_traverse
,
HTMLScriptElement_unlink
...
...
dlls/mshtml/htmlselect.c
View file @
c3c55c7f
...
...
@@ -406,6 +406,7 @@ static const NodeImplVtbl HTMLOptionElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLOptionElement_traverse
,
HTMLOptionElement_unlink
};
...
...
@@ -1400,6 +1401,19 @@ static HRESULT HTMLSelectElement_get_dispid(HTMLDOMNode *iface, BSTR name, DWORD
return
S_OK
;
}
static
HRESULT
HTMLSelectElement_dispex_get_name
(
HTMLDOMNode
*
iface
,
DISPID
id
,
BSTR
*
name
)
{
DWORD
idx
=
id
-
DISPID_OPTIONCOL_0
;
WCHAR
buf
[
11
];
UINT
len
;
if
(
idx
>
MSHTML_CUSTOM_DISPID_CNT
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLSelectElement_invoke
(
HTMLDOMNode
*
iface
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -1467,6 +1481,7 @@ static const NodeImplVtbl HTMLSelectElementImplVtbl = {
NULL
,
NULL
,
HTMLSelectElement_get_dispid
,
HTMLSelectElement_dispex_get_name
,
HTMLSelectElement_invoke
,
NULL
,
HTMLSelectElement_traverse
,
...
...
dlls/mshtml/htmlstorage.c
View file @
c3c55c7f
...
...
@@ -936,6 +936,17 @@ static HRESULT HTMLStorage_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags
return
get_prop
(
This
,
name
,
dispid
);
}
static
HRESULT
HTMLStorage_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLStorage
*
This
=
impl_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
if
(
idx
>=
This
->
num_props
)
return
DISP_E_MEMBERNOTFOUND
;
return
(
*
name
=
SysAllocString
(
This
->
props
[
idx
]))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLStorage_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -1002,6 +1013,7 @@ static HRESULT HTMLStorage_delete(DispatchEx *dispex, DISPID id)
static
const
dispex_static_data_vtbl_t
HTMLStorage_dispex_vtbl
=
{
NULL
,
HTMLStorage_get_dispid
,
HTMLStorage_get_name
,
HTMLStorage_invoke
,
HTMLStorage_delete
,
NULL
...
...
dlls/mshtml/htmlstyleelem.c
View file @
c3c55c7f
...
...
@@ -453,6 +453,7 @@ static const NodeImplVtbl HTMLStyleElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLStyleElement_traverse
,
HTMLStyleElement_unlink
};
...
...
dlls/mshtml/htmlstylesheet.c
View file @
c3c55c7f
...
...
@@ -410,6 +410,21 @@ static HRESULT HTMLStyleSheetRulesCollection_get_dispid(DispatchEx *dispex, BSTR
return
S_OK
;
}
static
HRESULT
HTMLStyleSheetRulesCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLStyleSheetRulesCollection
*
This
=
HTMLStyleSheetRulesCollection_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
UINT32
len
=
0
;
WCHAR
buf
[
11
];
nsIDOMCSSRuleList_GetLength
(
This
->
nslist
,
&
len
);
if
(
idx
>=
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLStyleSheetRulesCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -453,6 +468,7 @@ static HRESULT HTMLStyleSheetRulesCollection_invoke(DispatchEx *dispex, DISPID i
static
const
dispex_static_data_vtbl_t
HTMLStyleSheetRulesCollection_dispex_vtbl
=
{
NULL
,
HTMLStyleSheetRulesCollection_get_dispid
,
HTMLStyleSheetRulesCollection_get_name
,
HTMLStyleSheetRulesCollection_invoke
};
static
const
tid_t
HTMLStyleSheetRulesCollection_iface_tids
[]
=
{
...
...
@@ -821,6 +837,21 @@ static HRESULT HTMLStyleSheetsCollection_get_dispid(DispatchEx *dispex, BSTR nam
return
S_OK
;
}
static
HRESULT
HTMLStyleSheetsCollection_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLStyleSheetsCollection
*
This
=
HTMLStyleSheetsCollection_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
UINT32
len
=
0
;
WCHAR
buf
[
11
];
nsIDOMStyleSheetList_GetLength
(
This
->
nslist
,
&
len
);
if
(
idx
>=
len
)
return
DISP_E_MEMBERNOTFOUND
;
len
=
swprintf
(
buf
,
ARRAY_SIZE
(
buf
),
L"%u"
,
idx
);
return
(
*
name
=
SysAllocStringLen
(
buf
,
len
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLStyleSheetsCollection_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -864,6 +895,7 @@ static HRESULT HTMLStyleSheetsCollection_invoke(DispatchEx *dispex, DISPID id, L
static
const
dispex_static_data_vtbl_t
HTMLStyleSheetsCollection_dispex_vtbl
=
{
NULL
,
HTMLStyleSheetsCollection_get_dispid
,
HTMLStyleSheetsCollection_get_name
,
HTMLStyleSheetsCollection_invoke
};
static
const
tid_t
HTMLStyleSheetsCollection_iface_tids
[]
=
{
...
...
dlls/mshtml/htmltable.c
View file @
c3c55c7f
...
...
@@ -509,6 +509,7 @@ static const NodeImplVtbl HTMLTableCellImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLTableCell_traverse
,
HTMLTableCell_unlink
};
...
...
@@ -954,6 +955,7 @@ static const NodeImplVtbl HTMLTableRowImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLTableRow_traverse
,
HTMLTableRow_unlink
};
...
...
@@ -1985,6 +1987,7 @@ static const NodeImplVtbl HTMLTableImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLTable_traverse
,
HTMLTable_unlink
};
...
...
dlls/mshtml/htmltextarea.c
View file @
c3c55c7f
...
...
@@ -467,6 +467,7 @@ static const NodeImplVtbl HTMLTextAreaElementImplVtbl = {
NULL
,
NULL
,
NULL
,
NULL
,
HTMLTextAreaElement_traverse
,
HTMLTextAreaElement_unlink
,
HTMLTextAreaElement_is_text_edit
...
...
dlls/mshtml/htmlwindow.c
View file @
c3c55c7f
...
...
@@ -3754,6 +3754,17 @@ static inline HTMLInnerWindow *impl_from_DispatchEx(DispatchEx *iface)
return
CONTAINING_RECORD
(
iface
,
HTMLInnerWindow
,
event_target
.
dispex
);
}
static
HRESULT
HTMLWindow_get_name
(
DispatchEx
*
dispex
,
DISPID
id
,
BSTR
*
name
)
{
HTMLInnerWindow
*
This
=
impl_from_DispatchEx
(
dispex
);
DWORD
idx
=
id
-
MSHTML_DISPID_CUSTOM_MIN
;
if
(
idx
>=
This
->
global_prop_cnt
)
return
DISP_E_MEMBERNOTFOUND
;
return
(
*
name
=
SysAllocString
(
This
->
global_props
[
idx
].
name
))
?
S_OK
:
E_OUTOFMEMORY
;
}
static
HRESULT
HTMLWindow_invoke
(
DispatchEx
*
dispex
,
DISPID
id
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
res
,
EXCEPINFO
*
ei
,
IServiceProvider
*
caller
)
{
...
...
@@ -3953,6 +3964,7 @@ static const event_target_vtbl_t HTMLWindow_event_target_vtbl = {
{
NULL
,
NULL
,
HTMLWindow_get_name
,
HTMLWindow_invoke
,
NULL
,
HTMLWindow_get_compat_mode
,
...
...
dlls/mshtml/mshtml_private.h
View file @
c3c55c7f
...
...
@@ -333,6 +333,7 @@ typedef struct DispatchEx DispatchEx;
typedef
struct
{
HRESULT
(
*
value
)(
DispatchEx
*
,
LCID
,
WORD
,
DISPPARAMS
*
,
VARIANT
*
,
EXCEPINFO
*
,
IServiceProvider
*
);
HRESULT
(
*
get_dispid
)(
DispatchEx
*
,
BSTR
,
DWORD
,
DISPID
*
);
HRESULT
(
*
get_name
)(
DispatchEx
*
,
DISPID
,
BSTR
*
);
HRESULT
(
*
invoke
)(
DispatchEx
*
,
DISPID
,
LCID
,
WORD
,
DISPPARAMS
*
,
VARIANT
*
,
EXCEPINFO
*
,
IServiceProvider
*
);
HRESULT
(
*
delete
)(
DispatchEx
*
,
DISPID
);
compat_mode_t
(
*
get_compat_mode
)(
DispatchEx
*
);
...
...
@@ -804,6 +805,7 @@ typedef struct {
HRESULT
(
*
get_document
)(
HTMLDOMNode
*
,
IDispatch
**
);
HRESULT
(
*
get_readystate
)(
HTMLDOMNode
*
,
BSTR
*
);
HRESULT
(
*
get_dispid
)(
HTMLDOMNode
*
,
BSTR
,
DWORD
,
DISPID
*
);
HRESULT
(
*
get_name
)(
HTMLDOMNode
*
,
DISPID
,
BSTR
*
);
HRESULT
(
*
invoke
)(
HTMLDOMNode
*
,
DISPID
,
LCID
,
WORD
,
DISPPARAMS
*
,
VARIANT
*
,
EXCEPINFO
*
,
IServiceProvider
*
);
HRESULT
(
*
bind_to_tree
)(
HTMLDOMNode
*
);
void
(
*
traverse
)(
HTMLDOMNode
*
,
nsCycleCollectionTraversalCallback
*
);
...
...
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