Module: wine Branch: master Commit: 8b9d57057185513d823f292d6a8e656d5fc5ecfe URL: https://source.winehq.org/git/wine.git/?a=commit;h=8b9d57057185513d823f292d6...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Aug 28 12:44:57 2018 +0200
mshtml: Use generic value checks for IHTMLStyle::put_border*Style implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mshtml/htmlstyle.c | 71 +++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 41 deletions(-)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index 4b98a6d..e647220 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -211,6 +211,11 @@ static const WCHAR blinkW[] = {'b','l','i','n','k',0}; static const WCHAR boldW[] = {'b','o','l','d',0}; static const WCHAR bolderW[] = {'b','o','l','d','e','r',0}; static const WCHAR capsW[] = {'s','m','a','l','l','-','c','a','p','s',0}; +static const WCHAR dashedW[] = {'d','a','s','h','e','d',0}; +static const WCHAR dottedW[] = {'d','o','t','t','e','d',0}; +static const WCHAR doubleW[] = {'d','o','u','b','l','e',0}; +static const WCHAR grooveW[] = {'g','r','o','o','v','e',0}; +static const WCHAR insetW[] = {'i','n','s','e','t',0}; static const WCHAR italicW[] = {'i','t','a','l','i','c',0}; static const WCHAR lighterW[] = {'l','i','g','h','t','e','r',0}; static const WCHAR line_throughW[] = {'l','i','n','e','-','t','h','r','o','u','g','h',0}; @@ -218,10 +223,13 @@ static const WCHAR no_repeatW[] = {'n','o','-','r','e','p','e','a','t',0}; static const WCHAR noneW[] = {'n','o','n','e',0}; static const WCHAR normalW[] = {'n','o','r','m','a','l',0}; static const WCHAR obliqueW[] = {'o','b','l','i','q','u','e',0}; +static const WCHAR outsetW[] = {'o','u','t','s','e','t',0}; static const WCHAR overlineW[] = {'o','v','e','r','l','i','n','e',0}; static const WCHAR repeatW[] = {'r','e','p','e','a','t',0}; static const WCHAR repeat_xW[] = {'r','e','p','e','a','t','-','x',0}; static const WCHAR repeat_yW[] = {'r','e','p','e','a','t','-','y',0}; +static const WCHAR ridgeW[] = {'r','i','d','g','e',0}; +static const WCHAR solidW[] = {'s','o','l','i','d',0}; static const WCHAR underlineW[] = {'u','n','d','e','r','l','i','n','e',0};
static const WCHAR style100W[] = {'1','0','0',0}; @@ -281,6 +289,19 @@ static const WCHAR *text_decoration_values[] = { NULL };
+static const WCHAR *border_style_values[] = { + dashedW, + dottedW, + doubleW, + grooveW, + insetW, + noneW, + outsetW, + ridgeW, + solidW, + NULL +}; + #define ATTR_FIX_PX 0x0001 #define ATTR_FIX_URL 0x0002 #define ATTR_STR_TO_INT 0x0004 @@ -309,21 +330,21 @@ static const style_tbl_entry_t style_tbl[] = { {borderW, DISPID_IHTMLSTYLE_BORDER}, {border_bottomW, DISPID_IHTMLSTYLE_BORDERBOTTOM, ATTR_FIX_PX}, {border_bottom_colorW, DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR, ATTR_HEX_INT}, - {border_bottom_styleW, DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE}, + {border_bottom_styleW, DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE, 0, border_style_values}, {border_bottom_widthW, DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH, ATTR_FIX_PX}, {border_colorW, DISPID_IHTMLSTYLE_BORDERCOLOR}, {border_leftW, DISPID_IHTMLSTYLE_BORDERLEFT, ATTR_FIX_PX}, {border_left_colorW, DISPID_IHTMLSTYLE_BORDERLEFTCOLOR, ATTR_HEX_INT}, - {border_left_styleW, DISPID_IHTMLSTYLE_BORDERLEFTSTYLE}, + {border_left_styleW, DISPID_IHTMLSTYLE_BORDERLEFTSTYLE, 0, border_style_values}, {border_left_widthW, DISPID_IHTMLSTYLE_BORDERLEFTWIDTH, ATTR_FIX_PX}, {border_rightW, DISPID_IHTMLSTYLE_BORDERRIGHT, ATTR_FIX_PX}, {border_right_colorW, DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR, ATTR_HEX_INT}, - {border_right_styleW, DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE}, + {border_right_styleW, DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE, 0, border_style_values}, {border_right_widthW, DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH, ATTR_FIX_PX}, {border_styleW, DISPID_IHTMLSTYLE_BORDERSTYLE}, {border_topW, DISPID_IHTMLSTYLE_BORDERTOP, ATTR_FIX_PX}, {border_top_colorW, DISPID_IHTMLSTYLE_BORDERTOPCOLOR, ATTR_HEX_INT}, - {border_top_styleW, DISPID_IHTMLSTYLE_BORDERTOPSTYLE}, + {border_top_styleW, DISPID_IHTMLSTYLE_BORDERTOPSTYLE, 0, border_style_values}, {border_top_widthW, DISPID_IHTMLSTYLE_BORDERTOPWIDTH}, {border_widthW, DISPID_IHTMLSTYLE_BORDERWIDTH}, {bottomW, DISPID_IHTMLSTYLE2_BOTTOM, ATTR_FIX_PX}, @@ -819,27 +840,11 @@ static HRESULT get_nsstyle_pixel_val(HTMLStyle *This, styleid_t sid, LONG *p)
static BOOL is_valid_border_style(BSTR v) { - static const WCHAR styleDotted[] = {'d','o','t','t','e','d',0}; - static const WCHAR styleDashed[] = {'d','a','s','h','e','d',0}; - static const WCHAR styleSolid[] = {'s','o','l','i','d',0}; - static const WCHAR styleDouble[] = {'d','o','u','b','l','e',0}; - static const WCHAR styleGroove[] = {'g','r','o','o','v','e',0}; - static const WCHAR styleRidge[] = {'r','i','d','g','e',0}; - static const WCHAR styleInset[] = {'i','n','s','e','t',0}; - static const WCHAR styleOutset[] = {'o','u','t','s','e','t',0}; - - TRACE("%s\n", debugstr_w(v)); - - if(!v || strcmpiW(v, noneW) == 0 || strcmpiW(v, styleDotted) == 0 || - strcmpiW(v, styleDashed) == 0 || strcmpiW(v, styleSolid) == 0 || - strcmpiW(v, styleDouble) == 0 || strcmpiW(v, styleGroove) == 0 || - strcmpiW(v, styleRidge) == 0 || strcmpiW(v, styleInset) == 0 || - strcmpiW(v, styleOutset) == 0 ) - { - return TRUE; - } - - return FALSE; + return !v || strcmpiW(v, noneW) == 0 || strcmpiW(v, dottedW) == 0 || + strcmpiW(v, dashedW) == 0 || strcmpiW(v, solidW) == 0 || + strcmpiW(v, doubleW) == 0 || strcmpiW(v, grooveW) == 0 || + strcmpiW(v, ridgeW) == 0 || strcmpiW(v, insetW) == 0 || + strcmpiW(v, outsetW) == 0; }
static inline HTMLStyle *impl_from_IHTMLStyle(IHTMLStyle *iface) @@ -2065,10 +2070,6 @@ static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); - - if(!is_valid_border_style(v)) - return E_INVALIDARG; - return set_style_property(This, STYLEID_BORDER_TOP_STYLE, v); }
@@ -2083,10 +2084,6 @@ static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); - - if(!is_valid_border_style(v)) - return E_INVALIDARG; - return set_style_property(This, STYLEID_BORDER_RIGHT_STYLE, v); }
@@ -2101,10 +2098,6 @@ static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); - - if(!is_valid_border_style(v)) - return E_INVALIDARG; - return set_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, v); }
@@ -2119,10 +2112,6 @@ static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); - - if(!is_valid_border_style(v)) - return E_INVALIDARG; - return set_style_property(This, STYLEID_BORDER_LEFT_STYLE, v); }