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