Module: wine Branch: master Commit: c5257dc126fbb63ae5afe27dd221e8bd08c7bbb5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c5257dc126fbb63ae5afe27dd2...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Jan 27 15:55:46 2012 +0100
mshtml: Moved creating URIs relative to window to a new function.
---
dlls/mshtml/binding.h | 1 + dlls/mshtml/htmlwindow.c | 5 +---- dlls/mshtml/persist.c | 7 +++++++ 3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/binding.h b/dlls/mshtml/binding.h index dfb14cf..697370a 100644 --- a/dlls/mshtml/binding.h +++ b/dlls/mshtml/binding.h @@ -114,3 +114,4 @@ HRESULT create_channelbsc(IMoniker*,const WCHAR*,BYTE*,DWORD,nsChannelBSC**) DEC HRESULT channelbsc_load_stream(nsChannelBSC*,IStream*) DECLSPEC_HIDDEN; void channelbsc_set_channel(nsChannelBSC*,nsChannel*,nsIStreamListener*,nsISupports*) DECLSPEC_HIDDEN; IUri *nsuri_get_uri(nsWineURI*) DECLSPEC_HIDDEN; +HRESULT create_relative_uri(HTMLWindow*,const WCHAR*,IUri**) DECLSPEC_HIDDEN; diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index 25fd1ce..67cf3fb 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -814,10 +814,7 @@ static HRESULT WINAPI HTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name, return S_OK; }
- if(This->uri) - hres = CoInternetCombineUrlEx(This->uri, url, URL_ESCAPE_SPACES_ONLY|URL_DONT_ESCAPE_EXTRA_INFO, &uri, 0); - else - hres = CreateUri(url, 0, 0, &uri); + hres = create_relative_uri(This, url, &uri); if(FAILED(hres)) return hres;
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index 6cb7b72..f131062 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -175,6 +175,13 @@ void set_current_mon(HTMLWindow *This, IMoniker *mon) set_script_mode(This, use_gecko_script(This) ? SCRIPTMODE_GECKO : SCRIPTMODE_ACTIVESCRIPT); }
+HRESULT create_relative_uri(HTMLWindow *window, const WCHAR *rel_uri, IUri **uri) +{ + return window->uri + ? CoInternetCombineUrlEx(window->uri, rel_uri, URL_ESCAPE_SPACES_ONLY|URL_DONT_ESCAPE_EXTRA_INFO, uri, 0) + : CreateUri(rel_uri, 0, 0, uri); +} + void set_download_state(HTMLDocumentObj *doc, int state) { if(doc->client) {