mshtml: Don't use fragment navigation for SuperNavigate calls.

This commit is contained in:
Jacek Caban 2014-03-04 16:48:31 +01:00 committed by Alexandre Julliard
parent badff7c43a
commit 595fb40efc
5 changed files with 8 additions and 3 deletions

View File

@ -3424,6 +3424,10 @@ static void test_WebBrowser(BOOL do_download, BOOL do_close)
trace("GoForward...\n");
test_go_forward(webbrowser, "http://test.winehq.org/tests/winehq_snapshot/");
test_download(DWL_FROM_GOFORWARD|DWL_HTTP);
}else {
trace("Navigate2 repeated with the same URL...\n");
test_Navigate2(webbrowser, "about:blank");
test_download(DWL_EXPECT_BEFORE_NAVIGATE);
}
test_EnumVerbs(webbrowser);

View File

@ -107,6 +107,7 @@ typedef struct {
#define BINDING_FROMHIST 0x0004
#define BINDING_REFRESH 0x0008
#define BINDING_SUBMIT 0x0010
#define BINDING_NOFRAG 0x0020
HRESULT set_http_header(struct list*,const WCHAR*,int,const WCHAR*,int) DECLSPEC_HIDDEN;
HRESULT create_redirect_nschannel(const WCHAR*,nsChannel*,nsChannel**) DECLSPEC_HIDDEN;

View File

@ -2184,7 +2184,7 @@ static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate(IHTMLPrivateWindow *iface,
headers = V_BSTR(headers_var);
}
hres = super_navigate(window, uri, BINDING_NAVIGATED, headers, post_data, post_data_size);
hres = super_navigate(window, uri, BINDING_NAVIGATED|BINDING_NOFRAG, headers, post_data, post_data_size);
IUri_Release(uri);
if(post_data)
SafeArrayUnaccessData(V_ARRAY(post_data_var));

View File

@ -2210,7 +2210,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
}
}
if(!(flags & BINDING_REFRESH) && window->uri_nofrag && !post_data_size) {
if(!(flags & BINDING_NOFRAG) && window->uri_nofrag && !post_data_size) {
BOOL eq;
hres = IUri_IsEqual(uri_nofrag, window->uri_nofrag, &eq);

View File

@ -407,7 +407,7 @@ static void refresh_proc(task_t *_task)
IOleCommandTarget_Exec(window->doc_obj->client_cmdtrg, &CGID_ShellDocView, 37, 0, &var, NULL);
}
load_uri(task->window, task->window->uri, BINDING_REFRESH);
load_uri(task->window, task->window->uri, BINDING_REFRESH|BINDING_NOFRAG);
}
static void refresh_destr(task_t *_task)