Jacek Caban : mshtml: Moved creating URIs relative to window to a new function.

Alexandre Julliard julliard at winehq.org
Fri Jan 27 11:30:41 CST 2012


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

Author: Jacek Caban <jacek at 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) {




More information about the wine-cvs mailing list