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
910cac49
Commit
910cac49
authored
Nov 17, 2010
by
David Hedberg
Committed by
Alexandre Julliard
Nov 17, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shdocvw: Implement DocHostUIHandler::TranslateAccelerator.
parent
a63c81d4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
91 additions
and
7 deletions
+91
-7
dochost.c
dlls/shdocvw/dochost.c
+7
-2
webbrowser.c
dlls/shdocvw/tests/webbrowser.c
+84
-5
No files found.
dlls/shdocvw/dochost.c
View file @
910cac49
...
@@ -620,8 +620,13 @@ static HRESULT WINAPI DocHostUIHandler_TranslateAccelerator(IDocHostUIHandler2 *
...
@@ -620,8 +620,13 @@ static HRESULT WINAPI DocHostUIHandler_TranslateAccelerator(IDocHostUIHandler2 *
LPMSG
lpMsg
,
const
GUID
*
pguidCmdGroup
,
DWORD
nCmdID
)
LPMSG
lpMsg
,
const
GUID
*
pguidCmdGroup
,
DWORD
nCmdID
)
{
{
DocHost
*
This
=
impl_from_IDocHostUIHandler2
(
iface
);
DocHost
*
This
=
impl_from_IDocHostUIHandler2
(
iface
);
FIXME
(
"(%p)->(%p %p %d)
\n
"
,
This
,
lpMsg
,
pguidCmdGroup
,
nCmdID
);
HRESULT
hr
=
S_FALSE
;
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%p %p %d)
\n
"
,
This
,
lpMsg
,
pguidCmdGroup
,
nCmdID
);
if
(
This
->
hostui
)
hr
=
IDocHostUIHandler_TranslateAccelerator
(
This
->
hostui
,
lpMsg
,
pguidCmdGroup
,
nCmdID
);
return
hr
;
}
}
static
HRESULT
WINAPI
DocHostUIHandler_GetOptionKeyPath
(
IDocHostUIHandler2
*
iface
,
static
HRESULT
WINAPI
DocHostUIHandler_GetOptionKeyPath
(
IDocHostUIHandler2
*
iface
,
...
...
dlls/shdocvw/tests/webbrowser.c
View file @
910cac49
...
@@ -124,8 +124,12 @@ DEFINE_EXPECT(QueryStatus_SETPROGRESSTEXT);
...
@@ -124,8 +124,12 @@ DEFINE_EXPECT(QueryStatus_SETPROGRESSTEXT);
DEFINE_EXPECT
(
QueryStatus_STOP
);
DEFINE_EXPECT
(
QueryStatus_STOP
);
DEFINE_EXPECT
(
DocHost_EnableModeless_TRUE
);
DEFINE_EXPECT
(
DocHost_EnableModeless_TRUE
);
DEFINE_EXPECT
(
DocHost_EnableModeless_FALSE
);
DEFINE_EXPECT
(
DocHost_EnableModeless_FALSE
);
DEFINE_EXPECT
(
DocHost_TranslateAccelerator
);
DEFINE_EXPECT
(
GetDropTarget
);
DEFINE_EXPECT
(
GetDropTarget
);
DEFINE_EXPECT
(
TranslateUrl
);
DEFINE_EXPECT
(
TranslateUrl
);
DEFINE_EXPECT
(
ShowUI
);
DEFINE_EXPECT
(
HideUI
);
DEFINE_EXPECT
(
RequestUIActivate
);
static
const
WCHAR
wszItem
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
0
};
static
const
WCHAR
wszItem
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
0
};
static
const
WCHAR
emptyW
[]
=
{
0
};
static
const
WCHAR
emptyW
[]
=
{
0
};
...
@@ -135,6 +139,7 @@ static IWebBrowser2 *wb;
...
@@ -135,6 +139,7 @@ static IWebBrowser2 *wb;
static
HWND
container_hwnd
,
shell_embedding_hwnd
;
static
HWND
container_hwnd
,
shell_embedding_hwnd
;
static
BOOL
is_downloading
,
is_first_load
;
static
BOOL
is_downloading
,
is_first_load
;
static
HRESULT
hr_dochost_TranslateAccelerator
=
E_NOTIMPL
;
static
const
char
*
current_url
;
static
const
char
*
current_url
;
#define DWL_EXPECT_BEFORE_NAVIGATE 0x01
#define DWL_EXPECT_BEFORE_NAVIGATE 0x01
...
@@ -1140,7 +1145,7 @@ static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface
...
@@ -1140,7 +1145,7 @@ static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface
static
HRESULT
WINAPI
InPlaceSite_RequestUIActivate
(
IOleInPlaceSiteEx
*
iface
)
static
HRESULT
WINAPI
InPlaceSite_RequestUIActivate
(
IOleInPlaceSiteEx
*
iface
)
{
{
ok
(
0
,
"unexpected call
\n
"
);
CHECK_EXPECT2
(
RequestUIActivate
);
return
S_OK
;
return
S_OK
;
}
}
...
@@ -1207,13 +1212,13 @@ static HRESULT WINAPI DocHostUIHandler_ShowUI(IDocHostUIHandler2 *iface, DWORD d
...
@@ -1207,13 +1212,13 @@ static HRESULT WINAPI DocHostUIHandler_ShowUI(IDocHostUIHandler2 *iface, DWORD d
IOleInPlaceActiveObject
*
pActiveObject
,
IOleCommandTarget
*
pCommandTarget
,
IOleInPlaceActiveObject
*
pActiveObject
,
IOleCommandTarget
*
pCommandTarget
,
IOleInPlaceFrame
*
pFrame
,
IOleInPlaceUIWindow
*
pDoc
)
IOleInPlaceFrame
*
pFrame
,
IOleInPlaceUIWindow
*
pDoc
)
{
{
ok
(
0
,
"unexpected call
\n
"
);
CHECK_EXPECT
(
ShowUI
);
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
static
HRESULT
WINAPI
DocHostUIHandler_HideUI
(
IDocHostUIHandler2
*
iface
)
static
HRESULT
WINAPI
DocHostUIHandler_HideUI
(
IDocHostUIHandler2
*
iface
)
{
{
ok
(
0
,
"unexpected call
\n
"
);
CHECK_EXPECT
(
HideUI
);
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
...
@@ -1255,8 +1260,12 @@ static HRESULT WINAPI DocHostUIHandler_ResizeBorder(IDocHostUIHandler2 *iface, L
...
@@ -1255,8 +1260,12 @@ static HRESULT WINAPI DocHostUIHandler_ResizeBorder(IDocHostUIHandler2 *iface, L
static
HRESULT
WINAPI
DocHostUIHandler_TranslateAccelerator
(
IDocHostUIHandler2
*
iface
,
LPMSG
lpMsg
,
static
HRESULT
WINAPI
DocHostUIHandler_TranslateAccelerator
(
IDocHostUIHandler2
*
iface
,
LPMSG
lpMsg
,
const
GUID
*
pguidCmdGroup
,
DWORD
nCmdID
)
const
GUID
*
pguidCmdGroup
,
DWORD
nCmdID
)
{
{
ok
(
0
,
"unexpected call
\n
"
);
CHECK_EXPECT
(
DocHost_TranslateAccelerator
);
return
E_NOTIMPL
;
ok
(
pguidCmdGroup
!=
NULL
,
"Got NULL pguidCmdGroup.
\n
"
);
if
(
pguidCmdGroup
)
ok
(
IsEqualGUID
(
pguidCmdGroup
,
&
CGID_MSHTML
),
"Unexpected pguidCmdGroup
\n
"
);
ok
(
lpMsg
!=
NULL
,
"Got NULL lpMsg.
\n
"
);
return
hr_dochost_TranslateAccelerator
;
}
}
static
HRESULT
WINAPI
DocHostUIHandler_GetOptionKeyPath
(
IDocHostUIHandler2
*
iface
,
static
HRESULT
WINAPI
DocHostUIHandler_GetOptionKeyPath
(
IDocHostUIHandler2
*
iface
,
...
@@ -2505,6 +2514,75 @@ static void test_QueryInterface(IUnknown *unk)
...
@@ -2505,6 +2514,75 @@ static void test_QueryInterface(IUnknown *unk)
}
}
static
void
test_TranslateAccelerator
(
IUnknown
*
unk
)
{
IOleObject
*
obj_doc
;
IDispatch
*
disp_doc
;
HRESULT
hres
;
DWORD
keycode
;
MSG
msg_a
=
{
container_hwnd
,
0
,
0
,
0
,
GetTickCount
(),
{
5
,
5
}
};
test_Navigate2
(
unk
);
disp_doc
=
get_document
(
unk
);
hres
=
IDispatch_QueryInterface
(
disp_doc
,
&
IID_IOleObject
,
(
void
**
)
&
obj_doc
);
ok
(
hres
==
S_OK
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
IOleClientSite
*
doc_clientsite
;
hres
=
IOleObject_GetClientSite
(
obj_doc
,
&
doc_clientsite
);
ok
(
hres
==
S_OK
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
IDocHostUIHandler2
*
dochost
;
IUnknown
*
unk_test
;
hres
=
IOleClientSite_QueryInterface
(
doc_clientsite
,
&
IID_IOleInPlaceFrame
,
(
void
**
)
&
unk_test
);
ok
(
hres
==
E_NOINTERFACE
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
IUnknown_Release
(
unk_test
);
hres
=
IOleClientSite_QueryInterface
(
doc_clientsite
,
&
IID_IDocHostShowUI
,
(
void
**
)
&
unk_test
);
todo_wine
ok
(
hres
==
S_OK
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
IUnknown_Release
(
unk_test
);
hres
=
IOleClientSite_QueryInterface
(
doc_clientsite
,
&
IID_IDocHostUIHandler
,
(
void
**
)
&
unk_test
);
ok
(
hres
==
S_OK
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
IUnknown_Release
(
unk_test
);
hres
=
IOleClientSite_QueryInterface
(
doc_clientsite
,
&
IID_IDocHostUIHandler2
,
(
void
**
)
&
dochost
);
ok
(
hres
==
S_OK
,
"Got 0x%08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
msg_a
.
message
=
WM_KEYDOWN
;
hr_dochost_TranslateAccelerator
=
0xdeadbeef
;
for
(
keycode
=
0
;
keycode
<=
0x100
;
keycode
++
)
{
msg_a
.
wParam
=
keycode
;
SET_EXPECT
(
DocHost_TranslateAccelerator
);
hres
=
IDocHostUIHandler_TranslateAccelerator
(
dochost
,
&
msg_a
,
&
CGID_MSHTML
,
1234
);
ok
(
hres
==
0xdeadbeef
,
"Got 0x%08x
\n
"
,
hres
);
CHECK_CALLED
(
DocHost_TranslateAccelerator
);
}
hr_dochost_TranslateAccelerator
=
E_NOTIMPL
;
SET_EXPECT
(
DocHost_TranslateAccelerator
);
hres
=
IDocHostUIHandler_TranslateAccelerator
(
dochost
,
&
msg_a
,
&
CGID_MSHTML
,
1234
);
ok
(
hres
==
E_NOTIMPL
,
"Got 0x%08x
\n
"
,
hres
);
CHECK_CALLED
(
DocHost_TranslateAccelerator
);
IDocHostUIHandler2_Release
(
dochost
);
}
IOleClientSite_Release
(
doc_clientsite
);
}
IOleObject_Release
(
obj_doc
);
}
IDispatch_Release
(
disp_doc
);
}
static
void
test_WebBrowser
(
BOOL
do_download
)
static
void
test_WebBrowser
(
BOOL
do_download
)
{
{
IUnknown
*
unk
=
NULL
;
IUnknown
*
unk
=
NULL
;
...
@@ -2559,6 +2637,7 @@ static void test_WebBrowser(BOOL do_download)
...
@@ -2559,6 +2637,7 @@ static void test_WebBrowser(BOOL do_download)
test_Navigate2
(
unk
);
test_Navigate2
(
unk
);
test_download
(
DWL_EXPECT_BEFORE_NAVIGATE
);
test_download
(
DWL_EXPECT_BEFORE_NAVIGATE
);
test_TranslateAccelerator
(
unk
);
doc2
=
get_document
(
unk
);
doc2
=
get_document
(
unk
);
ok
(
doc
==
doc2
,
"doc != doc2
\n
"
);
ok
(
doc
==
doc2
,
"doc != doc2
\n
"
);
IDispatch_Release
(
doc2
);
IDispatch_Release
(
doc2
);
...
...
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