Module: wine Branch: master Commit: 22836b0fa74f1b4227dc072d0704df1f473f6fe5 URL: https://source.winehq.org/git/wine.git/?a=commit;h=22836b0fa74f1b4227dc072d0...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Jun 9 16:16:00 2020 +0200
mshtml: Add IHTMLCSSStyleDeclaration2::columnWidth property semi-stub implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mshtml/htmlstyle.c | 13 +++++++++---- dlls/mshtml/htmlstyle.h | 1 + dlls/mshtml/tests/style.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index c327faa0a2..3c2f533111 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -553,6 +553,11 @@ static const style_tbl_entry_t style_tbl[] = { DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT, DISPID_UNKNOWN }, + { + L"column-gap", + DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP, + DISPID_UNKNOWN + }, { L"column-width", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH, @@ -8832,15 +8837,15 @@ static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnWidth(IHTMLCSSStyleDecl static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnGap(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); - FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); - return E_NOTIMPL; + TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); + return set_style_property_var(This, STYLEID_COLUMN_GAP, &v); }
static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnGap(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", This, p); + return get_style_property_var(This, STYLEID_COLUMN_GAP, p); }
static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnFill(IHTMLCSSStyleDeclaration2 *iface, BSTR v) diff --git a/dlls/mshtml/htmlstyle.h b/dlls/mshtml/htmlstyle.h index 09b044c84c..bcc4afc7fa 100644 --- a/dlls/mshtml/htmlstyle.h +++ b/dlls/mshtml/htmlstyle.h @@ -82,6 +82,7 @@ typedef enum { STYLEID_CLIP, STYLEID_COLOR, STYLEID_COLUMN_COUNT, + STYLEID_COLUMN_GAP, STYLEID_COLUMN_WIDTH, STYLEID_CURSOR, STYLEID_DIRECTION, diff --git a/dlls/mshtml/tests/style.c b/dlls/mshtml/tests/style.c index 6746cd048a..d63e5da748 100644 --- a/dlls/mshtml/tests/style.c +++ b/dlls/mshtml/tests/style.c @@ -951,6 +951,36 @@ static void test_css_style_declaration2(IHTMLCSSStyleDeclaration2 *css_style) todo_wine ok(V_VT(&v) == VT_BSTR && V_BSTR(&v) && !lstrcmpW(V_BSTR(&v), L"20px"), "columnWidth = %s\n", wine_dbgstr_variant(&v)); VariantClear(&v); + + V_VT(&v) = VT_ERROR; + hres = IHTMLCSSStyleDeclaration2_get_columnGap(css_style, &v); + ok(hres == S_OK, "get_columnGap failed: %08x\n", hres); + ok(V_VT(&v) == VT_BSTR && !V_BSTR(&v), "columnGap = %s\n", wine_dbgstr_variant(&v)); + VariantClear(&v); + + V_VT(&v) = VT_I4; + V_I4(&v) = 20; + hres = IHTMLCSSStyleDeclaration2_put_columnGap(css_style, v); + ok(hres == S_OK, "put_columnGap failed: %08x\n", hres); + + V_VT(&v) = VT_ERROR; + hres = IHTMLCSSStyleDeclaration2_get_columnGap(css_style, &v); + ok(hres == S_OK, "get_columnGap failed: %08x\n", hres); + ok(V_VT(&v) == VT_BSTR && !V_BSTR(&v), "columnGap = %s\n", wine_dbgstr_variant(&v)); + VariantClear(&v); + + V_VT(&v) = VT_BSTR; + V_BSTR(&v) = SysAllocString(L"20px"); + hres = IHTMLCSSStyleDeclaration2_put_columnGap(css_style, v); + ok(hres == S_OK, "put_columnGap failed: %08x\n", hres); + VariantClear(&v); + + V_VT(&v) = VT_ERROR; + hres = IHTMLCSSStyleDeclaration2_get_columnGap(css_style, &v); + ok(hres == S_OK, "get_columnGap failed: %08x\n", hres); + todo_wine + ok(V_VT(&v) == VT_BSTR && V_BSTR(&v) && !lstrcmpW(V_BSTR(&v), L"20px"), "columnGap = %s\n", wine_dbgstr_variant(&v)); + VariantClear(&v); }
static void test_body_style(IHTMLStyle *style)