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
cfbc37c6
Commit
cfbc37c6
authored
Aug 18, 2015
by
Jacek Caban
Committed by
Alexandre Julliard
Aug 18, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ieframe: Fixed and improved navigation command state tests.
parent
5a2aa4a8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
132 additions
and
100 deletions
+132
-100
navigate.c
dlls/ieframe/navigate.c
+2
-11
webbrowser.c
dlls/ieframe/tests/webbrowser.c
+130
-89
No files found.
dlls/ieframe/navigate.c
View file @
cfbc37c6
...
@@ -1091,20 +1091,11 @@ static HRESULT navigate_history(DocHost *This, unsigned travellog_pos)
...
@@ -1091,20 +1091,11 @@ static HRESULT navigate_history(DocHost *This, unsigned travellog_pos)
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
if
(
travellog_pos
<
This
->
travellog
.
position
)
{
on_commandstate_change
(
This
,
CSC_NAVIGATEBACK
,
VARIANT_FALSE
);
on_commandstate_change
(
This
,
CSC_NAVIGATEFORWARD
,
VARIANT_TRUE
);
}
else
if
(
travellog_pos
>
This
->
travellog
.
position
)
{
on_commandstate_change
(
This
,
CSC_NAVIGATEBACK
,
VARIANT_TRUE
);
on_commandstate_change
(
This
,
CSC_NAVIGATEFORWARD
,
VARIANT_FALSE
);
}
This
->
travellog
.
loading_pos
=
travellog_pos
;
This
->
travellog
.
loading_pos
=
travellog_pos
;
entry
=
This
->
travellog
.
log
+
This
->
travellog
.
loading_pos
;
entry
=
This
->
travellog
.
log
+
This
->
travellog
.
loading_pos
;
update_navigation_commands
(
This
);
if
(
!
entry
->
stream
)
if
(
!
entry
->
stream
)
return
async_doc_navigate
(
This
,
entry
->
url
,
NULL
,
NULL
,
0
,
FALSE
);
return
async_doc_navigate
(
This
,
entry
->
url
,
NULL
,
NULL
,
0
,
FALSE
);
...
...
dlls/ieframe/tests/webbrowser.c
View file @
cfbc37c6
...
@@ -96,8 +96,10 @@ DEFINE_EXPECT(Invoke_DOWNLOADBEGIN);
...
@@ -96,8 +96,10 @@ DEFINE_EXPECT(Invoke_DOWNLOADBEGIN);
DEFINE_EXPECT
(
Invoke_BEFORENAVIGATE2
);
DEFINE_EXPECT
(
Invoke_BEFORENAVIGATE2
);
DEFINE_EXPECT
(
Invoke_SETSECURELOCKICON
);
DEFINE_EXPECT
(
Invoke_SETSECURELOCKICON
);
DEFINE_EXPECT
(
Invoke_FILEDOWNLOAD
);
DEFINE_EXPECT
(
Invoke_FILEDOWNLOAD
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
DEFINE_EXPECT
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
DEFINE_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
DEFINE_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
DEFINE_EXPECT
(
Invoke_ONMENUBAR
);
DEFINE_EXPECT
(
Invoke_ONMENUBAR
);
...
@@ -158,8 +160,8 @@ static BOOL is_downloading, do_download, is_first_load, use_container_olecmd, te
...
@@ -158,8 +160,8 @@ static BOOL is_downloading, do_download, is_first_load, use_container_olecmd, te
static
HRESULT
hr_dochost_TranslateAccelerator
=
E_NOTIMPL
;
static
HRESULT
hr_dochost_TranslateAccelerator
=
E_NOTIMPL
;
static
HRESULT
hr_site_TranslateAccelerator
=
E_NOTIMPL
;
static
HRESULT
hr_site_TranslateAccelerator
=
E_NOTIMPL
;
static
const
char
*
current_url
;
static
const
char
*
current_url
;
static
int
wb_version
,
expect_
navigate_back_enable
,
set_navigate_back_enable
,
expect_navigate_forward_enable
,
static
int
wb_version
,
expect_
update_commands_enable
,
set_update_commands_enable
;
set_navigate_forward_enable
,
expect_update_commands_enable
,
set_update_commands_enable
;
static
BOOL
nav_back_todo
,
nav_forward_todo
;
/* FIXME */
#define DWL_EXPECT_BEFORE_NAVIGATE 0x01
#define DWL_EXPECT_BEFORE_NAVIGATE 0x01
#define DWL_FROM_PUT_HREF 0x02
#define DWL_FROM_PUT_HREF 0x02
...
@@ -167,6 +169,7 @@ static int wb_version, expect_navigate_back_enable, set_navigate_back_enable, ex
...
@@ -167,6 +169,7 @@ static int wb_version, expect_navigate_back_enable, set_navigate_back_enable, ex
#define DWL_FROM_GOFORWARD 0x08
#define DWL_FROM_GOFORWARD 0x08
#define DWL_HTTP 0x10
#define DWL_HTTP 0x10
#define DWL_REFRESH 0x20
#define DWL_REFRESH 0x20
#define DWL_BACK_ENABLE 0x40
static
DWORD
dwl_flags
;
static
DWORD
dwl_flags
;
...
@@ -897,13 +900,31 @@ static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMe
...
@@ -897,13 +900,31 @@ static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMe
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_NAVIGATEFORWARD
)
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_NAVIGATEFORWARD
)
{
{
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
if
(
nav_forward_todo
)
{
set_navigate_forward_enable
=
V_BOOL
(
pDispParams
->
rgvarg
);
if
(
V_BOOL
(
pDispParams
->
rgvarg
))
todo_wine
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
todo_wine
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
else
{
if
(
V_BOOL
(
pDispParams
->
rgvarg
))
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
}
}
else
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_NAVIGATEBACK
)
else
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_NAVIGATEBACK
)
{
{
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
if
(
nav_back_todo
)
{
set_navigate_back_enable
=
V_BOOL
(
pDispParams
->
rgvarg
);
if
(
V_BOOL
(
pDispParams
->
rgvarg
))
todo_wine
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
todo_wine
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
else
{
if
(
V_BOOL
(
pDispParams
->
rgvarg
))
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
CHECK_EXPECT2
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
}
}
else
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_UPDATECOMMANDS
)
else
if
(
V_I4
(
pDispParams
->
rgvarg
+
1
)
==
CSC_UPDATECOMMANDS
)
{
{
...
@@ -1944,13 +1965,8 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
...
@@ -1944,13 +1965,8 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
}
}
expect_navigate_back_enable
=
0
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
set_navigate_back_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
expect_navigate_forward_enable
=
0
;
set_navigate_forward_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
expect_update_commands_enable
=
0
;
expect_update_commands_enable
=
0
;
set_update_commands_enable
=
0xdead
;
set_update_commands_enable
=
0xdead
;
...
@@ -1958,6 +1974,7 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
...
@@ -1958,6 +1974,7 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
}
else
{
}
else
{
SET_EXPECT
(
Invoke_STATUSTEXTCHANGE
);
SET_EXPECT
(
Invoke_STATUSTEXTCHANGE
);
SET_EXPECT
(
Invoke_PROGRESSCHANGE
);
SET_EXPECT
(
Invoke_PROGRESSCHANGE
);
nav_back_todo
=
nav_forward_todo
=
TRUE
;
}
}
hres
=
IOleObject_SetClientSite
(
oleobj
,
client
);
hres
=
IOleObject_SetClientSite
(
oleobj
,
client
);
...
@@ -1974,13 +1991,8 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
...
@@ -1974,13 +1991,8 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
todo_wine
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
todo_wine
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
}
}
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
ok
(
expect_navigate_back_enable
==
set_navigate_back_enable
,
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
"got %d
\n
"
,
set_navigate_back_enable
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
"got %d
\n
"
,
set_navigate_forward_enable
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
todo_wine
ok
(
expect_update_commands_enable
==
set_update_commands_enable
,
todo_wine
ok
(
expect_update_commands_enable
==
set_update_commands_enable
,
...
@@ -1988,6 +2000,7 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
...
@@ -1988,6 +2000,7 @@ static void test_ClientSite(IWebBrowser2 *unk, IOleClientSite *client, BOOL stop
}
else
{
}
else
{
CLEAR_CALLED
(
Invoke_STATUSTEXTCHANGE
);
/* Called by IE9 */
CLEAR_CALLED
(
Invoke_STATUSTEXTCHANGE
);
/* Called by IE9 */
CLEAR_CALLED
(
Invoke_PROGRESSCHANGE
);
CLEAR_CALLED
(
Invoke_PROGRESSCHANGE
);
nav_back_todo
=
nav_forward_todo
=
FALSE
;
}
}
hres
=
IOleInPlaceObject_GetWindow
(
inplace
,
&
hwnd
);
hres
=
IOleInPlaceObject_GetWindow
(
inplace
,
&
hwnd
);
...
@@ -2705,15 +2718,8 @@ static void test_Navigate2(IWebBrowser2 *webbrowser, const char *nav_url)
...
@@ -2705,15 +2718,8 @@ static void test_Navigate2(IWebBrowser2 *webbrowser, const char *nav_url)
SET_EXPECT
(
Invoke_SETSECURELOCKICON
);
SET_EXPECT
(
Invoke_SETSECURELOCKICON
);
SET_EXPECT
(
Invoke_FILEDOWNLOAD
);
SET_EXPECT
(
Invoke_FILEDOWNLOAD
);
if
(
use_container_olecmd
)
SET_EXPECT
(
Exec_SETDOWNLOADSTATE_0
);
if
(
use_container_olecmd
)
SET_EXPECT
(
Exec_SETDOWNLOADSTATE_0
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
expect_navigate_back_enable
=
0
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
set_navigate_back_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
expect_navigate_forward_enable
=
0
;
set_navigate_forward_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
SET_EXPECT
(
EnableModeless_TRUE
);
SET_EXPECT
(
EnableModeless_TRUE
);
if
(
!
use_container_olecmd
)
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
if
(
!
use_container_olecmd
)
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
if
(
is_file
)
SET_EXPECT
(
Invoke_PROGRESSCHANGE
);
if
(
is_file
)
SET_EXPECT
(
Invoke_PROGRESSCHANGE
);
...
@@ -2747,15 +2753,8 @@ static void test_Navigate2(IWebBrowser2 *webbrowser, const char *nav_url)
...
@@ -2747,15 +2753,8 @@ static void test_Navigate2(IWebBrowser2 *webbrowser, const char *nav_url)
}
}
todo_wine
CHECK_CALLED
(
Invoke_SETSECURELOCKICON
);
todo_wine
CHECK_CALLED
(
Invoke_SETSECURELOCKICON
);
todo_wine
CHECK_CALLED
(
Invoke_FILEDOWNLOAD
);
todo_wine
CHECK_CALLED
(
Invoke_FILEDOWNLOAD
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
ok
(
expect_navigate_back_enable
==
set_navigate_back_enable
,
"got %d
\n
"
,
set_navigate_back_enable
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
"got %d
\n
"
,
set_navigate_forward_enable
);
if
(
use_container_olecmd
)
todo_wine
CHECK_CALLED
(
Exec_SETDOWNLOADSTATE_0
);
if
(
use_container_olecmd
)
todo_wine
CHECK_CALLED
(
Exec_SETDOWNLOADSTATE_0
);
CHECK_CALLED
(
EnableModeless_TRUE
);
CHECK_CALLED
(
EnableModeless_TRUE
);
if
(
!
use_container_olecmd
)
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
if
(
!
use_container_olecmd
)
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
...
@@ -2888,13 +2887,16 @@ static void test_download(DWORD flags)
...
@@ -2888,13 +2887,16 @@ static void test_download(DWORD flags)
SET_EXPECT
(
Invoke_282
);
SET_EXPECT
(
Invoke_282
);
SET_EXPECT
(
EnableModeless_FALSE
);
SET_EXPECT
(
EnableModeless_FALSE
);
expect_navigate_back_enable
=
0
;
if
(
!
(
flags
&
DWL_REFRESH
))
{
set_navigate_back_enable
=
0xdead
;
if
(
flags
&
(
DWL_FROM_GOFORWARD
|
DWL_BACK_ENABLE
))
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
expect_navigate_forward_enable
=
0
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
set_navigate_forward_enable
=
0xdead
;
if
(
flags
&
DWL_FROM_GOBACK
)
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
expect_update_commands_enable
=
0
;
expect_update_commands_enable
=
0
;
set_update_commands_enable
=
0xdead
;
set_update_commands_enable
=
0xdead
;
...
@@ -2954,6 +2956,24 @@ static void test_download(DWORD flags)
...
@@ -2954,6 +2956,24 @@ static void test_download(DWORD flags)
todo_wine
CHECK_CALLED
(
EnableModeless_FALSE
);
todo_wine
CHECK_CALLED
(
EnableModeless_FALSE
);
else
else
CLEAR_CALLED
(
EnableModeless_FALSE
);
/* IE 8 */
CLEAR_CALLED
(
EnableModeless_FALSE
);
/* IE 8 */
if
(
!
(
flags
&
DWL_REFRESH
))
{
if
(
nav_back_todo
)
{
if
(
flags
&
(
DWL_FROM_GOFORWARD
|
DWL_BACK_ENABLE
))
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
else
{
if
(
flags
&
(
DWL_FROM_GOFORWARD
|
DWL_BACK_ENABLE
))
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
if
(
flags
&
DWL_FROM_GOBACK
)
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
CLEAR_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
CLEAR_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
todo_wine
CHECK_CALLED
(
Invoke_STATUSTEXTCHANGE
);
todo_wine
CHECK_CALLED
(
Invoke_STATUSTEXTCHANGE
);
todo_wine
CHECK_CALLED
(
SetStatusText
);
todo_wine
CHECK_CALLED
(
SetStatusText
);
...
@@ -3130,27 +3150,46 @@ static void test_go_back(IWebBrowser2 *wb, const char *back_url, int back_enable
...
@@ -3130,27 +3150,46 @@ static void test_go_back(IWebBrowser2 *wb, const char *back_url, int back_enable
SET_EXPECT
(
Invoke_BEFORENAVIGATE2
);
SET_EXPECT
(
Invoke_BEFORENAVIGATE2
);
expect_navigate_back_enable
=
back_enable
;
if
(
back_enable
)
set_navigate_back_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
else
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
expect_navigate_forward_enable
=
forward_enable
;
if
(
forward_enable
)
set_navigate_forward_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
else
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
nav_forward_todo
=
forward_todo
;
SET_EXPECT
(
Invoke_PROPERTYCHANGE
);
SET_EXPECT
(
Invoke_PROPERTYCHANGE
);
hres
=
IWebBrowser2_GoBack
(
wb
);
hres
=
IWebBrowser2_GoBack
(
wb
);
ok
(
hres
==
S_OK
,
"GoBack failed: %08x
\n
"
,
hres
);
ok
(
hres
==
S_OK
,
"GoBack failed: %08x
\n
"
,
hres
);
CHECK_CALLED
(
Invoke_BEFORENAVIGATE2
);
CHECK_CALLED
(
Invoke_BEFORENAVIGATE2
);
nav_forward_todo
=
FALSE
;
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
if
(
nav_back_todo
)
{
ok
(
expect_navigate_back_enable
==
set_navigate_back_enable
,
"got %d
\n
"
,
set_navigate_back_enable
);
if
(
back_enable
)
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
else
{
if
(
back_enable
)
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
}
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
if
(
forward_todo
)
{
if
(
forward_todo
)
if
(
forward_enable
)
todo_wine
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
"got %d
\n
"
,
set_navigate_forward_enable
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
else
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
"got %d
\n
"
,
set_navigate_forward_enable
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
else
{
if
(
forward_enable
)
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
CLEAR_CALLED
(
Invoke_PROPERTYCHANGE
);
/* called by IE11 */
CLEAR_CALLED
(
Invoke_PROPERTYCHANGE
);
/* called by IE11 */
}
}
...
@@ -3164,25 +3203,29 @@ static void test_go_forward(IWebBrowser2 *wb, const char *forward_url, int back_
...
@@ -3164,25 +3203,29 @@ static void test_go_forward(IWebBrowser2 *wb, const char *forward_url, int back_
SET_EXPECT
(
Invoke_BEFORENAVIGATE2
);
SET_EXPECT
(
Invoke_BEFORENAVIGATE2
);
expect_navigate_back_enable
=
back_enable
;
if
(
back_enable
)
set_navigate_back_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
else
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
expect_navigate_forward_enable
=
forward_enable
;
if
(
forward_enable
)
set_navigate_forward_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
else
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
hres
=
IWebBrowser2_GoForward
(
wb
);
hres
=
IWebBrowser2_GoForward
(
wb
);
ok
(
hres
==
S_OK
,
"GoForward failed: %08x
\n
"
,
hres
);
ok
(
hres
==
S_OK
,
"GoForward failed: %08x
\n
"
,
hres
);
CHECK_CALLED
(
Invoke_BEFORENAVIGATE2
);
CHECK_CALLED
(
Invoke_BEFORENAVIGATE2
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
if
(
back_enable
)
ok
(
expect_navigate_back_enable
==
set_navigate_back_enable
,
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_TRUE
);
"got %d
\n
"
,
set_navigate_back_enable
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
if
(
forward_enable
)
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_TRUE
);
"got %d
\n
"
,
set_navigate_forward_enable
);
else
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
}
}
static
void
test_QueryInterface
(
IWebBrowser2
*
wb
)
static
void
test_QueryInterface
(
IWebBrowser2
*
wb
)
...
@@ -3533,13 +3576,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
...
@@ -3533,13 +3576,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
SET_EXPECT
(
OnInPlaceDeactivate
);
SET_EXPECT
(
OnInPlaceDeactivate
);
SET_EXPECT
(
Invoke_STATUSTEXTCHANGE
);
SET_EXPECT
(
Invoke_STATUSTEXTCHANGE
);
if
(
!
do_download
)
{
if
(
!
do_download
)
{
expect_navigate_back_enable
=
0
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
set_navigate_back_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
expect_navigate_forward_enable
=
0
;
set_navigate_forward_enable
=
0xdead
;
SET_EXPECT
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
expect_update_commands_enable
=
0
;
expect_update_commands_enable
=
0
;
set_update_commands_enable
=
0xdead
;
set_update_commands_enable
=
0xdead
;
...
@@ -3547,6 +3585,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
...
@@ -3547,6 +3585,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
if
(
use_container_olecmd
)
if
(
use_container_olecmd
)
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
SET_EXPECT
(
Invoke_DOWNLOADCOMPLETE
);
}
else
{
nav_back_todo
=
nav_forward_todo
=
TRUE
;
}
}
hres
=
IOleObject_Close
(
oo
,
OLECLOSE_NOSAVE
);
hres
=
IOleObject_Close
(
oo
,
OLECLOSE_NOSAVE
);
ok
(
hres
==
S_OK
,
"OleObject_Close failed: %x
\n
"
,
hres
);
ok
(
hres
==
S_OK
,
"OleObject_Close failed: %x
\n
"
,
hres
);
...
@@ -3557,13 +3597,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
...
@@ -3557,13 +3597,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
CHECK_CALLED
(
OnInPlaceDeactivate
);
CHECK_CALLED
(
OnInPlaceDeactivate
);
CLEAR_CALLED
(
Invoke_STATUSTEXTCHANGE
);
/* Called by IE9 */
CLEAR_CALLED
(
Invoke_STATUSTEXTCHANGE
);
/* Called by IE9 */
if
(
!
do_download
)
{
if
(
!
do_download
)
{
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEBACK_FALSE
);
ok
(
expect_navigate_back_enable
==
set_navigate_back_enable
,
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD_FALSE
);
"got %d
\n
"
,
set_navigate_back_enable
);
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_NAVIGATEFORWARD
);
ok
(
expect_navigate_forward_enable
==
set_navigate_forward_enable
,
"got %d
\n
"
,
set_navigate_forward_enable
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
todo_wine
CHECK_CALLED
(
Invoke_COMMANDSTATECHANGE_UPDATECOMMANDS
);
todo_wine
ok
(
expect_update_commands_enable
==
set_update_commands_enable
,
todo_wine
ok
(
expect_update_commands_enable
==
set_update_commands_enable
,
...
@@ -3571,6 +3606,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
...
@@ -3571,6 +3606,8 @@ static void test_Close(IWebBrowser2 *wb, BOOL do_download)
if
(
use_container_olecmd
)
if
(
use_container_olecmd
)
todo_wine
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
todo_wine
CHECK_CALLED
(
Invoke_DOWNLOADCOMPLETE
);
}
else
{
nav_back_todo
=
nav_forward_todo
=
FALSE
;
}
}
hres
=
IOleObject_GetClientSite
(
oo
,
&
ocs
);
hres
=
IOleObject_GetClientSite
(
oo
,
&
ocs
);
...
@@ -3669,26 +3706,32 @@ static void test_WebBrowser(DWORD flags, BOOL do_close)
...
@@ -3669,26 +3706,32 @@ static void test_WebBrowser(DWORD flags, BOOL do_close)
trace
(
"Navigate2 http URL...
\n
"
);
trace
(
"Navigate2 http URL...
\n
"
);
test_ready_state
(
READYSTATE_COMPLETE
);
test_ready_state
(
READYSTATE_COMPLETE
);
test_Navigate2
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
);
test_Navigate2
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
);
nav_back_todo
=
TRUE
;
test_download
(
DWL_EXPECT_BEFORE_NAVIGATE
|
DWL_HTTP
);
test_download
(
DWL_EXPECT_BEFORE_NAVIGATE
|
DWL_HTTP
);
nav_back_todo
=
FALSE
;
test_Refresh
(
webbrowser
,
FALSE
);
test_Refresh
(
webbrowser
,
FALSE
);
test_Refresh
(
webbrowser
,
TRUE
);
test_Refresh
(
webbrowser
,
TRUE
);
trace
(
"put_href http URL...
\n
"
);
trace
(
"put_href http URL...
\n
"
);
test_put_href
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
);
test_put_href
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
);
test_download
(
DWL_FROM_PUT_HREF
|
DWL_HTTP
);
test_download
(
DWL_FROM_PUT_HREF
|
DWL_HTTP
|
DWL_BACK_ENABLE
);
trace
(
"GoBack...
\n
"
);
trace
(
"GoBack...
\n
"
);
nav_back_todo
=
TRUE
;
test_go_back
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
,
0
,
0
,
1
);
test_go_back
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
,
0
,
0
,
1
);
test_download
(
DWL_FROM_GOBACK
|
DWL_HTTP
);
test_download
(
DWL_FROM_GOBACK
|
DWL_HTTP
);
nav_back_todo
=
FALSE
;
trace
(
"GoForward...
\n
"
);
trace
(
"GoForward...
\n
"
);
test_go_forward
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
,
-
1
,
0
);
test_go_forward
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
,
-
1
,
0
);
test_download
(
DWL_FROM_GOFORWARD
|
DWL_HTTP
);
test_download
(
DWL_FROM_GOFORWARD
|
DWL_HTTP
);
trace
(
"GoBack...
\n
"
);
trace
(
"GoBack...
\n
"
);
nav_back_todo
=
TRUE
;
test_go_back
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
,
0
,
-
1
,
0
);
test_go_back
(
webbrowser
,
"http://test.winehq.org/tests/hello.html"
,
0
,
-
1
,
0
);
test_download
(
DWL_FROM_GOBACK
|
DWL_HTTP
);
test_download
(
DWL_FROM_GOBACK
|
DWL_HTTP
);
nav_back_todo
=
FALSE
;
trace
(
"GoForward...
\n
"
);
trace
(
"GoForward...
\n
"
);
test_go_forward
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
,
-
1
,
0
);
test_go_forward
(
webbrowser
,
"http://test.winehq.org/tests/winehq_snapshot/"
,
-
1
,
0
);
...
@@ -3704,9 +3747,7 @@ static void test_WebBrowser(DWORD flags, BOOL do_close)
...
@@ -3704,9 +3747,7 @@ static void test_WebBrowser(DWORD flags, BOOL do_close)
test_dochost_qs
(
webbrowser
);
test_dochost_qs
(
webbrowser
);
}
else
{
}
else
{
trace
(
"??
\n
"
);
test_ExecWB
(
webbrowser
,
TRUE
);
test_ExecWB
(
webbrowser
,
TRUE
);
trace
(
"or here
\n
"
);
}
}
test_external
(
webbrowser
);
test_external
(
webbrowser
);
...
...
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