Jacek Caban : mshtml: Added DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag support.

Alexandre Julliard julliard at winehq.org
Wed Jun 7 16:24:09 CDT 2017


Module: wine
Branch: master
Commit: 11d4969baa773d9ef7742cfe56b8a590d3abd711
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=11d4969baa773d9ef7742cfe56b8a590d3abd711

Author: Jacek Caban <jacek at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);




More information about the wine-cvs mailing list