From cc533ecc2f06906efd48b8fcb4239fafdd021c67 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 20 Jul 2012 12:36:02 +0200 Subject: [PATCH] mshtml: Store scheme in nsWineURI instead of nsChannel. --- dlls/mshtml/binding.h | 1 - dlls/mshtml/nsio.c | 13 +++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/mshtml/binding.h b/dlls/mshtml/binding.h index 7d70dc9f442..040fcf21abe 100644 --- a/dlls/mshtml/binding.h +++ b/dlls/mshtml/binding.h @@ -47,7 +47,6 @@ typedef struct { REQUEST_METHOD request_method; struct list response_headers; struct list request_headers; - UINT url_scheme; } nsChannel; typedef struct BSCallbackVtbl BSCallbackVtbl; diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 1be94e8bb5d..d59e1619a90 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -65,6 +65,7 @@ struct nsWineURI { IUriBuilder *uri_builder; BOOL is_doc_uri; BOOL is_mutable; + DWORD scheme; }; static BOOL ensure_uri(nsWineURI *This) @@ -321,7 +322,7 @@ static void set_uri_window(nsWineURI *This, HTMLOuterWindow *window) static inline BOOL is_http_channel(nsChannel *This) { - return This->url_scheme == URL_SCHEME_HTTP || This->url_scheme == URL_SCHEME_HTTPS; + return This->uri->scheme == URL_SCHEME_HTTP || This->uri->scheme == URL_SCHEME_HTTPS; } static http_header_t *find_http_header(struct list *headers, const WCHAR *name, int len) @@ -2814,6 +2815,7 @@ static const nsIStandardURLVtbl nsStandardURLVtbl = { static nsresult create_nsuri(IUri *iuri, HTMLOuterWindow *window, NSContainer *container, nsWineURI **_retval) { nsWineURI *ret = heap_alloc_zero(sizeof(nsWineURI)); + HRESULT hres; ret->nsIURL_iface.lpVtbl = &nsURLVtbl; ret->nsIStandardURL_iface.lpVtbl = &nsStandardURLVtbl; @@ -2826,6 +2828,10 @@ static nsresult create_nsuri(IUri *iuri, HTMLOuterWindow *window, NSContainer *c IUri_AddRef(iuri); ret->uri = iuri; + hres = IUri_GetScheme(iuri, &ret->scheme); + if(FAILED(hres)) + ret->scheme = URL_SCHEME_UNKNOWN; + TRACE("retval=%p\n", ret); *_retval = ret; return NS_OK; @@ -2856,7 +2862,6 @@ HRESULT create_doc_uri(HTMLOuterWindow *window, WCHAR *url, nsWineURI **ret) static nsresult create_nschannel(nsWineURI *uri, nsChannel **ret) { nsChannel *channel; - HRESULT hres; if(!ensure_uri(uri)) return NS_ERROR_UNEXPECTED; @@ -2876,10 +2881,6 @@ static nsresult create_nschannel(nsWineURI *uri, nsChannel **ret) nsIURL_AddRef(&uri->nsIURL_iface); channel->uri = uri; - hres = IUri_GetScheme(uri->uri, &channel->url_scheme); - if(FAILED(hres)) - channel->url_scheme = URL_SCHEME_UNKNOWN; - *ret = channel; return NS_OK; } -- 2.11.4.GIT