Module: wine Branch: master Commit: 11d4969baa773d9ef7742cfe56b8a590d3abd711 URL: http://source.winehq.org/git/wine.git/?a=commit;h=11d4969baa773d9ef7742cfe56...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Jun 7 16:10:51 2017 +0200
mshtml: Added DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag support.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mshtml/binding.h | 1 + dlls/mshtml/navigate.c | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/binding.h b/dlls/mshtml/binding.h index f5b85e9..71c477a 100644 --- a/dlls/mshtml/binding.h +++ b/dlls/mshtml/binding.h @@ -82,6 +82,7 @@ struct BSCallback { request_data_t request_data; ULONG readed; DWORD bindf; + DWORD bindinfo_options; BOOL bindinfo_ready; binding_bom_t bom;
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index d036364..9dec64d 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -390,7 +390,7 @@ static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
pbindinfo->cbstgmedData = This->request_data.post_data_len; pbindinfo->dwCodePage = CP_UTF8; - pbindinfo->dwOptions = 0x80000; + pbindinfo->dwOptions = This->bindinfo_options;
if(This->request_data.post_data_len) { pbindinfo->dwBindVerb = BINDVERB_POST; @@ -674,6 +674,7 @@ void init_bscallback(BSCallback *This, const BSCallbackVtbl *vtbl, IMoniker *mon This->vtbl = vtbl; This->ref = 1; This->bindf = bindf; + This->bindinfo_options = BINDINFO_OPTIONS_USE_IE_ENCODING; This->bom = BOM_NONE;
list_init(&This->entry); @@ -1312,8 +1313,15 @@ static HRESULT nsChannelBSC_init_bindinfo(BSCallback *bsc) { nsChannelBSC *This = nsChannelBSC_from_BSCallback(bsc); nsChannel *nschannel = This->nschannel; + HTMLDocumentObj *doc_obj; HRESULT hres;
+ if(This->is_doc_channel && This->bsc.window && This->bsc.window->base.outer_window + && (doc_obj = This->bsc.window->base.outer_window->doc_obj)) { + if(doc_obj->hostinfo.dwFlags & DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION) + This->bsc.bindinfo_options |= BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS; + } + if(nschannel && nschannel->post_data_stream) { hres = read_post_data_stream(nschannel->post_data_stream, nschannel->post_data_contains_headers, &nschannel->request_headers, &This->bsc.request_data);