Module: wine Branch: master Commit: 5d52373c62f665185e7c9b7b06e71a5b7f70e9df URL: http://source.winehq.org/git/wine.git/?a=commit;h=5d52373c62f665185e7c9b7b06...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Aug 14 16:59:13 2015 +0200
mshtml: Added IHTMLCurrentStyle3::whiteSpace property implementation.
---
dlls/mshtml/htmlcurstyle.c | 6 ++++-- dlls/mshtml/tests/style.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c index bf46cfc..8e7a146 100644 --- a/dlls/mshtml/htmlcurstyle.c +++ b/dlls/mshtml/htmlcurstyle.c @@ -1191,8 +1191,10 @@ static HRESULT WINAPI HTMLCurrentStyle3_get_wordSpacing(IHTMLCurrentStyle3 *ifac static HRESULT WINAPI HTMLCurrentStyle3_get_whiteSpace(IHTMLCurrentStyle3 *iface, BSTR *p) { HTMLCurrentStyle *This = impl_from_IHTMLCurrentStyle3(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, p); + + return get_nsstyle_attr(This->nsstyle, STYLEID_WHITE_SPACE, p, 0); }
static const IHTMLCurrentStyle3Vtbl HTMLCurrentStyle3Vtbl = { diff --git a/dlls/mshtml/tests/style.c b/dlls/mshtml/tests/style.c index fffade0..5d8e158 100644 --- a/dlls/mshtml/tests/style.c +++ b/dlls/mshtml/tests/style.c @@ -2435,6 +2435,17 @@ static void test_body_style(IHTMLStyle *style) ok(!strcmp_wa(str, "nowrap"), "whiteSpace = %s\n", wine_dbgstr_w(str)); SysFreeString(str);
+ str = a2bstr("normal"); + hres = IHTMLStyle_put_whiteSpace(style, str); + SysFreeString(str); + ok(hres == S_OK, "put_whiteSpace failed: %08x\n", hres); + + str = NULL; + hres = IHTMLStyle_get_whiteSpace(style, &str); + ok(hres == S_OK, "get_whiteSpace failed: %08x\n", hres); + ok(!strcmp_wa(str, "normal"), "whiteSpace = %s\n", wine_dbgstr_w(str)); + SysFreeString(str); + /* listStyleType */ hres = IHTMLStyle_get_listStyleType(style, &str); ok(hres == S_OK, "get_listStyleType failed: %08x\n", hres); @@ -2622,6 +2633,7 @@ static void test_style_filters(IHTMLElement *elem) static void test_current_style(IHTMLCurrentStyle *current_style) { IHTMLCurrentStyle2 *current_style2; + IHTMLCurrentStyle3 *current_style3; VARIANT_BOOL b; BSTR str; HRESULT hres; @@ -2895,6 +2907,16 @@ static void test_current_style(IHTMLCurrentStyle *current_style) ok(b == VARIANT_TRUE, "hasLayout = %x\n", b);
IHTMLCurrentStyle2_Release(current_style2); + + hres = IHTMLCurrentStyle_QueryInterface(current_style, &IID_IHTMLCurrentStyle3, (void**)¤t_style3); + ok(hres == S_OK, "Could not get IHTMLCurrentStyle3 iface: %08x\n", hres); + + hres = IHTMLCurrentStyle3_get_whiteSpace(current_style3, &str); + ok(hres == S_OK, "get_whiteSpace failed: %08x\n", hres); + ok(!strcmp_wa(str, "normal"), "whiteSpace = %s\n", wine_dbgstr_w(str)); + SysFreeString(str); + + IHTMLCurrentStyle3_Release(current_style3); }
static const char basic_test_str[] = "<html><body><div id="divid"></div/</body></html>";