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

mshtml: Use generic value checks for IHTMLStyle::put_overflow implementation.

parent 8b9d5705
......@@ -207,6 +207,7 @@ static const WCHAR word_wrapW[] =
static const WCHAR z_indexW[] =
{'z','-','i','n','d','e','x',0};
static const WCHAR autoW[] = {'a','u','t','o',0};
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};
......@@ -215,6 +216,7 @@ 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 hiddenW[] = {'h','i','d','d','e','n',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};
......@@ -229,8 +231,10 @@ 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 scrollW[] = {'s','c','r','o','l','l',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 visibleW[] = {'v','i','s','i','b','l','e',0};
static const WCHAR style100W[] = {'1','0','0',0};
static const WCHAR style200W[] = {'2','0','0',0};
......@@ -302,6 +306,14 @@ static const WCHAR *border_style_values[] = {
NULL
};
static const WCHAR *overflow_values[] = {
autoW,
hiddenW,
scrollW,
visibleW,
NULL
};
#define ATTR_FIX_PX 0x0001
#define ATTR_FIX_URL 0x0002
#define ATTR_STR_TO_INT 0x0004
......@@ -379,7 +391,7 @@ static const style_tbl_entry_t style_tbl[] = {
{min_heightW, DISPID_IHTMLSTYLE4_MINHEIGHT},
{min_widthW, DISPID_IHTMLSTYLE5_MINWIDTH, ATTR_FIX_PX},
{outlineW, DISPID_IHTMLSTYLE6_OUTLINE, ATTR_NO_NULL},
{overflowW, DISPID_IHTMLSTYLE_OVERFLOW},
{overflowW, DISPID_IHTMLSTYLE_OVERFLOW, 0, overflow_values},
{overflow_xW, DISPID_IHTMLSTYLE2_OVERFLOWX},
{overflow_yW, DISPID_IHTMLSTYLE2_OVERFLOWY},
{paddingW, DISPID_IHTMLSTYLE_PADDING},
......@@ -2380,21 +2392,10 @@ static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p)
static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v)
{
HTMLStyle *This = impl_from_IHTMLStyle(iface);
static const WCHAR szVisible[] = {'v','i','s','i','b','l','e',0};
static const WCHAR szScroll[] = {'s','c','r','o','l','l',0};
static const WCHAR szHidden[] = {'h','i','d','d','e','n',0};
static const WCHAR szAuto[] = {'a','u','t','o',0};
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
/* overflow can only be one of the follow values. */
if(!v || !*v || strcmpiW(szVisible, v) == 0 || strcmpiW(szScroll, v) == 0 ||
strcmpiW(szHidden, v) == 0 || strcmpiW(szAuto, v) == 0)
{
return set_style_property(This, STYLEID_OVERFLOW, v);
}
return E_INVALIDARG;
return set_style_property(This, STYLEID_OVERFLOW, v);
}
......
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