Jacek Caban : mshtml: Added IHTMLWindow2::get_location implementation.

Alexandre Julliard julliard at winehq.org
Sun Jan 4 09:08:59 CST 2009


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sat Jan  3 17:45:47 2009 +0100

mshtml: Added IHTMLWindow2::get_location implementation.

---

 dlls/mshtml/htmlwindow.c |   11 +++++++++--
 dlls/mshtml/tests/dom.c  |   11 ++++++++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index b73811a..979ed53 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -248,8 +248,15 @@ static HRESULT WINAPI HTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageEleme
 static HRESULT WINAPI HTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p)
 {
     HTMLWindow *This = HTMLWINDOW2_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    if(!This->doc) {
+        FIXME("This->doc is NULL\n");
+        return E_FAIL;
+    }
+
+    return IHTMLDocument2_get_location(HTMLDOC(This->doc), p);
 }
 
 static HRESULT WINAPI HTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index aa8dbb8..de363bb 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -2185,6 +2185,7 @@ static void test_compatmode(IHTMLDocument2 *doc)
 static void test_location(IHTMLDocument2 *doc)
 {
     IHTMLLocation *location, *location2;
+    IHTMLWindow2 *window;
     ULONG ref;
     HRESULT hres;
 
@@ -2195,10 +2196,18 @@ static void test_location(IHTMLDocument2 *doc)
     ok(hres == S_OK, "get_location failed: %08x\n", hres);
 
     ok(location == location2, "location != location2\n");
+    IHTMLLocation_Release(location2);
 
-    test_ifaces((IUnknown*)location, location_iids);
+    hres = IHTMLDocument2_get_parentWindow(doc, &window);
+    ok(hres == S_OK, "get_parentWindow failed: %08x\n", hres);
 
+    hres = IHTMLWindow2_get_location(window, &location2);
+    ok(hres == S_OK, "get_location failed: %08x\n", hres);
+    ok(location == location2, "location != location2\n");
     IHTMLLocation_Release(location2);
+
+    test_ifaces((IUnknown*)location, location_iids);
+
     ref = IHTMLLocation_Release(location);
     ok(!ref, "location chould be destroyed here\n");
 }




More information about the wine-cvs mailing list