Piotr Caban : mshtml: Added IHTMLPrivateWindow_GetAddressBarUrl implementation.

Alexandre Julliard julliard at winehq.org
Fri Mar 11 10:23:38 CST 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Mar 11 11:14:08 2011 +0100

mshtml: Added IHTMLPrivateWindow_GetAddressBarUrl implementation.

---

 dlls/mshtml/htmlwindow.c    |    9 +++++++--
 dlls/mshtml/tests/htmldoc.c |   14 ++++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index 99d03b3..0e42021 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -1777,8 +1777,13 @@ static HRESULT WINAPI HTMLPrivateWindow_FindWindowByName(IHTMLPrivateWindow *ifa
 static HRESULT WINAPI HTMLPrivateWindow_GetAddressBar(IHTMLPrivateWindow *iface, BSTR *url)
 {
     HTMLWindow *This = impl_from_IHTMLPrivateWindow(iface);
-    FIXME("(%p)->(%p)\n", This, url);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, url);
+
+    if(!url)
+        return E_INVALIDARG;
+
+    *url = SysAllocString(This->url);
+    return S_OK;
 }
 
 static const IHTMLPrivateWindowVtbl HTMLPrivateWindowVtbl = {
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index ab5e17b..11b2036 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -3533,7 +3533,6 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace)
     str2 = a2bstr("");
     V_VT(&vempty) = VT_EMPTY;
     hres = IHTMLPrivateWindow_SuperNavigate(priv_window, str, str2, NULL, NULL, &vempty, &vempty, 0);
-    SysFreeString(str);
     SysFreeString(str2);
     ok(hres == S_OK, "SuperNavigate failed: %08x\n", hres);
 
@@ -3548,9 +3547,20 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace)
         test_GetCurMoniker(doc_unk, doc_mon, NULL);
         doc_mon = NULL;
     }
-    IHTMLPrivateWindow_Release(priv_window);
+    hres = IHTMLPrivateWindow_GetAddressBarUrl(priv_window, &str2);
+    ok(hres == S_OK, "GetAddressBarUrl failed: %08x\n", hres);
+    ok(!strcmp_wa(str2, use_replace?"about:blank":"http://www.winehq.org/"),
+                "unexpected address bar url:  %s\n", wine_dbgstr_w(str2));
+    SysFreeString(str2);
 
     test_download(DWL_VERBDONE);
+
+    hres = IHTMLPrivateWindow_GetAddressBarUrl(priv_window, &str2);
+    ok(hres == S_OK, "GetAddressBarUrl failed: %08x\n", hres);
+    ok(!lstrcmpW(str2, str), "unexpected address bar url:  %s\n", wine_dbgstr_w(str2));
+    SysFreeString(str2);
+    SysFreeString(str);
+    IHTMLPrivateWindow_Release(priv_window);
 }
 
 static void test_open_window(IHTMLDocument2 *doc)




More information about the wine-cvs mailing list