Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Lorenzo Ferrillo
wine
Commits
dcbfd3d0
Commit
dcbfd3d0
authored
13 years ago
by
Jacek Caban
Committed by
Alexandre Julliard
13 years ago
Browse files
Options
Downloads
Patches
Plain Diff
ieframe: Added INewWindowManager stub implementation.
parent
9c448d1d
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
dlls/ieframe/client.c
+5
-0
5 additions, 0 deletions
dlls/ieframe/client.c
dlls/ieframe/dochost.c
+1
-0
1 addition, 0 deletions
dlls/ieframe/dochost.c
dlls/ieframe/ieframe.h
+7
-0
7 additions, 0 deletions
dlls/ieframe/ieframe.h
dlls/ieframe/shellbrowser.c
+67
-0
67 additions, 0 deletions
dlls/ieframe/shellbrowser.c
with
80 additions
and
0 deletions
dlls/ieframe/client.c
+
5
−
0
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
;
...
...
This diff is collapsed.
Click to expand it.
dlls/ieframe/dochost.c
+
1
−
0
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
)
...
...
This diff is collapsed.
Click to expand it.
dlls/ieframe/ieframe.h
+
7
−
0
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
;
...
...
This diff is collapsed.
Click to expand it.
dlls/ieframe/shellbrowser.c
+
67
−
0
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
;
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment