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
dcbfd3d0
Commit
dcbfd3d0
authored
Jan 06, 2012
by
Jacek Caban
Committed by
Alexandre Julliard
Jan 06, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ieframe: Added INewWindowManager stub implementation.
parent
9c448d1d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
80 additions
and
0 deletions
+80
-0
client.c
dlls/ieframe/client.c
+5
-0
dochost.c
dlls/ieframe/dochost.c
+1
-0
ieframe.h
dlls/ieframe/ieframe.h
+7
-0
shellbrowser.c
dlls/ieframe/shellbrowser.c
+67
-0
No files found.
dlls/ieframe/client.c
View file @
dcbfd3d0
...
...
@@ -685,6 +685,11 @@ static HRESULT WINAPI ClServiceProvider_QueryService(IServiceProvider *iface, RE
return
IShellBrowser_QueryInterface
(
&
This
->
browser_service
->
IShellBrowser_iface
,
riid
,
ppv
);
}
if
(
IsEqualGUID
(
&
SID_SNewWindowManager
,
guidService
))
{
TRACE
(
"SID_SNewWindowManager service
\n
"
);
return
INewWindowManager_QueryInterface
(
&
This
->
nwm
.
INewWindowManager_iface
,
riid
,
ppv
);
}
FIXME
(
"(%p)->(%s %s %p)
\n
"
,
This
,
debugstr_guid
(
guidService
),
debugstr_guid
(
riid
),
ppv
);
return
E_NOINTERFACE
;
...
...
dlls/ieframe/dochost.c
View file @
dcbfd3d0
...
...
@@ -888,6 +888,7 @@ void DocHost_Init(DocHost *This, IDispatch *disp, const IDocHostContainerVtbl* c
ConnectionPointContainer_Init
(
&
This
->
cps
,
(
IUnknown
*
)
disp
);
IEHTMLWindow_Init
(
This
);
NewWindowManager_Init
(
This
);
}
void
DocHost_Release
(
DocHost
*
This
)
...
...
dlls/ieframe/ieframe.h
View file @
dcbfd3d0
...
...
@@ -89,6 +89,11 @@ typedef struct {
DocHost
*
doc_host
;
}
IEHTMLWindow
;
typedef
struct
{
INewWindowManager
INewWindowManager_iface
;
DocHost
*
doc_host
;
}
NewWindowManager
;
typedef
struct
_IDocHostContainerVtbl
{
ULONG
(
*
addref
)(
DocHost
*
);
...
...
@@ -145,6 +150,7 @@ struct DocHost {
ConnectionPointContainer
cps
;
IEHTMLWindow
html_window
;
NewWindowManager
nwm
;
};
struct
WebBrowser
{
...
...
@@ -233,6 +239,7 @@ void DocHost_Frame_Init(DocHost*) DECLSPEC_HIDDEN;
void
release_dochost_client
(
DocHost
*
)
DECLSPEC_HIDDEN
;
void
IEHTMLWindow_Init
(
DocHost
*
)
DECLSPEC_HIDDEN
;
void
NewWindowManager_Init
(
DocHost
*
)
DECLSPEC_HIDDEN
;
void
HlinkFrame_Init
(
HlinkFrame
*
,
IUnknown
*
,
DocHost
*
)
DECLSPEC_HIDDEN
;
BOOL
HlinkFrame_QI
(
HlinkFrame
*
,
REFIID
,
void
**
)
DECLSPEC_HIDDEN
;
...
...
dlls/ieframe/shellbrowser.c
View file @
dcbfd3d0
...
...
@@ -2,6 +2,7 @@
* Implementation of IShellBrowser interface
*
* Copyright 2011 Piotr Caban for CodeWeavers
* Copyright 2012 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -913,3 +914,69 @@ void detach_browser_service(ShellBrowser *sb)
sb
->
doc_host
=
NULL
;
IShellBrowser_Release
(
&
sb
->
IShellBrowser_iface
);
}
static
inline
NewWindowManager
*
impl_from_INewWindowManager
(
INewWindowManager
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
NewWindowManager
,
INewWindowManager_iface
);
}
static
HRESULT
WINAPI
NewWindowManager_QueryInterface
(
INewWindowManager
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
NewWindowManager
*
This
=
impl_from_INewWindowManager
(
iface
);
if
(
IsEqualGUID
(
&
IID_IUnknown
,
riid
))
{
TRACE
(
"(%p)->(IID_IUnknown %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
INewWindowManager_iface
;
}
else
if
(
IsEqualGUID
(
&
IID_INewWindowManager
,
riid
))
{
TRACE
(
"(%p)->(IID_INewWindowManager %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
INewWindowManager_iface
;
}
else
{
WARN
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
ppv
);
*
ppv
=
NULL
;
return
E_NOINTERFACE
;
}
IUnknown_AddRef
((
IUnknown
*
)
*
ppv
);
return
S_OK
;
}
static
ULONG
WINAPI
NewWindowManager_AddRef
(
INewWindowManager
*
iface
)
{
NewWindowManager
*
This
=
impl_from_INewWindowManager
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
IOleClientSite_AddRef
(
&
This
->
doc_host
->
IOleClientSite_iface
);
}
static
ULONG
WINAPI
NewWindowManager_Release
(
INewWindowManager
*
iface
)
{
NewWindowManager
*
This
=
impl_from_INewWindowManager
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
IOleClientSite_Release
(
&
This
->
doc_host
->
IOleClientSite_iface
);
}
static
HRESULT
WINAPI
NewWindowManager_EvaluateNewWindow
(
INewWindowManager
*
iface
,
LPCWSTR
pszUrl
,
LPCWSTR
pszName
,
LPCWSTR
pszUrlContext
,
LPCWSTR
pszFeatures
,
BOOL
fReplace
,
DWORD
dwFlags
,
DWORD
dwUserActionTime
)
{
NewWindowManager
*
This
=
impl_from_INewWindowManager
(
iface
);
FIXME
(
"(%p)->(%s %s %s %s %x %x %d)
\n
"
,
This
,
debugstr_w
(
pszUrl
),
debugstr_w
(
pszName
),
debugstr_w
(
pszUrlContext
),
debugstr_w
(
pszFeatures
),
fReplace
,
dwFlags
,
dwUserActionTime
);
return
S_OK
;
}
static
const
INewWindowManagerVtbl
NewWindowManagerVtbl
=
{
NewWindowManager_QueryInterface
,
NewWindowManager_AddRef
,
NewWindowManager_Release
,
NewWindowManager_EvaluateNewWindow
};
void
NewWindowManager_Init
(
DocHost
*
doc_host
)
{
doc_host
->
nwm
.
INewWindowManager_iface
.
lpVtbl
=
&
NewWindowManagerVtbl
;
doc_host
->
nwm
.
doc_host
=
doc_host
;
}
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