diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c index 19eb36e8ded..a45f3ee4b69 100644 --- a/dlls/mshtml/htmlcurstyle.c +++ b/dlls/mshtml/htmlcurstyle.c @@ -231,8 +231,8 @@ static HRESULT WINAPI HTMLCurrentStyle_get_borderLeftColor(IHTMLCurrentStyle *if static HRESULT WINAPI HTMLCurrentStyle_get_borderTopColor(IHTMLCurrentStyle *iface, VARIANT *p) { HTMLCurrentStyle *This = HTMLCURSTYLE_THIS(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", This, p); + return get_nsstyle_attr_var(This->nsstyle, STYLEID_BORDER_TOP_COLOR, p, 0); } static HRESULT WINAPI HTMLCurrentStyle_get_borderRightColor(IHTMLCurrentStyle *iface, VARIANT *p) diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index aadcd657782..b24577871f6 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -67,6 +67,8 @@ static const WCHAR attrBorderRightStyle[] = {'b','o','r','d','e','r','-','r','i','g','h','t','-','s','t','y','l','e',0}; static const WCHAR attrBorderRightWidth[] = {'b','o','r','d','e','r','-','r','i','g','h','t','-','w','i','d','t','h',0}; +static const WCHAR attrBorderTopColor[] = + {'b','o','r','d','e','r','-','t','o','p','-','c','o','l','o','r',0}; static const WCHAR attrBorderStyle[] = {'b','o','r','d','e','r','-','s','t','y','l','e',0}; static const WCHAR attrBorderTopStyle[] = @@ -153,6 +155,7 @@ static const struct{ {attrBorderRightStyle, DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE}, {attrBorderRightWidth, DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH}, {attrBorderStyle, DISPID_IHTMLSTYLE_BORDERSTYLE}, + {attrBorderTopColor, DISPID_IHTMLSTYLE_BORDERTOPCOLOR}, {attrBorderTopStyle, DISPID_IHTMLSTYLE_BORDERTOPSTYLE}, {attrBorderTopWidth, DISPID_IHTMLSTYLE_BORDERTOPWIDTH}, {attrBorderWidth, DISPID_IHTMLSTYLE_BORDERWIDTH}, diff --git a/dlls/mshtml/htmlstyle.h b/dlls/mshtml/htmlstyle.h index c3df238decb..ee9f18c23dd 100644 --- a/dlls/mshtml/htmlstyle.h +++ b/dlls/mshtml/htmlstyle.h @@ -52,6 +52,7 @@ typedef enum { STYLEID_BORDER_RIGHT_STYLE, STYLEID_BORDER_RIGHT_WIDTH, STYLEID_BORDER_STYLE, + STYLEID_BORDER_TOP_COLOR, STYLEID_BORDER_TOP_STYLE, STYLEID_BORDER_TOP_WIDTH, STYLEID_BORDER_WIDTH, diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index ea38b40c87e..e9059ea0b4a 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -2741,6 +2741,11 @@ static void test_current_style(IHTMLCurrentStyle *current_style) ok(hres == S_OK, "get_borderLeftColor failed: %08x\n", hres); ok(V_VT(&v) == VT_BSTR, "V_VT(v) = %d\n", V_VT(&v)); VariantClear(&v); + + hres = IHTMLCurrentStyle_get_borderTopColor(current_style, &v); + ok(hres == S_OK, "get_borderTopColor failed: %08x\n", hres); + ok(V_VT(&v) == VT_BSTR, "V_VT(v) = %d\n", V_VT(&v)); + VariantClear(&v); } static void test_style2(IHTMLStyle2 *style2)