Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
389a7f54
Commit
389a7f54
authored
Dec 27, 2010
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Dec 27, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: COM cleanup for all the IServiceProvider ifaces.
parent
22022d13
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
49 additions
and
42 deletions
+49
-42
htmldoc.c
dlls/mshtml/htmldoc.c
+1
-1
htmlwindow.c
dlls/mshtml/htmlwindow.c
+12
-10
mshtml_private.h
dlls/mshtml/mshtml_private.h
+2
-3
navigate.c
dlls/mshtml/navigate.c
+11
-10
pluginhost.c
dlls/mshtml/pluginhost.c
+2
-1
script.c
dlls/mshtml/script.c
+11
-10
service.c
dlls/mshtml/service.c
+10
-7
No files found.
dlls/mshtml/htmldoc.c
View file @
389a7f54
...
...
@@ -1773,7 +1773,7 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
*
ppv
=
&
This
->
IOleInPlaceObjectWindowless_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IServiceProvider
,
riid
))
{
TRACE
(
"(%p)->(IID_IServiceProvider, %p)
\n
"
,
This
,
ppv
);
*
ppv
=
SERVPROV
(
This
)
;
*
ppv
=
&
This
->
IServiceProvider_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IOleCommandTarget
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleCommandTarget, %p)
\n
"
,
This
,
ppv
);
*
ppv
=
CMDTARGET
(
This
);
...
...
dlls/mshtml/htmlwindow.c
View file @
389a7f54
...
...
@@ -193,7 +193,7 @@ static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID rii
*
ppv
=
HTMLPRIVWINDOW
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IServiceProvider
,
riid
))
{
TRACE
(
"(%p)->(IID_IServiceProvider %p)
\n
"
,
This
,
ppv
);
*
ppv
=
SERVPROV
(
This
)
;
*
ppv
=
&
This
->
IServiceProvider_iface
;
}
else
if
(
dispex_query_interface
(
&
This
->
dispex
,
riid
,
ppv
))
{
return
*
ppv
?
S_OK
:
E_NOINTERFACE
;
}
...
...
@@ -2119,29 +2119,32 @@ static const IDispatchExVtbl WindowDispExVtbl = {
WindowDispEx_GetNameSpaceParent
};
#define SERVPROV_THIS(iface) DEFINE_THIS(HTMLWindow, ServiceProvider, iface)
static
inline
HTMLWindow
*
impl_from_IServiceProvider
(
IServiceProvider
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
HTMLWindow
,
IServiceProvider_iface
);
}
static
HRESULT
WINAPI
HTMLWindowSP_QueryInterface
(
IServiceProvider
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
HTMLWindow
*
This
=
SERVPROV_THIS
(
iface
);
HTMLWindow
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IHTMLWindow2_QueryInterface
(
HTMLWINDOW2
(
This
),
riid
,
ppv
);
}
static
ULONG
WINAPI
HTMLWindowSP_AddRef
(
IServiceProvider
*
iface
)
{
HTMLWindow
*
This
=
SERVPROV_THIS
(
iface
);
HTMLWindow
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IHTMLWindow2_AddRef
(
HTMLWINDOW2
(
This
));
}
static
ULONG
WINAPI
HTMLWindowSP_Release
(
IServiceProvider
*
iface
)
{
HTMLWindow
*
This
=
SERVPROV_THIS
(
iface
);
HTMLWindow
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IHTMLWindow2_Release
(
HTMLWINDOW2
(
This
));
}
static
HRESULT
WINAPI
HTMLWindowSP_QueryService
(
IServiceProvider
*
iface
,
REFGUID
guidService
,
REFIID
riid
,
void
**
ppv
)
{
HTMLWindow
*
This
=
SERVPROV_THIS
(
iface
);
HTMLWindow
*
This
=
impl_from_IServiceProvider
(
iface
);
if
(
IsEqualGUID
(
guidService
,
&
IID_IHTMLWindow2
))
{
TRACE
(
"IID_IHTMLWindow2
\n
"
);
...
...
@@ -2153,11 +2156,10 @@ static HRESULT WINAPI HTMLWindowSP_QueryService(IServiceProvider *iface, REFGUID
if
(
!
This
->
doc_obj
)
return
E_NOINTERFACE
;
return
IServiceProvider_QueryService
(
SERVPROV
(
&
This
->
doc_obj
->
basedoc
),
guidService
,
riid
,
ppv
);
return
IServiceProvider_QueryService
(
&
This
->
doc_obj
->
basedoc
.
IServiceProvider_iface
,
guidService
,
riid
,
ppv
);
}
#undef SERVPROV_THIS
static
const
IServiceProviderVtbl
ServiceProviderVtbl
=
{
HTMLWindowSP_QueryInterface
,
HTMLWindowSP_AddRef
,
...
...
@@ -2204,7 +2206,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML
window
->
lpHTMLWindow4Vtbl
=
&
HTMLWindow4Vtbl
;
window
->
lpIHTMLPrivateWindowVtbl
=
&
HTMLPrivateWindowVtbl
;
window
->
lpIDispatchExVtbl
=
&
WindowDispExVtbl
;
window
->
lpServiceProvider
Vtbl
=
&
ServiceProviderVtbl
;
window
->
IServiceProvider_iface
.
lp
Vtbl
=
&
ServiceProviderVtbl
;
window
->
ref
=
1
;
window
->
doc_obj
=
doc_obj
;
...
...
dlls/mshtml/mshtml_private.h
View file @
389a7f54
...
...
@@ -265,7 +265,7 @@ struct HTMLWindow {
const
IHTMLWindow4Vtbl
*
lpHTMLWindow4Vtbl
;
const
IHTMLPrivateWindowVtbl
*
lpIHTMLPrivateWindowVtbl
;
const
IDispatchExVtbl
*
lpIDispatchExVtbl
;
const
IServiceProviderVtbl
*
lpServiceProviderVtbl
;
IServiceProvider
IServiceProvider_iface
;
LONG
ref
;
...
...
@@ -357,7 +357,7 @@ struct HTMLDocument {
IOleInPlaceActiveObject
IOleInPlaceActiveObject_iface
;
IViewObjectEx
IViewObjectEx_iface
;
IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless_iface
;
const
IServiceProviderVtbl
*
lpServiceProviderVtbl
;
IServiceProvider
IServiceProvider_iface
;
const
IOleCommandTargetVtbl
*
lpOleCommandTargetVtbl
;
const
IOleControlVtbl
*
lpOleControlVtbl
;
const
IHlinkTargetVtbl
*
lpHlinkTargetVtbl
;
...
...
@@ -625,7 +625,6 @@ struct HTMLDocumentNode {
#define HTMLWINDOW2(x) ((IHTMLWindow2*) &(x)->lpHTMLWindow2Vtbl)
#define HTMLWINDOW3(x) ((IHTMLWindow3*) &(x)->lpHTMLWindow3Vtbl)
#define HTMLWINDOW4(x) ((IHTMLWindow4*) &(x)->lpHTMLWindow4Vtbl)
#define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl)
#define CMDTARGET(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
#define CONTROL(x) ((IOleControl*) &(x)->lpOleControlVtbl)
#define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl)
...
...
dlls/mshtml/navigate.c
View file @
389a7f54
...
...
@@ -68,7 +68,7 @@ typedef struct {
struct
BSCallback
{
const
IBindStatusCallbackVtbl
*
lpBindStatusCallbackVtbl
;
const
IServiceProviderVtbl
*
lpServiceProviderVtbl
;
IServiceProvider
IServiceProvider_iface
;
const
IHttpNegotiate2Vtbl
*
lpHttpNegotiate2Vtbl
;
const
IInternetBindInfoVtbl
*
lpInternetBindInfoVtbl
;
...
...
@@ -252,7 +252,7 @@ static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *ifa
*
ppv
=
STATUSCLB
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IServiceProvider
,
riid
))
{
TRACE
(
"(%p)->(IID_IServiceProvider %p)
\n
"
,
This
,
ppv
);
*
ppv
=
SERVPROV
(
This
)
;
*
ppv
=
&
This
->
IServiceProvider_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_IHttpNegotiate
,
riid
))
{
TRACE
(
"(%p)->(IID_IHttpNegotiate %p)
\n
"
,
This
,
ppv
);
*
ppv
=
HTTPNEG
(
This
);
...
...
@@ -570,37 +570,38 @@ static const IInternetBindInfoVtbl InternetBindInfoVtbl = {
InternetBindInfo_GetBindString
};
#define SERVPROV_THIS(iface) DEFINE_THIS(BSCallback, ServiceProvider, iface)
static
inline
BSCallback
*
impl_from_IServiceProvider
(
IServiceProvider
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
BSCallback
,
IServiceProvider_iface
);
}
static
HRESULT
WINAPI
BSCServiceProvider_QueryInterface
(
IServiceProvider
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
BSCallback
*
This
=
SERVPROV_THIS
(
iface
);
BSCallback
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IBindStatusCallback_QueryInterface
(
STATUSCLB
(
This
),
riid
,
ppv
);
}
static
ULONG
WINAPI
BSCServiceProvider_AddRef
(
IServiceProvider
*
iface
)
{
BSCallback
*
This
=
SERVPROV_THIS
(
iface
);
BSCallback
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IBindStatusCallback_AddRef
(
STATUSCLB
(
This
));
}
static
ULONG
WINAPI
BSCServiceProvider_Release
(
IServiceProvider
*
iface
)
{
BSCallback
*
This
=
SERVPROV_THIS
(
iface
);
BSCallback
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IBindStatusCallback_Release
(
STATUSCLB
(
This
));
}
static
HRESULT
WINAPI
BSCServiceProvider_QueryService
(
IServiceProvider
*
iface
,
REFGUID
guidService
,
REFIID
riid
,
void
**
ppv
)
{
BSCallback
*
This
=
SERVPROV_THIS
(
iface
);
BSCallback
*
This
=
impl_from_IServiceProvider
(
iface
);
TRACE
(
"(%p)->(%s %s %p)
\n
"
,
This
,
debugstr_guid
(
guidService
),
debugstr_guid
(
riid
),
ppv
);
return
E_NOINTERFACE
;
}
#undef SERVPROV_THIS
static
const
IServiceProviderVtbl
ServiceProviderVtbl
=
{
BSCServiceProvider_QueryInterface
,
BSCServiceProvider_AddRef
,
...
...
@@ -611,7 +612,7 @@ static const IServiceProviderVtbl ServiceProviderVtbl = {
static
void
init_bscallback
(
BSCallback
*
This
,
const
BSCallbackVtbl
*
vtbl
,
IMoniker
*
mon
,
DWORD
bindf
)
{
This
->
lpBindStatusCallbackVtbl
=
&
BindStatusCallbackVtbl
;
This
->
lpServiceProviderVtbl
=
&
ServiceProviderVtbl
;
This
->
IServiceProvider_iface
.
lpVtbl
=
&
ServiceProviderVtbl
;
This
->
lpHttpNegotiate2Vtbl
=
&
HttpNegotiate2Vtbl
;
This
->
lpInternetBindInfoVtbl
=
&
InternetBindInfoVtbl
;
This
->
vtbl
=
vtbl
;
...
...
dlls/mshtml/pluginhost.c
View file @
389a7f54
...
...
@@ -1180,7 +1180,8 @@ static HRESULT WINAPI PHServiceProvider_QueryService(IServiceProvider *iface, RE
return
E_NOINTERFACE
;
}
return
IServiceProvider_QueryService
(
SERVPROV
(
This
->
doc
->
basedoc
.
window
),
guidService
,
riid
,
ppv
);
return
IServiceProvider_QueryService
(
&
This
->
doc
->
basedoc
.
window
->
IServiceProvider_iface
,
guidService
,
riid
,
ppv
);
}
static
const
IServiceProviderVtbl
ServiceProviderVtbl
=
{
...
...
dlls/mshtml/script.c
View file @
389a7f54
...
...
@@ -55,7 +55,7 @@ struct ScriptHost {
const
IActiveScriptSiteInterruptPollVtbl
*
lpIActiveScriptSiteInterruptPollVtbl
;
const
IActiveScriptSiteWindowVtbl
*
lpIActiveScriptSiteWindowVtbl
;
const
IActiveScriptSiteDebugVtbl
*
lpIActiveScriptSiteDebugVtbl
;
const
IServiceProviderVtbl
*
lpServiceProviderVtbl
;
IServiceProvider
IServiceProvider_iface
;
LONG
ref
;
...
...
@@ -250,7 +250,7 @@ static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
*
ppv
=
ACTSCPDBG
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IServiceProvider
,
riid
))
{
TRACE
(
"(%p)->(IID_IServiceProvider %p)
\n
"
,
This
,
ppv
);
*
ppv
=
SERVPROV
(
This
)
;
*
ppv
=
&
This
->
IServiceProvider_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_ICanHandleException
,
riid
))
{
TRACE
(
"(%p)->(IID_ICanHandleException not supported %p)
\n
"
,
This
,
ppv
);
return
E_NOINTERFACE
;
...
...
@@ -542,30 +542,33 @@ static const IActiveScriptSiteDebugVtbl ActiveScriptSiteDebugVtbl = {
ActiveScriptSiteDebug_OnScriptErrorDebug
};
#define SERVPROV_THIS(iface) DEFINE_THIS(ScriptHost, ServiceProvider, iface)
static
inline
ScriptHost
*
impl_from_IServiceProvider
(
IServiceProvider
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
ScriptHost
,
IServiceProvider_iface
);
}
static
HRESULT
WINAPI
ASServiceProvider_QueryInterface
(
IServiceProvider
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
ScriptHost
*
This
=
SERVPROV_THIS
(
iface
);
ScriptHost
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IActiveScriptSite_QueryInterface
(
ACTSCPSITE
(
This
),
riid
,
ppv
);
}
static
ULONG
WINAPI
ASServiceProvider_AddRef
(
IServiceProvider
*
iface
)
{
ScriptHost
*
This
=
SERVPROV_THIS
(
iface
);
ScriptHost
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IActiveScriptSite_AddRef
(
ACTSCPSITE
(
This
));
}
static
ULONG
WINAPI
ASServiceProvider_Release
(
IServiceProvider
*
iface
)
{
ScriptHost
*
This
=
SERVPROV_THIS
(
iface
);
ScriptHost
*
This
=
impl_from_IServiceProvider
(
iface
);
return
IActiveScriptSite_Release
(
ACTSCPSITE
(
This
));
}
static
HRESULT
WINAPI
ASServiceProvider_QueryService
(
IServiceProvider
*
iface
,
REFGUID
guidService
,
REFIID
riid
,
void
**
ppv
)
{
ScriptHost
*
This
=
SERVPROV_THIS
(
iface
);
ScriptHost
*
This
=
impl_from_IServiceProvider
(
iface
);
if
(
IsEqualGUID
(
&
SID_SInternetHostSecurityManager
,
guidService
))
{
TRACE
(
"(%p)->(SID_SInternetHostSecurityManager)
\n
"
,
This
);
...
...
@@ -580,8 +583,6 @@ static HRESULT WINAPI ASServiceProvider_QueryService(IServiceProvider *iface, RE
return
E_NOINTERFACE
;
}
#undef SERVPROV_THIS
static
const
IServiceProviderVtbl
ASServiceProviderVtbl
=
{
ASServiceProvider_QueryInterface
,
ASServiceProvider_AddRef
,
...
...
@@ -599,7 +600,7 @@ static ScriptHost *create_script_host(HTMLWindow *window, const GUID *guid)
ret
->
lpIActiveScriptSiteInterruptPollVtbl
=
&
ActiveScriptSiteInterruptPollVtbl
;
ret
->
lpIActiveScriptSiteWindowVtbl
=
&
ActiveScriptSiteWindowVtbl
;
ret
->
lpIActiveScriptSiteDebugVtbl
=
&
ActiveScriptSiteDebugVtbl
;
ret
->
lpServiceProviderVtbl
=
&
ASServiceProviderVtbl
;
ret
->
IServiceProvider_iface
.
lpVtbl
=
&
ASServiceProviderVtbl
;
ret
->
ref
=
1
;
ret
->
window
=
window
;
ret
->
script_state
=
SCRIPTSTATE_UNINITIALIZED
;
...
...
dlls/mshtml/service.c
View file @
389a7f54
...
...
@@ -207,31 +207,34 @@ static IOleUndoManager *create_undomgr(void)
* IServiceProvider implementation
*/
#define SERVPROV_THIS(iface) DEFINE_THIS(HTMLDocument, ServiceProvider, iface)
static
inline
HTMLDocument
*
impl_from_IServiceProvider
(
IServiceProvider
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
HTMLDocument
,
IServiceProvider_iface
);
}
static
HRESULT
WINAPI
ServiceProvider_QueryInterface
(
IServiceProvider
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
HTMLDocument
*
This
=
SERVPROV_THIS
(
iface
);
HTMLDocument
*
This
=
impl_from_IServiceProvider
(
iface
);
return
htmldoc_query_interface
(
This
,
riid
,
ppv
);
}
static
ULONG
WINAPI
ServiceProvider_AddRef
(
IServiceProvider
*
iface
)
{
HTMLDocument
*
This
=
SERVPROV_THIS
(
iface
);
HTMLDocument
*
This
=
impl_from_IServiceProvider
(
iface
);
return
htmldoc_addref
(
This
);
}
static
ULONG
WINAPI
ServiceProvider_Release
(
IServiceProvider
*
iface
)
{
HTMLDocument
*
This
=
SERVPROV_THIS
(
iface
);
HTMLDocument
*
This
=
impl_from_IServiceProvider
(
iface
);
return
htmldoc_release
(
This
);
}
static
HRESULT
WINAPI
ServiceProvider_QueryService
(
IServiceProvider
*
iface
,
REFGUID
guidService
,
REFIID
riid
,
void
**
ppv
)
{
HTMLDocument
*
This
=
SERVPROV_THIS
(
iface
);
HTMLDocument
*
This
=
impl_from_IServiceProvider
(
iface
);
if
(
IsEqualGUID
(
&
CLSID_CMarkup
,
guidService
))
{
FIXME
(
"(%p)->(CLSID_CMarkup %s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
ppv
);
return
E_NOINTERFACE
;
...
...
@@ -276,5 +279,5 @@ static const IServiceProviderVtbl ServiceProviderVtbl = {
void
HTMLDocument_Service_Init
(
HTMLDocument
*
This
)
{
This
->
lpServiceProvider
Vtbl
=
&
ServiceProviderVtbl
;
This
->
IServiceProvider_iface
.
lp
Vtbl
=
&
ServiceProviderVtbl
;
}
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