Jacek Caban : mshtml: Store scheme in nsWineURI instead of nsChannel.
Alexandre Julliard
julliard at winehq.org
Fri Jul 20 15:29:59 CDT 2012
Module: wine
Branch: master
Commit: cc533ecc2f06906efd48b8fcb4239fafdd021c67
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cc533ecc2f06906efd48b8fcb4239fafdd021c67
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jul 20 12:36:02 2012 +0200
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 7d70dc9..040fcf2 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 1be94e8..d59e161 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;
}
More information about the wine-cvs
mailing list