mshtml: Implement IHTMLLocation get_href.

This commit is contained in:
Alistair Leslie-Hughes 2009-08-16 19:57:58 +10:00 committed by Alexandre Julliard
parent d649320045
commit 447e5d1fac
2 changed files with 21 additions and 2 deletions

View File

@ -128,8 +128,20 @@ static HRESULT WINAPI HTMLLocation_put_href(IHTMLLocation *iface, BSTR v)
static HRESULT WINAPI HTMLLocation_get_href(IHTMLLocation *iface, BSTR *p)
{
HTMLLocation *This = HTMLLOCATION_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
TRACE("(%p)->(%p)\n", This, p);
if(!p)
return E_POINTER;
if(!This->doc || !This->doc->url) {
FIXME("No current URL\n");
return E_NOTIMPL;
}
*p = SysAllocString(This->doc->url);
return S_OK;
}
static HRESULT WINAPI HTMLLocation_put_protocol(IHTMLLocation *iface, BSTR v)

View File

@ -2411,6 +2411,13 @@ static void test_location(IHTMLDocument2 *doc)
ok(hres == S_OK, "get_pathname failed: %08x\n", hres);
ok(!strcmp_wa(str, "blank"), "unexpected pathname %s\n", dbgstr_w(str));
hres = IHTMLLocation_get_href(location, NULL);
ok(hres == E_POINTER, "get_href passed: %08x\n", hres);
hres = IHTMLLocation_get_href(location, &str);
ok(hres == S_OK, "get_href failed: %08x\n", hres);
ok(!strcmp_wa(str, "about:blank"), "unexpected href %s\n", dbgstr_w(str));
ref = IHTMLLocation_Release(location);
ok(!ref, "location chould be destroyed here\n");
}