Jacek Caban : mshtml: Set referer HTTP header in nsIHttpChannel:: SetReferrerWithPolicy.

Alexandre Julliard julliard at winehq.org
Wed Aug 3 18:09:17 CDT 2016


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Aug  3 15:53:20 2016 +0200

mshtml: Set referer HTTP header in nsIHttpChannel::SetReferrerWithPolicy.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/nsio.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index cd6c21f..88164d0 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -1303,7 +1303,11 @@ static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsI
     nsChannel *This = impl_from_nsIHttpChannel(iface);
     DWORD channel_scheme, referrer_scheme;
     nsWineURI *referrer;
+    BSTR referrer_uri;
     nsresult nsres;
+    HRESULT hres;
+
+    static const WCHAR refererW[] = {'R','e','f','e','r','e','r'};
 
     TRACE("(%p)->(%p %d)\n", This, aReferrer, aReferrerPolicy);
 
@@ -1338,6 +1342,10 @@ static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsI
         return NS_OK;
     }
 
+    hres = IUri_GetDisplayUri(referrer->uri, &referrer_uri);
+    if(SUCCEEDED(hres) )
+        set_http_header(&This->request_headers, refererW, sizeof(refererW)/sizeof(WCHAR), referrer_uri, SysStringLen(referrer_uri));
+
     This->referrer = (nsIURI*)&referrer->nsIFileURL_iface;
     return NS_OK;
 }




More information about the wine-cvs mailing list