Commit b25d49c6 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Added semi-stub implementation of IHTMLWindow2::status property.

parent a8487025
...@@ -491,15 +491,25 @@ static HRESULT WINAPI HTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p ...@@ -491,15 +491,25 @@ static HRESULT WINAPI HTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p
static HRESULT WINAPI HTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v) static HRESULT WINAPI HTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v)
{ {
HTMLWindow *This = impl_from_IHTMLWindow2(iface); HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
return E_NOTIMPL; WARN("(%p)->(%s)\n", This, debugstr_w(v));
/*
* FIXME: Since IE7, setting status is blocked, but still possible in certain circumstances.
* Ignoring the call should be enough for us.
*/
return S_OK;
} }
static HRESULT WINAPI HTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p) static HRESULT WINAPI HTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
{ {
HTMLWindow *This = impl_from_IHTMLWindow2(iface); HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL; TRACE("(%p)->(%p)\n", This, p);
/* See put_status */
*p = NULL;
return S_OK;
} }
static HRESULT WINAPI HTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression, static HRESULT WINAPI HTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression,
......
...@@ -1058,6 +1058,31 @@ static void _set_window_name(unsigned line, IHTMLWindow2 *window, const char *na ...@@ -1058,6 +1058,31 @@ static void _set_window_name(unsigned line, IHTMLWindow2 *window, const char *na
_test_window_name(line, window, name); _test_window_name(line, window, name);
} }
#define test_window_status(d) _test_window_status(__LINE__,d)
static void _test_window_status(unsigned line, IHTMLWindow2 *window)
{
BSTR status;
HRESULT hres;
status = (void*)0xdeadbeef;
hres = IHTMLWindow2_get_status(window, &status);
ok_(__FILE__,line)(hres == S_OK, "get_status failed: %08x\n", hres);
ok_(__FILE__,line)(!status, "status = %s\n", wine_dbgstr_w(status));
SysFreeString(status);
}
#define set_window_status(w,n) _set_window_status(__LINE__,w,n)
static void _set_window_status(unsigned line, IHTMLWindow2 *window, const char *status)
{
BSTR str;
HRESULT hres;
str = a2bstr(status);
hres = IHTMLWindow2_put_status(window, str);
SysFreeString(str);
ok_(__FILE__,line)(hres == S_OK, "put_status failed: %08x\n", hres);
}
#define test_window_length(w,l) _test_window_length(__LINE__,w,l) #define test_window_length(w,l) _test_window_length(__LINE__,w,l)
static void _test_window_length(unsigned line, IHTMLWindow2 *window, LONG exlen) static void _test_window_length(unsigned line, IHTMLWindow2 *window, LONG exlen)
{ {
...@@ -4146,6 +4171,8 @@ static void test_window(IHTMLDocument2 *doc) ...@@ -4146,6 +4171,8 @@ static void test_window(IHTMLDocument2 *doc)
set_window_name(window, "test"); set_window_name(window, "test");
test_window_length(window, 0); test_window_length(window, 0);
test_screen(window); test_screen(window);
test_window_status(window);
set_window_status(window, "Test!");
IHTMLWindow2_Release(window); IHTMLWindow2_Release(window);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment