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
478ddf7b
Commit
478ddf7b
authored
Jan 20, 2012
by
Nikolay Sivov
Committed by
Alexandre Julliard
Jan 20, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Respond to SID_SContainerDispatch service id.
parent
42e583f1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
0 deletions
+47
-0
service.c
dlls/mshtml/service.c
+5
-0
htmldoc.c
dlls/mshtml/tests/htmldoc.c
+42
-0
No files found.
dlls/mshtml/service.c
View file @
478ddf7b
...
...
@@ -249,6 +249,11 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG
return
IOleUndoManager_QueryInterface
(
This
->
doc_obj
->
undomgr
,
riid
,
ppv
);
}
if
(
IsEqualGUID
(
&
SID_SContainerDispatch
,
guidService
))
{
TRACE
(
"SID_SContainerDispatch
\n
"
);
return
IHTMLDocument2_QueryInterface
(
&
This
->
IHTMLDocument2_iface
,
riid
,
ppv
);
}
TRACE
(
"(%p)->(%s %s %p)
\n
"
,
This
,
debugstr_guid
(
guidService
),
debugstr_guid
(
riid
),
ppv
);
if
(
This
->
doc_obj
->
client
)
{
...
...
dlls/mshtml/tests/htmldoc.c
View file @
478ddf7b
...
...
@@ -47,6 +47,7 @@
DEFINE_GUID
(
GUID_NULL
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
);
DEFINE_GUID
(
IID_IProxyManager
,
0x00000008
,
0x0000
,
0x0000
,
0xc0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x46
);
DEFINE_OLEGUID
(
CGID_DocHostCmdPriv
,
0x000214D4L
,
0
,
0
);
DEFINE_GUID
(
SID_SContainerDispatch
,
0xb722be00
,
0x4e68
,
0x101b
,
0xa2
,
0xbc
,
0x00
,
0xaa
,
0x00
,
0x40
,
0x47
,
0x70
);
#define DEFINE_EXPECT(func) \
static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
...
...
@@ -7135,6 +7136,46 @@ static BOOL check_ie(void)
return
SUCCEEDED
(
hres
);
}
static
void
test_ServiceProvider
(
void
)
{
IHTMLDocument3
*
doc3
,
*
doc3_2
;
IServiceProvider
*
provider
;
IHTMLDocument2
*
doc
,
*
doc2
;
IUnknown
*
unk
;
HRESULT
hres
;
doc
=
create_document
();
if
(
!
doc
)
return
;
hres
=
IHTMLDocument2_QueryInterface
(
doc
,
&
IID_IServiceProvider
,
(
void
**
)
&
provider
);
ok
(
hres
==
S_OK
,
"got 0x%08x
\n
"
,
hres
);
hres
=
IServiceProvider_QueryService
(
provider
,
&
SID_SContainerDispatch
,
&
IID_IHTMLDocument2
,
(
void
**
)
&
doc2
);
ok
(
hres
==
S_OK
,
"got 0x%08x
\n
"
,
hres
);
ok
(
iface_cmp
((
IUnknown
*
)
doc2
,
(
IUnknown
*
)
doc
),
"got wrong pointer
\n
"
);
IHTMLDocument2_Release
(
doc2
);
hres
=
IServiceProvider_QueryService
(
provider
,
&
SID_SContainerDispatch
,
&
IID_IHTMLDocument3
,
(
void
**
)
&
doc3
);
ok
(
hres
==
S_OK
,
"got 0x%08x
\n
"
,
hres
);
ok
(
iface_cmp
((
IUnknown
*
)
doc3
,
(
IUnknown
*
)
doc
),
"got wrong pointer
\n
"
);
hres
=
IHTMLDocument2_QueryInterface
(
doc
,
&
IID_IHTMLDocument3
,
(
void
**
)
&
doc3_2
);
ok
(
hres
==
S_OK
,
"got 0x%08x
\n
"
,
hres
);
ok
(
iface_cmp
((
IUnknown
*
)
doc3_2
,
(
IUnknown
*
)
doc
),
"got wrong pointer
\n
"
);
ok
(
iface_cmp
((
IUnknown
*
)
doc3_2
,
(
IUnknown
*
)
doc3
),
"got wrong pointer
\n
"
);
IHTMLDocument3_Release
(
doc3
);
IHTMLDocument3_Release
(
doc3_2
);
hres
=
IServiceProvider_QueryService
(
provider
,
&
SID_SContainerDispatch
,
&
IID_IUnknown
,
(
void
**
)
&
unk
);
ok
(
hres
==
S_OK
,
"got 0x%08x
\n
"
,
hres
);
ok
(
iface_cmp
((
IUnknown
*
)
doc
,
unk
),
"got wrong pointer
\n
"
);
IUnknown_Release
(
unk
);
IServiceProvider_Release
(
provider
);
release_document
(
doc
);
}
START_TEST
(
htmldoc
)
{
CoInitialize
(
NULL
);
...
...
@@ -7169,6 +7210,7 @@ START_TEST(htmldoc)
test_UIActivate
(
TRUE
,
TRUE
,
TRUE
);
test_HTMLDoc_ISupportErrorInfo
();
test_IPersistHistory
();
test_ServiceProvider
();
DestroyWindow
(
container_hwnd
);
CoUninitialize
();
...
...
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