/* * Copyright 2006 Jacek Caban for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #include #include #define COBJMACROS #include "windef.h" #include "winbase.h" #include "winuser.h" #include "ole2.h" #include "mshtmdid.h" #include "mshtml_private.h" #include "htmlstyle.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(mshtml); static const WCHAR *font_style_values[] = { L"italic", L"normal", L"oblique", NULL }; static const WCHAR *font_variant_values[] = { L"small-caps", L"normal", NULL }; static const WCHAR *font_weight_values[] = { L"100", L"200", L"300", L"400", L"500", L"600", L"700", L"800", L"900", L"bold", L"bolder", L"lighter", L"normal", NULL }; static const WCHAR *background_repeat_values[] = { L"no-repeat", L"repeat", L"repeat-x", L"repeat-y", NULL }; static const WCHAR *text_decoration_values[] = { L"blink", L"line-through", L"none", L"overline", L"underline", NULL }; static const WCHAR *border_style_values[] = { L"dashed", L"dotted", L"double", L"groove", L"inset", L"none", L"outset", L"ridge", L"solid", NULL }; static const WCHAR *overflow_values[] = { L"auto", L"hidden", L"scroll", L"visible", NULL }; #define ATTR_FIX_PX 0x0001 #define ATTR_FIX_URL 0x0002 #define ATTR_STR_TO_INT 0x0004 #define ATTR_HEX_INT 0x0008 #define ATTR_REMOVE_COMMA 0x0010 #define ATTR_NO_NULL 0x0020 #define ATTR_COMPAT_IE10 0x0040 typedef struct { const WCHAR *name; DISPID dispid; DISPID compat_dispid; unsigned flags; const WCHAR **allowed_values; } style_tbl_entry_t; static const style_tbl_entry_t style_tbl[] = { { L"animation", DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"animation-name", DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"background", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND, DISPID_A_BACKGROUND }, { L"background-attachment", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT, DISPID_A_BACKGROUNDATTACHMENT }, { L"background-clip", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP, DISPID_UNKNOWN }, { L"background-color", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR, DISPID_BACKCOLOR, ATTR_HEX_INT }, { L"background-image", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE, DISPID_A_BACKGROUNDIMAGE, ATTR_FIX_URL }, { L"background-position", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION, DISPID_A_BACKGROUNDPOSITION }, { L"background-position-x", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX, DISPID_A_BACKGROUNDPOSX, ATTR_FIX_PX }, { L"background-position-y", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY, DISPID_A_BACKGROUNDPOSY, ATTR_FIX_PX }, { L"background-repeat", DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT, DISPID_A_BACKGROUNDREPEAT, 0, background_repeat_values }, { L"border", DISPID_IHTMLCSSSTYLEDECLARATION_BORDER, DISPID_A_BORDER }, { L"border-bottom", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM, DISPID_A_BORDERBOTTOM, ATTR_FIX_PX }, { L"border-bottom-color", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR, DISPID_A_BORDERBOTTOMCOLOR, ATTR_HEX_INT }, { L"border-bottom-style", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE, DISPID_A_BORDERBOTTOMSTYLE, 0, border_style_values }, { L"border-bottom-width", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH, DISPID_A_BORDERBOTTOMWIDTH, ATTR_FIX_PX }, { L"border-collapse", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE, DISPID_A_BORDERCOLLAPSE }, { L"border-color", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR, DISPID_A_BORDERCOLOR }, { L"border-left", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT, DISPID_A_BORDERLEFT, ATTR_FIX_PX }, { L"border-left-color", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR, DISPID_A_BORDERLEFTCOLOR, ATTR_HEX_INT }, { L"border-left-style", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE, DISPID_A_BORDERLEFTSTYLE, 0, border_style_values }, { L"border-left-width", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH, DISPID_A_BORDERLEFTWIDTH, ATTR_FIX_PX }, { L"border-right", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT, DISPID_A_BORDERRIGHT, ATTR_FIX_PX }, { L"border-right-color", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR, DISPID_A_BORDERRIGHTCOLOR, ATTR_HEX_INT }, { L"border-right-style", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE, DISPID_A_BORDERRIGHTSTYLE, 0, border_style_values }, { L"border-right-width", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH, DISPID_A_BORDERRIGHTWIDTH, ATTR_FIX_PX }, { L"border-spacing", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING, DISPID_A_BORDERSPACING }, { L"border-style", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE, DISPID_A_BORDERSTYLE }, { L"border-top", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP, DISPID_A_BORDERTOP, ATTR_FIX_PX }, { L"border-top-color", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR, DISPID_A_BORDERTOPCOLOR, ATTR_HEX_INT }, { L"border-top-style", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE, DISPID_A_BORDERTOPSTYLE, 0, border_style_values }, { L"border-top-width", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH, DISPID_A_BORDERTOPWIDTH }, { L"border-width", DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH, DISPID_A_BORDERWIDTH }, { L"bottom", DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM, STDPROPID_XOBJ_BOTTOM, ATTR_FIX_PX }, { L"-moz-box-sizing", DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING, DISPID_A_BOXSIZING }, { L"clear", DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR, DISPID_A_CLEAR }, { L"clip", DISPID_IHTMLCSSSTYLEDECLARATION_CLIP, DISPID_A_CLIP, ATTR_REMOVE_COMMA }, { L"color", DISPID_IHTMLCSSSTYLEDECLARATION_COLOR, DISPID_A_COLOR, ATTR_HEX_INT }, { L"column-count", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-fill", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-gap", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-rule", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-rule-color", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-rule-style", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-rule-width", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-span", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"column-width", DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"cursor", DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR, DISPID_A_CURSOR }, { L"direction", DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION, DISPID_A_DIRECTION }, { L"display", DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY, DISPID_A_DISPLAY }, { L"filter", DISPID_IHTMLCSSSTYLEDECLARATION_FILTER, DISPID_A_FILTER }, { L"float", DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT, DISPID_A_FLOAT }, { L"font-family", DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY, DISPID_A_FONTFACE }, { L"font-size", DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE, DISPID_A_FONTSIZE, ATTR_FIX_PX }, { L"font-style", DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE, DISPID_A_FONTSTYLE, 0, font_style_values }, { L"font-variant", DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT, DISPID_A_FONTVARIANT, 0, font_variant_values }, { L"font-weight", DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT, DISPID_A_FONTWEIGHT, ATTR_STR_TO_INT, font_weight_values }, { L"height", DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT, STDPROPID_XOBJ_HEIGHT, ATTR_FIX_PX }, { L"left", DISPID_IHTMLCSSSTYLEDECLARATION_LEFT, STDPROPID_XOBJ_LEFT }, { L"letter-spacing", DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING, DISPID_A_LETTERSPACING }, { L"line-height", DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT, DISPID_A_LINEHEIGHT }, { L"list-style", DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE, DISPID_A_LISTSTYLE }, { L"list-style-position", DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION, DISPID_A_LISTSTYLEPOSITION }, { L"list-style-type", DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE, DISPID_A_LISTSTYLETYPE }, { L"margin", DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN, DISPID_A_MARGIN }, { L"margin-bottom", DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM, DISPID_A_MARGINBOTTOM, ATTR_FIX_PX }, { L"margin-left", DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT, DISPID_A_MARGINLEFT, ATTR_FIX_PX }, { L"margin-right", DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT, DISPID_A_MARGINRIGHT, ATTR_FIX_PX }, { L"margin-top", DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP, DISPID_A_MARGINTOP, ATTR_FIX_PX }, { L"max-height", DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT, DISPID_A_MAXHEIGHT, ATTR_FIX_PX }, { L"max-width", DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH, DISPID_A_MAXWIDTH, ATTR_FIX_PX }, { L"min-height", DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT, DISPID_A_MINHEIGHT }, { L"min-width", DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH, DISPID_A_MINWIDTH, ATTR_FIX_PX }, { L"opacity", DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY, DISPID_UNKNOWN }, { L"outline", DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE, DISPID_A_OUTLINE, ATTR_NO_NULL }, { L"overflow", DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW, DISPID_A_OVERFLOW, 0, overflow_values }, { L"overflow-x", DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX, DISPID_A_OVERFLOWX }, { L"overflow-y", DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY, DISPID_A_OVERFLOWY }, { L"padding", DISPID_IHTMLCSSSTYLEDECLARATION_PADDING, DISPID_A_PADDING }, { L"padding-bottom", DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM, DISPID_A_PADDINGBOTTOM, ATTR_FIX_PX }, { L"padding-left", DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT, DISPID_A_PADDINGLEFT, ATTR_FIX_PX }, { L"padding-right", DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT, DISPID_A_PADDINGRIGHT, ATTR_FIX_PX }, { L"padding-top", DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP, DISPID_A_PADDINGTOP, ATTR_FIX_PX }, { L"page-break-after", DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER, DISPID_A_PAGEBREAKAFTER }, { L"page-break-before", DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE, DISPID_A_PAGEBREAKBEFORE }, { L"perspective", DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE, DISPID_UNKNOWN }, { L"position", DISPID_IHTMLCSSSTYLEDECLARATION_POSITION, DISPID_A_POSITION }, { L"right", DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT, STDPROPID_XOBJ_RIGHT }, { L"table-layout", DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT, DISPID_A_TABLELAYOUT }, { L"text-align", DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN, STDPROPID_XOBJ_BLOCKALIGN }, { L"text-decoration", DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION, DISPID_A_TEXTDECORATION, 0, text_decoration_values }, { L"text-indent", DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT, DISPID_A_TEXTINDENT, ATTR_FIX_PX }, { L"text-transform", DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM, DISPID_A_TEXTTRANSFORM }, { L"top", DISPID_IHTMLCSSSTYLEDECLARATION_TOP, STDPROPID_XOBJ_TOP }, { L"transform", DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"transition", DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION, DISPID_UNKNOWN, ATTR_COMPAT_IE10 }, { L"vertical-align", DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN, DISPID_A_VERTICALALIGN, ATTR_FIX_PX }, { L"visibility", DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY, DISPID_A_VISIBILITY }, { L"white-space", DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE, DISPID_A_WHITESPACE }, { L"width", DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH, STDPROPID_XOBJ_WIDTH, ATTR_FIX_PX }, { L"word-spacing", DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING, DISPID_A_WORDSPACING }, { L"word-wrap", DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP, DISPID_A_WORDWRAP }, { L"z-index", DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX, DISPID_A_ZINDEX, ATTR_STR_TO_INT } }; C_ASSERT(ARRAY_SIZE(style_tbl) == STYLEID_MAX_VALUE); static const style_tbl_entry_t *lookup_style_tbl(CSSStyle *style, const WCHAR *name) { int c, i, min = 0, max = ARRAY_SIZE(style_tbl)-1; while(min <= max) { i = (min+max)/2; c = wcscmp(style_tbl[i].name, name); if(!c) { if((style_tbl[i].flags & ATTR_COMPAT_IE10) && dispex_compat_mode(&style->dispex) < COMPAT_MODE_IE10) return NULL; return style_tbl+i; } if(c > 0) max = i-1; else min = i+1; } return NULL; } static void fix_px_value(nsAString *nsstr) { const WCHAR *val, *ptr; nsAString_GetData(nsstr, &val); ptr = val; while(*ptr) { while(*ptr && iswspace(*ptr)) ptr++; if(!*ptr) break; while(*ptr && is_digit(*ptr)) ptr++; if(!*ptr || iswspace(*ptr)) { LPWSTR ret, p; int len = lstrlenW(val)+1; ret = heap_alloc((len+2)*sizeof(WCHAR)); memcpy(ret, val, (ptr-val)*sizeof(WCHAR)); p = ret + (ptr-val); *p++ = 'p'; *p++ = 'x'; lstrcpyW(p, ptr); TRACE("fixed %s -> %s\n", debugstr_w(val), debugstr_w(ret)); nsAString_SetData(nsstr, ret); heap_free(ret); break; } while(*ptr && !iswspace(*ptr)) ptr++; } } static LPWSTR fix_url_value(LPCWSTR val) { WCHAR *ret, *ptr; static const WCHAR urlW[] = {'u','r','l','('}; if(wcsncmp(val, urlW, ARRAY_SIZE(urlW)) || !wcschr(val, '\\')) return NULL; ret = heap_strdupW(val); for(ptr = ret; *ptr; ptr++) { if(*ptr == '\\') *ptr = '/'; } return ret; } static HRESULT set_nsstyle_property(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, const nsAString *value) { nsAString str_name, str_empty; nsresult nsres; nsAString_InitDepend(&str_name, style_tbl[sid].name); nsAString_InitDepend(&str_empty, L""); nsres = nsIDOMCSSStyleDeclaration_SetProperty(nsstyle, &str_name, value, &str_empty); nsAString_Finish(&str_name); nsAString_Finish(&str_empty); if(NS_FAILED(nsres)) WARN("SetProperty failed: %08x\n", nsres); return map_nsresult(nsres); } static HRESULT var_to_styleval(CSSStyle *style, VARIANT *v, const style_tbl_entry_t *entry, nsAString *nsstr) { HRESULT hres; unsigned flags = entry && dispex_compat_mode(&style->dispex) < COMPAT_MODE_IE9 ? entry->flags : 0; hres = variant_to_nsstr(v, !!(flags & ATTR_HEX_INT), nsstr); if(SUCCEEDED(hres) && (flags & ATTR_FIX_PX)) fix_px_value(nsstr); return hres; } static inline HRESULT set_style_property(CSSStyle *style, styleid_t sid, const WCHAR *value) { nsAString value_str; unsigned flags = 0; WCHAR *val = NULL; HRESULT hres; if(value && *value && dispex_compat_mode(&style->dispex) < COMPAT_MODE_IE9) { flags = style_tbl[sid].flags; if(style_tbl[sid].allowed_values) { const WCHAR **iter; for(iter = style_tbl[sid].allowed_values; *iter; iter++) { if(!wcsicmp(*iter, value)) break; } if(!*iter) { WARN("invalid value %s\n", debugstr_w(value)); nsAString_InitDepend(&value_str, L""); set_nsstyle_property(style->nsstyle, sid, &value_str); nsAString_Finish(&value_str); return E_INVALIDARG; } } if(flags & ATTR_FIX_URL) val = fix_url_value(value); } nsAString_InitDepend(&value_str, val ? val : value); if(flags & ATTR_FIX_PX) fix_px_value(&value_str); hres = set_nsstyle_property(style->nsstyle, sid, &value_str); nsAString_Finish(&value_str); heap_free(val); return hres; } static HRESULT set_style_property_var(CSSStyle *style, styleid_t sid, VARIANT *value) { nsAString val; HRESULT hres; hres = var_to_styleval(style, value, &style_tbl[sid], &val); if(FAILED(hres)) return hres; hres = set_nsstyle_property(style->nsstyle, sid, &val); nsAString_Finish(&val); return hres; } static HRESULT get_nsstyle_attr_nsval(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, nsAString *value) { nsAString str_name; nsresult nsres; nsAString_InitDepend(&str_name, style_tbl[sid].name); nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(nsstyle, &str_name, value); nsAString_Finish(&str_name); if(NS_FAILED(nsres)) WARN("GetPropertyValue failed: %08x\n", nsres); return map_nsresult(nsres); } static HRESULT nsstyle_to_bstr(const WCHAR *val, DWORD flags, BSTR *p) { BSTR ret; DWORD len; if(!*val) { *p = (flags & ATTR_NO_NULL) ? SysAllocStringLen(NULL, 0) : NULL; return S_OK; } ret = SysAllocString(val); if(!ret) return E_OUTOFMEMORY; len = SysStringLen(ret); if(flags & ATTR_REMOVE_COMMA) { DWORD new_len = len; WCHAR *ptr, *ptr2; for(ptr = ret; (ptr = wcschr(ptr, ',')); ptr++) new_len--; if(new_len != len) { BSTR new_ret; new_ret = SysAllocStringLen(NULL, new_len); if(!new_ret) { SysFreeString(ret); return E_OUTOFMEMORY; } for(ptr2 = new_ret, ptr = ret; *ptr; ptr++) { if(*ptr != ',') *ptr2++ = *ptr; } SysFreeString(ret); ret = new_ret; } } *p = ret; return S_OK; } static HRESULT get_nsstyle_property(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, compat_mode_t compat_mode, BSTR *p) { nsAString str_value; const PRUnichar *value; HRESULT hres; nsAString_Init(&str_value, NULL); get_nsstyle_attr_nsval(nsstyle, sid, &str_value); nsAString_GetData(&str_value, &value); hres = nsstyle_to_bstr(value, compat_mode < COMPAT_MODE_IE9 ? style_tbl[sid].flags : 0, p); nsAString_Finish(&str_value); TRACE("%s -> %s\n", debugstr_w(style_tbl[sid].name), debugstr_w(*p)); return hres; } static HRESULT get_nsstyle_property_var(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, compat_mode_t compat_mode, VARIANT *p) { unsigned flags = style_tbl[sid].flags; nsAString str_value; const PRUnichar *value; BOOL set = FALSE; HRESULT hres = S_OK; nsAString_Init(&str_value, NULL); get_nsstyle_attr_nsval(nsstyle, sid, &str_value); nsAString_GetData(&str_value, &value); if((flags & ATTR_STR_TO_INT) && (*value || compat_mode < COMPAT_MODE_IE9)) { const PRUnichar *ptr = value; BOOL neg = FALSE; INT i = 0; if(*ptr == '-') { neg = TRUE; ptr++; } while(is_digit(*ptr)) i = i*10 + (*ptr++ - '0'); if(!*ptr) { V_VT(p) = VT_I4; V_I4(p) = neg ? -i : i; set = TRUE; } } if(!set) { BSTR str; hres = nsstyle_to_bstr(value, compat_mode < COMPAT_MODE_IE9 ? flags : 0, &str); if(SUCCEEDED(hres)) { V_VT(p) = VT_BSTR; V_BSTR(p) = str; } } nsAString_Finish(&str_value); TRACE("%s -> %s\n", debugstr_w(style_tbl[sid].name), debugstr_variant(p)); return S_OK; } HRESULT get_style_property(CSSStyle *style, styleid_t sid, BSTR *p) { return get_nsstyle_property(style->nsstyle, sid, dispex_compat_mode(&style->dispex), p); } HRESULT get_style_property_var(CSSStyle *style, styleid_t sid, VARIANT *v) { return get_nsstyle_property_var(style->nsstyle, sid, dispex_compat_mode(&style->dispex), v); } static HRESULT check_style_attr_value(HTMLStyle *This, styleid_t sid, LPCWSTR exval, VARIANT_BOOL *p) { nsAString str_value; const PRUnichar *value; nsAString_Init(&str_value, NULL); get_nsstyle_attr_nsval(This->css_style.nsstyle, sid, &str_value); nsAString_GetData(&str_value, &value); *p = variant_bool(!wcscmp(value, exval)); nsAString_Finish(&str_value); TRACE("%s -> %x\n", debugstr_w(style_tbl[sid].name), *p); return S_OK; } static inline HRESULT set_style_pos(HTMLStyle *This, styleid_t sid, float value) { WCHAR szValue[25]; value = floor(value); swprintf(szValue, ARRAY_SIZE(szValue), L"%.0fpx", value); return set_style_property(&This->css_style, sid, szValue); } static HRESULT set_style_pxattr(HTMLStyle *style, styleid_t sid, LONG value) { WCHAR value_str[16]; swprintf(value_str, ARRAY_SIZE(value_str), L"%dpx", value); return set_style_property(&style->css_style, sid, value_str); } static HRESULT get_nsstyle_pos(HTMLStyle *This, styleid_t sid, float *p) { nsAString str_value; HRESULT hres; TRACE("%p %d %p\n", This, sid, p); *p = 0.0f; nsAString_Init(&str_value, NULL); hres = get_nsstyle_attr_nsval(This->css_style.nsstyle, sid, &str_value); if(hres == S_OK) { WCHAR *ptr; const PRUnichar *value; nsAString_GetData(&str_value, &value); if(value) { *p = wcstol(value, &ptr, 10); if(*ptr && wcscmp(ptr, L"px")) { nsAString_Finish(&str_value); FIXME("only px values are currently supported\n"); hres = E_FAIL; } } } TRACE("ret %f\n", *p); nsAString_Finish(&str_value); return hres; } static HRESULT get_nsstyle_pixel_val(HTMLStyle *This, styleid_t sid, LONG *p) { nsAString str_value; HRESULT hres; if(!p) return E_POINTER; nsAString_Init(&str_value, NULL); hres = get_nsstyle_attr_nsval(This->css_style.nsstyle, sid, &str_value); if(hres == S_OK) { WCHAR *ptr = NULL; const PRUnichar *value; nsAString_GetData(&str_value, &value); if(value) { *p = wcstol(value, &ptr, 10); if(*ptr == '.') { /* Skip all digits. We have tests showing that we should not round the value. */ while(is_digit(*++ptr)); } } if(!ptr || (*ptr && wcscmp(ptr, L"px"))) *p = 0; } nsAString_Finish(&str_value); return hres; } static BOOL is_valid_border_style(BSTR v) { return !v || wcsicmp(v, L"none") == 0 || wcsicmp(v, L"dotted") == 0 || wcsicmp(v, L"dashed") == 0 || wcsicmp(v, L"solid") == 0 || wcsicmp(v, L"double") == 0 || wcsicmp(v, L"groove") == 0 || wcsicmp(v, L"ridge") == 0 || wcsicmp(v, L"inset") == 0 || wcsicmp(v, L"outset") == 0; } static void *HTMLStyle_QI(CSSStyle *css_style, REFIID riid) { HTMLStyle *This = CONTAINING_RECORD(css_style, HTMLStyle, css_style); if(IsEqualGUID(&IID_IHTMLStyle, riid)) return &This->IHTMLStyle_iface; if(IsEqualGUID(&IID_IHTMLStyle2, riid)) return &This->IHTMLStyle2_iface; if(IsEqualGUID(&IID_IHTMLStyle3, riid)) return &This->IHTMLStyle3_iface; if(IsEqualGUID(&IID_IHTMLStyle4, riid)) return &This->IHTMLStyle4_iface; if(IsEqualGUID(&IID_IHTMLStyle5, riid)) return &This->IHTMLStyle5_iface; if(IsEqualGUID(&IID_IHTMLStyle6, riid)) return &This->IHTMLStyle6_iface; return NULL; } static inline HTMLStyle *impl_from_IHTMLStyle(IHTMLStyle *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IHTMLCSSStyleDeclaration_QueryInterface(&This->css_style.IHTMLCSSStyleDeclaration_iface, riid, ppv); } static ULONG WINAPI HTMLStyle_AddRef(IHTMLStyle *iface) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IHTMLCSSStyleDeclaration_AddRef(&This->css_style.IHTMLCSSStyleDeclaration_iface); } static ULONG WINAPI HTMLStyle_Release(IHTMLStyle *iface) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IHTMLCSSStyleDeclaration_Release(&This->css_style.IHTMLCSSStyleDeclaration_iface); } static HRESULT WINAPI HTMLStyle_GetTypeInfoCount(IHTMLStyle *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle_GetTypeInfo(IHTMLStyle *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle_GetIDsOfNames(IHTMLStyle *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle_Invoke(IHTMLStyle *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle_put_fontFamily(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_FONT_FAMILY, v); } static HRESULT WINAPI HTMLStyle_get_fontFamily(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_FONT_FAMILY, p); } static HRESULT WINAPI HTMLStyle_put_fontStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_FONT_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_fontStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_FONT_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_fontVariant(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_FONT_VARIANT, v); } static HRESULT WINAPI HTMLStyle_get_fontVariant(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_INVALIDARG; return get_style_property(&This->css_style, STYLEID_FONT_VARIANT, p); } static HRESULT WINAPI HTMLStyle_put_fontWeight(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_FONT_WEIGHT, v); } static HRESULT WINAPI HTMLStyle_get_fontWeight(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_FONT_WEIGHT, p); } static HRESULT WINAPI HTMLStyle_put_fontSize(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_FONT_SIZE, &v); } static HRESULT WINAPI HTMLStyle_get_fontSize(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_FONT_SIZE, p); } static HRESULT WINAPI HTMLStyle_put_font(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle_get_font(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle_put_color(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_color(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_background(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BACKGROUND, v); } static HRESULT WINAPI HTMLStyle_get_background(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BACKGROUND, p); } static HRESULT WINAPI HTMLStyle_put_backgroundColor(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BACKGROUND_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_backgroundColor(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BACKGROUND_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_backgroundImage(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BACKGROUND_IMAGE, v); } static HRESULT WINAPI HTMLStyle_get_backgroundImage(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BACKGROUND_IMAGE, p); } static HRESULT WINAPI HTMLStyle_put_backgroundRepeat(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BACKGROUND_REPEAT , v); } static HRESULT WINAPI HTMLStyle_get_backgroundRepeat(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BACKGROUND_REPEAT, p); } static HRESULT WINAPI HTMLStyle_put_backgroundAttachment(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BACKGROUND_ATTACHMENT, v); } static HRESULT WINAPI HTMLStyle_get_backgroundAttachment(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BACKGROUND_ATTACHMENT, p); } static HRESULT WINAPI HTMLStyle_put_backgroundPosition(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BACKGROUND_POSITION, v); } static HRESULT WINAPI HTMLStyle_get_backgroundPosition(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BACKGROUND_POSITION, p); } static HRESULT WINAPI HTMLStyle_put_backgroundPositionX(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return IHTMLCSSStyleDeclaration_put_backgroundPositionX(&This->css_style.IHTMLCSSStyleDeclaration_iface, v); } static HRESULT WINAPI HTMLStyle_get_backgroundPositionX(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return IHTMLCSSStyleDeclaration_get_backgroundPositionX(&This->css_style.IHTMLCSSStyleDeclaration_iface, p); } static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return IHTMLCSSStyleDeclaration_put_backgroundPositionY(&This->css_style.IHTMLCSSStyleDeclaration_iface, v); } static HRESULT WINAPI HTMLStyle_get_backgroundPositionY(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return IHTMLCSSStyleDeclaration_get_backgroundPositionY(&This->css_style.IHTMLCSSStyleDeclaration_iface, p); } static HRESULT WINAPI HTMLStyle_put_wordSpacing(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_WORD_SPACING, &v); } static HRESULT WINAPI HTMLStyle_get_wordSpacing(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_WORD_SPACING, p); } static HRESULT WINAPI HTMLStyle_put_letterSpacing(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_LETTER_SPACING, &v); } static HRESULT WINAPI HTMLStyle_get_letterSpacing(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_LETTER_SPACING, p); } static HRESULT WINAPI HTMLStyle_put_textDecoration(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION , v); } static HRESULT WINAPI HTMLStyle_get_textDecoration(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_TEXT_DECORATION, p); } static HRESULT WINAPI HTMLStyle_put_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%x)\n", This, v); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION, v ? L"none" : L""); } static HRESULT WINAPI HTMLStyle_get_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return check_style_attr_value(This, STYLEID_TEXT_DECORATION, L"none", p); } static HRESULT WINAPI HTMLStyle_put_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%x)\n", This, v); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION, v ? L"underline" : L""); } static HRESULT WINAPI HTMLStyle_get_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return check_style_attr_value(This, STYLEID_TEXT_DECORATION, L"underline", p); } static HRESULT WINAPI HTMLStyle_put_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%x)\n", This, v); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION, v ? L"overline" : L""); } static HRESULT WINAPI HTMLStyle_get_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return check_style_attr_value(This, STYLEID_TEXT_DECORATION, L"overline", p); } static HRESULT WINAPI HTMLStyle_put_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%x)\n", This, v); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION, v ? L"line-through" : L""); } static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return check_style_attr_value(This, STYLEID_TEXT_DECORATION, L"line-through", p); } static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%x)\n", This, v); return set_style_property(&This->css_style, STYLEID_TEXT_DECORATION, v ? L"blink" : L""); } static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return check_style_attr_value(This, STYLEID_TEXT_DECORATION, L"blink", p); } static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_VERTICAL_ALIGN, &v); } static HRESULT WINAPI HTMLStyle_get_verticalAlign(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_VERTICAL_ALIGN, p); } static HRESULT WINAPI HTMLStyle_put_textTransform(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_TEXT_TRANSFORM, v); } static HRESULT WINAPI HTMLStyle_get_textTransform(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_TEXT_TRANSFORM, p); } static HRESULT WINAPI HTMLStyle_put_textAlign(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_TEXT_ALIGN, v); } static HRESULT WINAPI HTMLStyle_get_textAlign(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_TEXT_ALIGN, p); } static HRESULT WINAPI HTMLStyle_put_textIndent(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_TEXT_INDENT, &v); } static HRESULT WINAPI HTMLStyle_get_textIndent(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_TEXT_INDENT, p); } static HRESULT WINAPI HTMLStyle_put_lineHeight(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_LINE_HEIGHT, &v); } static HRESULT WINAPI HTMLStyle_get_lineHeight(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_LINE_HEIGHT, p); } static HRESULT WINAPI HTMLStyle_put_marginTop(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MARGIN_TOP, &v); } static HRESULT WINAPI HTMLStyle_get_marginTop(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MARGIN_TOP, p); } static HRESULT WINAPI HTMLStyle_put_marginRight(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MARGIN_RIGHT, &v); } static HRESULT WINAPI HTMLStyle_get_marginRight(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MARGIN_RIGHT, p); } static HRESULT WINAPI HTMLStyle_put_marginBottom(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MARGIN_BOTTOM, &v); } static HRESULT WINAPI HTMLStyle_get_marginBottom(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MARGIN_BOTTOM, p); } static HRESULT WINAPI HTMLStyle_put_marginLeft(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MARGIN_LEFT, &v); } static HRESULT WINAPI HTMLStyle_put_margin(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_MARGIN, v); } static HRESULT WINAPI HTMLStyle_get_margin(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_MARGIN, p); } static HRESULT WINAPI HTMLStyle_get_marginLeft(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MARGIN_LEFT, p); } static HRESULT WINAPI HTMLStyle_put_paddingTop(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_PADDING_TOP, &v); } static HRESULT WINAPI HTMLStyle_get_paddingTop(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_PADDING_TOP, p); } static HRESULT WINAPI HTMLStyle_put_paddingRight(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_PADDING_RIGHT, &v); } static HRESULT WINAPI HTMLStyle_get_paddingRight(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_PADDING_RIGHT, p); } static HRESULT WINAPI HTMLStyle_put_paddingBottom(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_PADDING_BOTTOM, &v); } static HRESULT WINAPI HTMLStyle_get_paddingBottom(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_PADDING_BOTTOM, p); } static HRESULT WINAPI HTMLStyle_put_paddingLeft(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_PADDING_LEFT, &v); } static HRESULT WINAPI HTMLStyle_get_paddingLeft(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_PADDING_LEFT, p); } static HRESULT WINAPI HTMLStyle_put_padding(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_PADDING, v); } static HRESULT WINAPI HTMLStyle_get_padding(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_PADDING, p); } static HRESULT WINAPI HTMLStyle_put_border(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER, v); } static HRESULT WINAPI HTMLStyle_get_border(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER, p); } static HRESULT WINAPI HTMLStyle_put_borderTop(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_TOP, v); } static HRESULT WINAPI HTMLStyle_get_borderTop(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_TOP, p); } static HRESULT WINAPI HTMLStyle_put_borderRight(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_RIGHT, v); } static HRESULT WINAPI HTMLStyle_get_borderRight(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_RIGHT, p); } static HRESULT WINAPI HTMLStyle_put_borderBottom(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_BOTTOM, v); } static HRESULT WINAPI HTMLStyle_get_borderBottom(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_BOTTOM, p); } static HRESULT WINAPI HTMLStyle_put_borderLeft(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_LEFT, v); } static HRESULT WINAPI HTMLStyle_get_borderLeft(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_LEFT, p); } static HRESULT WINAPI HTMLStyle_put_borderColor(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_COLOR, v); } static HRESULT WINAPI HTMLStyle_get_borderColor(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_TOP_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_TOP_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_RIGHT_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_RIGHT_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_BOTTOM_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_BOTTOM_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_LEFT_COLOR, &v); } static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_LEFT_COLOR, p); } static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_WIDTH, v); } static HRESULT WINAPI HTMLStyle_get_borderWidth(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_borderTopWidth(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_TOP_WIDTH, &v); } static HRESULT WINAPI HTMLStyle_get_borderTopWidth(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_TOP_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_borderRightWidth(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_RIGHT_WIDTH, &v); } static HRESULT WINAPI HTMLStyle_get_borderRightWidth(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_RIGHT_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_borderBottomWidth(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_BOTTOM_WIDTH, &v); } static HRESULT WINAPI HTMLStyle_get_borderBottomWidth(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_BOTTOM_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_borderLeftWidth(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BORDER_LEFT_WIDTH, &v); } static HRESULT WINAPI HTMLStyle_get_borderLeftWidth(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BORDER_LEFT_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_borderStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); HRESULT hres = S_OK; BSTR pstyle; int i=0; int last = 0; TRACE("(%p)->(%s)\n", This, debugstr_w(v)); while(v[i] && hres == S_OK) { if(v[i] == (WCHAR)' ') { pstyle = SysAllocStringLen(&v[last], (i-last)); if( !(is_valid_border_style(pstyle) || wcsicmp(L"window-inset", pstyle) == 0)) { TRACE("1. Invalid style (%s)\n", debugstr_w(pstyle)); hres = E_INVALIDARG; } SysFreeString(pstyle); last = i+1; } i++; } if(hres == S_OK) { pstyle = SysAllocStringLen(&v[last], i-last); if( !(is_valid_border_style(pstyle) || wcsicmp(L"window-inset", pstyle) == 0)) { TRACE("2. Invalid style (%s)\n", debugstr_w(pstyle)); hres = E_INVALIDARG; } SysFreeString(pstyle); } if(hres == S_OK) hres = set_style_property(&This->css_style, STYLEID_BORDER_STYLE, v); return hres; } static HRESULT WINAPI HTMLStyle_get_borderStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_TOP_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_borderTopStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_TOP_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_RIGHT_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_borderRightStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_RIGHT_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_BOTTOM_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_borderBottomStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_BOTTOM_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_LEFT_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_borderLeftStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_LEFT_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_WIDTH, &v); } static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_height(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_HEIGHT, &v); } static HRESULT WINAPI HTMLStyle_get_height(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_HEIGHT, p); } static HRESULT WINAPI HTMLStyle_put_styleFloat(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_FLOAT, v); } static HRESULT WINAPI HTMLStyle_get_styleFloat(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_FLOAT, p); } static HRESULT WINAPI HTMLStyle_put_clear(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_CLEAR, v); } static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_CLEAR, p); } static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_DISPLAY, v); } static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_DISPLAY, p); } static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_VISIBILITY, v); } static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_VISIBILITY, p); } static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_LISTSTYLETYPE, v); } static HRESULT WINAPI HTMLStyle_get_listStyleType(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_LISTSTYLETYPE, p); } static HRESULT WINAPI HTMLStyle_put_listStylePosition(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_LISTSTYLEPOSITION, v); } static HRESULT WINAPI HTMLStyle_get_listStylePosition(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_LISTSTYLEPOSITION, p); } static HRESULT WINAPI HTMLStyle_put_listStyleImage(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle_get_listStyleImage(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle_put_listStyle(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_LIST_STYLE, v); } static HRESULT WINAPI HTMLStyle_get_listStyle(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_LIST_STYLE, p); } static HRESULT WINAPI HTMLStyle_put_whiteSpace(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_WHITE_SPACE, v); } static HRESULT WINAPI HTMLStyle_get_whiteSpace(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_WHITE_SPACE, p); } static HRESULT WINAPI HTMLStyle_put_top(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_TOP, &v); } static HRESULT WINAPI HTMLStyle_get_top(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_TOP, p); } static HRESULT WINAPI HTMLStyle_put_left(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_LEFT, &v); } static HRESULT WINAPI HTMLStyle_get_left(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_LEFT, p); } static HRESULT WINAPI HTMLStyle_get_position(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return IHTMLStyle2_get_position(&This->IHTMLStyle2_iface, p); } static HRESULT WINAPI HTMLStyle_put_zIndex(IHTMLStyle *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_Z_INDEX, &v); } static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_Z_INDEX, p); } static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_OVERFLOW, v); } static HRESULT WINAPI HTMLStyle_get_overflow(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_INVALIDARG; return get_style_property(&This->css_style, STYLEID_OVERFLOW, p); } static HRESULT WINAPI HTMLStyle_put_pageBreakBefore(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_PAGE_BREAK_BEFORE, v); } static HRESULT WINAPI HTMLStyle_get_pageBreakBefore(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_PAGE_BREAK_BEFORE, p); } static HRESULT WINAPI HTMLStyle_put_pageBreakAfter(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_PAGE_BREAK_AFTER, v); } static HRESULT WINAPI HTMLStyle_get_pageBreakAfter(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_PAGE_BREAK_AFTER, p); } static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return IHTMLCSSStyleDeclaration_put_cssText(&This->css_style.IHTMLCSSStyleDeclaration_iface, v); } static HRESULT WINAPI HTMLStyle_get_cssText(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return IHTMLCSSStyleDeclaration_get_cssText(&This->css_style.IHTMLCSSStyleDeclaration_iface, p); } static HRESULT WINAPI HTMLStyle_put_pixelTop(IHTMLStyle *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%d)\n", This, v); return set_style_pxattr(This, STYLEID_TOP, v); } static HRESULT WINAPI HTMLStyle_get_pixelTop(IHTMLStyle *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_nsstyle_pixel_val(This, STYLEID_TOP, p); } static HRESULT WINAPI HTMLStyle_put_pixelLeft(IHTMLStyle *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%d)\n", This, v); return set_style_pxattr(This, STYLEID_LEFT, v); } static HRESULT WINAPI HTMLStyle_get_pixelLeft(IHTMLStyle *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_nsstyle_pixel_val(This, STYLEID_LEFT, p); } static HRESULT WINAPI HTMLStyle_put_pixelWidth(IHTMLStyle *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->()\n", This); return set_style_pxattr(This, STYLEID_WIDTH, v); } static HRESULT WINAPI HTMLStyle_get_pixelWidth(IHTMLStyle *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_nsstyle_pixel_val(This, STYLEID_WIDTH, p); } static HRESULT WINAPI HTMLStyle_put_pixelHeight(IHTMLStyle *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%d)\n", This, v); return set_style_pxattr(This, STYLEID_HEIGHT, v); } static HRESULT WINAPI HTMLStyle_get_pixelHeight(IHTMLStyle *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_nsstyle_pixel_val(This, STYLEID_HEIGHT, p); } static HRESULT WINAPI HTMLStyle_put_posTop(IHTMLStyle *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%f)\n", This, v); return set_style_pos(This, STYLEID_TOP, v); } static HRESULT WINAPI HTMLStyle_get_posTop(IHTMLStyle *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_POINTER; return get_nsstyle_pos(This, STYLEID_TOP, p); } static HRESULT WINAPI HTMLStyle_put_posLeft(IHTMLStyle *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%f)\n", This, v); return set_style_pos(This, STYLEID_LEFT, v); } static HRESULT WINAPI HTMLStyle_get_posLeft(IHTMLStyle *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_POINTER; return get_nsstyle_pos(This, STYLEID_LEFT, p); } static HRESULT WINAPI HTMLStyle_put_posWidth(IHTMLStyle *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%f)\n", This, v); return set_style_pos(This, STYLEID_WIDTH, v); } static HRESULT WINAPI HTMLStyle_get_posWidth(IHTMLStyle *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_POINTER; if(get_nsstyle_pos(This, STYLEID_WIDTH, p) != S_OK) *p = 0.0f; return S_OK; } static HRESULT WINAPI HTMLStyle_put_posHeight(IHTMLStyle *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%f)\n", This, v); return set_style_pos(This, STYLEID_HEIGHT, v); } static HRESULT WINAPI HTMLStyle_get_posHeight(IHTMLStyle *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!p) return E_POINTER; if(get_nsstyle_pos(This, STYLEID_HEIGHT, p) != S_OK) *p = 0.0f; return S_OK; } static HRESULT WINAPI HTMLStyle_put_cursor(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_CURSOR, v); } static HRESULT WINAPI HTMLStyle_get_cursor(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_CURSOR, p); } static HRESULT WINAPI HTMLStyle_put_clip(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_CLIP, v); } static HRESULT WINAPI HTMLStyle_get_clip(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_CLIP, p); } static void set_opacity(HTMLStyle *This, const WCHAR *val) { nsAString name_str, val_str, empty_str; nsresult nsres; TRACE("%s\n", debugstr_w(val)); nsAString_InitDepend(&name_str, L"opacity"); nsAString_InitDepend(&val_str, val); nsAString_InitDepend(&empty_str, L""); nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->css_style.nsstyle, &name_str, &val_str, &empty_str); if(NS_FAILED(nsres)) ERR("SetProperty failed: %08x\n", nsres); nsAString_Finish(&name_str); nsAString_Finish(&val_str); nsAString_Finish(&empty_str); } static void update_filter(HTMLStyle *This) { const WCHAR *ptr, *ptr2; static const WCHAR alphaW[] = {'a','l','p','h','a'}; if(dispex_compat_mode(&This->css_style.dispex) >= COMPAT_MODE_IE10) return; ptr = This->elem->filter; TRACE("%s\n", debugstr_w(ptr)); if(!ptr) { set_opacity(This, L""); return; } while(1) { while(iswspace(*ptr)) ptr++; if(!*ptr) break; ptr2 = ptr; while(iswalnum(*ptr)) ptr++; if(ptr == ptr2) { WARN("unexpected char '%c'\n", *ptr); break; } if(*ptr != '(') { WARN("expected '('\n"); continue; } if(ptr2 + ARRAY_SIZE(alphaW) == ptr && !memcmp(ptr2, alphaW, sizeof(alphaW))) { static const WCHAR opacityW[] = {'o','p','a','c','i','t','y','='}; ptr++; do { while(iswspace(*ptr)) ptr++; ptr2 = ptr; while(*ptr && *ptr != ',' && *ptr != ')') ptr++; if(!*ptr) { WARN("unexpected end of string\n"); break; } if(ptr-ptr2 > ARRAY_SIZE(opacityW) && !memcmp(ptr2, opacityW, sizeof(opacityW))) { float fval = 0.0f, e = 0.1f; WCHAR buf[32]; ptr2 += ARRAY_SIZE(opacityW); while(is_digit(*ptr2)) fval = fval*10.0f + (float)(*ptr2++ - '0'); if(*ptr2 == '.') { while(is_digit(*++ptr2)) { fval += e * (float)(*ptr2++ - '0'); e *= 0.1f; } } swprintf(buf, ARRAY_SIZE(buf), L"%f", fval * 0.01f); set_opacity(This, buf); }else { FIXME("unknown param %s\n", debugstr_wn(ptr2, ptr-ptr2)); } if(*ptr == ',') ptr++; }while(*ptr != ')'); }else { FIXME("unknown filter %s\n", debugstr_wn(ptr2, ptr-ptr2)); ptr = wcschr(ptr, ')'); if(!ptr) break; ptr++; } } } static HRESULT WINAPI HTMLStyle_put_filter(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle(iface); WCHAR *new_filter = NULL; TRACE("(%p)->(%s)\n", This, debugstr_w(v)); if(!This->elem) { FIXME("Element already destroyed\n"); return E_UNEXPECTED; } if(v) { new_filter = heap_strdupW(v); if(!new_filter) return E_OUTOFMEMORY; } heap_free(This->elem->filter); This->elem->filter = new_filter; update_filter(This); return S_OK; } static HRESULT WINAPI HTMLStyle_get_filter(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle(iface); TRACE("(%p)->(%p)\n", This, p); if(!This->elem) { FIXME("Element already destroyed\n"); return E_UNEXPECTED; } if(This->elem->filter) { *p = SysAllocString(This->elem->filter); if(!*p) return E_OUTOFMEMORY; }else { *p = NULL; } return S_OK; } static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttributeName, VARIANT AttributeValue, LONG lFlags) { HTMLStyle *This = impl_from_IHTMLStyle(iface); HRESULT hres; DISPID dispid; TRACE("(%p)->(%s %s %08x)\n", This, debugstr_w(strAttributeName), debugstr_variant(&AttributeValue), lFlags); if(!strAttributeName) return E_INVALIDARG; if(lFlags == 1) FIXME("Parameter lFlags ignored\n"); hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1, LOCALE_USER_DEFAULT, &dispid); if(hres == S_OK) { VARIANT ret; DISPID dispidNamed = DISPID_PROPERTYPUT; DISPPARAMS params; params.cArgs = 1; params.rgvarg = &AttributeValue; params.cNamedArgs = 1; params.rgdispidNamedArgs = &dispidNamed; hres = HTMLStyle_Invoke(iface, dispid, &IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYPUT, ¶ms, &ret, NULL, NULL); } else { FIXME("Custom attributes not supported.\n"); } TRACE("ret: %08x\n", hres); return hres; } static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttributeName, LONG lFlags, VARIANT *AttributeValue) { HTMLStyle *This = impl_from_IHTMLStyle(iface); HRESULT hres; DISPID dispid; TRACE("(%p)->(%s v%p %08x)\n", This, debugstr_w(strAttributeName), AttributeValue, lFlags); if(!AttributeValue || !strAttributeName) return E_INVALIDARG; if(lFlags == 1) FIXME("Parameter lFlags ignored\n"); hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1, LOCALE_USER_DEFAULT, &dispid); if(hres == S_OK) { DISPPARAMS params = {NULL, NULL, 0, 0 }; hres = HTMLStyle_Invoke(iface, dispid, &IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYGET, ¶ms, AttributeValue, NULL, NULL); } else { FIXME("Custom attributes not supported.\n"); } return hres; } static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttributeName, LONG lFlags, VARIANT_BOOL *pfSuccess) { HTMLStyle *This = impl_from_IHTMLStyle(iface); const style_tbl_entry_t *style_entry; nsAString name_str, ret_str; nsresult nsres; HRESULT hres; TRACE("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName), lFlags, pfSuccess); style_entry = lookup_style_tbl(&This->css_style, strAttributeName); if(!style_entry) { compat_mode_t compat_mode = dispex_compat_mode(&This->css_style.dispex); DISPID dispid; unsigned i; hres = IDispatchEx_GetDispID(&This->css_style.dispex.IDispatchEx_iface, strAttributeName, (lFlags&1) ? fdexNameCaseSensitive : fdexNameCaseInsensitive, &dispid); if(hres != S_OK) { *pfSuccess = VARIANT_FALSE; return S_OK; } for(i=0; i < ARRAY_SIZE(style_tbl); i++) { if(dispid == (compat_mode >= COMPAT_MODE_IE9 ? style_tbl[i].dispid : style_tbl[i].compat_dispid)) break; } if(i == ARRAY_SIZE(style_tbl)) return remove_attribute(&This->css_style.dispex, dispid, pfSuccess); style_entry = style_tbl+i; } /* filter property is a special case */ if(style_entry->compat_dispid == DISPID_IHTMLSTYLE_FILTER) { if(!This->elem) return E_UNEXPECTED; *pfSuccess = variant_bool(This->elem->filter && *This->elem->filter); heap_free(This->elem->filter); This->elem->filter = NULL; update_filter(This); return S_OK; } nsAString_InitDepend(&name_str, style_entry->name); nsAString_Init(&ret_str, NULL); nsres = nsIDOMCSSStyleDeclaration_RemoveProperty(This->css_style.nsstyle, &name_str, &ret_str); if(NS_SUCCEEDED(nsres)) { const PRUnichar *ret; nsAString_GetData(&ret_str, &ret); *pfSuccess = variant_bool(*ret); }else { WARN("RemoveProperty failed: %08x\n", nsres); } nsAString_Finish(&name_str); nsAString_Finish(&ret_str); return map_nsresult(nsres); } static HRESULT WINAPI HTMLStyle_toString(IHTMLStyle *iface, BSTR *String) { HTMLStyle *This = impl_from_IHTMLStyle(iface); FIXME("(%p)->(%p)\n", This, String); return E_NOTIMPL; } static const IHTMLStyleVtbl HTMLStyleVtbl = { HTMLStyle_QueryInterface, HTMLStyle_AddRef, HTMLStyle_Release, HTMLStyle_GetTypeInfoCount, HTMLStyle_GetTypeInfo, HTMLStyle_GetIDsOfNames, HTMLStyle_Invoke, HTMLStyle_put_fontFamily, HTMLStyle_get_fontFamily, HTMLStyle_put_fontStyle, HTMLStyle_get_fontStyle, HTMLStyle_put_fontVariant, HTMLStyle_get_fontVariant, HTMLStyle_put_fontWeight, HTMLStyle_get_fontWeight, HTMLStyle_put_fontSize, HTMLStyle_get_fontSize, HTMLStyle_put_font, HTMLStyle_get_font, HTMLStyle_put_color, HTMLStyle_get_color, HTMLStyle_put_background, HTMLStyle_get_background, HTMLStyle_put_backgroundColor, HTMLStyle_get_backgroundColor, HTMLStyle_put_backgroundImage, HTMLStyle_get_backgroundImage, HTMLStyle_put_backgroundRepeat, HTMLStyle_get_backgroundRepeat, HTMLStyle_put_backgroundAttachment, HTMLStyle_get_backgroundAttachment, HTMLStyle_put_backgroundPosition, HTMLStyle_get_backgroundPosition, HTMLStyle_put_backgroundPositionX, HTMLStyle_get_backgroundPositionX, HTMLStyle_put_backgroundPositionY, HTMLStyle_get_backgroundPositionY, HTMLStyle_put_wordSpacing, HTMLStyle_get_wordSpacing, HTMLStyle_put_letterSpacing, HTMLStyle_get_letterSpacing, HTMLStyle_put_textDecoration, HTMLStyle_get_textDecoration, HTMLStyle_put_textDecorationNone, HTMLStyle_get_textDecorationNone, HTMLStyle_put_textDecorationUnderline, HTMLStyle_get_textDecorationUnderline, HTMLStyle_put_textDecorationOverline, HTMLStyle_get_textDecorationOverline, HTMLStyle_put_textDecorationLineThrough, HTMLStyle_get_textDecorationLineThrough, HTMLStyle_put_textDecorationBlink, HTMLStyle_get_textDecorationBlink, HTMLStyle_put_verticalAlign, HTMLStyle_get_verticalAlign, HTMLStyle_put_textTransform, HTMLStyle_get_textTransform, HTMLStyle_put_textAlign, HTMLStyle_get_textAlign, HTMLStyle_put_textIndent, HTMLStyle_get_textIndent, HTMLStyle_put_lineHeight, HTMLStyle_get_lineHeight, HTMLStyle_put_marginTop, HTMLStyle_get_marginTop, HTMLStyle_put_marginRight, HTMLStyle_get_marginRight, HTMLStyle_put_marginBottom, HTMLStyle_get_marginBottom, HTMLStyle_put_marginLeft, HTMLStyle_get_marginLeft, HTMLStyle_put_margin, HTMLStyle_get_margin, HTMLStyle_put_paddingTop, HTMLStyle_get_paddingTop, HTMLStyle_put_paddingRight, HTMLStyle_get_paddingRight, HTMLStyle_put_paddingBottom, HTMLStyle_get_paddingBottom, HTMLStyle_put_paddingLeft, HTMLStyle_get_paddingLeft, HTMLStyle_put_padding, HTMLStyle_get_padding, HTMLStyle_put_border, HTMLStyle_get_border, HTMLStyle_put_borderTop, HTMLStyle_get_borderTop, HTMLStyle_put_borderRight, HTMLStyle_get_borderRight, HTMLStyle_put_borderBottom, HTMLStyle_get_borderBottom, HTMLStyle_put_borderLeft, HTMLStyle_get_borderLeft, HTMLStyle_put_borderColor, HTMLStyle_get_borderColor, HTMLStyle_put_borderTopColor, HTMLStyle_get_borderTopColor, HTMLStyle_put_borderRightColor, HTMLStyle_get_borderRightColor, HTMLStyle_put_borderBottomColor, HTMLStyle_get_borderBottomColor, HTMLStyle_put_borderLeftColor, HTMLStyle_get_borderLeftColor, HTMLStyle_put_borderWidth, HTMLStyle_get_borderWidth, HTMLStyle_put_borderTopWidth, HTMLStyle_get_borderTopWidth, HTMLStyle_put_borderRightWidth, HTMLStyle_get_borderRightWidth, HTMLStyle_put_borderBottomWidth, HTMLStyle_get_borderBottomWidth, HTMLStyle_put_borderLeftWidth, HTMLStyle_get_borderLeftWidth, HTMLStyle_put_borderStyle, HTMLStyle_get_borderStyle, HTMLStyle_put_borderTopStyle, HTMLStyle_get_borderTopStyle, HTMLStyle_put_borderRightStyle, HTMLStyle_get_borderRightStyle, HTMLStyle_put_borderBottomStyle, HTMLStyle_get_borderBottomStyle, HTMLStyle_put_borderLeftStyle, HTMLStyle_get_borderLeftStyle, HTMLStyle_put_width, HTMLStyle_get_width, HTMLStyle_put_height, HTMLStyle_get_height, HTMLStyle_put_styleFloat, HTMLStyle_get_styleFloat, HTMLStyle_put_clear, HTMLStyle_get_clear, HTMLStyle_put_display, HTMLStyle_get_display, HTMLStyle_put_visibility, HTMLStyle_get_visibility, HTMLStyle_put_listStyleType, HTMLStyle_get_listStyleType, HTMLStyle_put_listStylePosition, HTMLStyle_get_listStylePosition, HTMLStyle_put_listStyleImage, HTMLStyle_get_listStyleImage, HTMLStyle_put_listStyle, HTMLStyle_get_listStyle, HTMLStyle_put_whiteSpace, HTMLStyle_get_whiteSpace, HTMLStyle_put_top, HTMLStyle_get_top, HTMLStyle_put_left, HTMLStyle_get_left, HTMLStyle_get_position, HTMLStyle_put_zIndex, HTMLStyle_get_zIndex, HTMLStyle_put_overflow, HTMLStyle_get_overflow, HTMLStyle_put_pageBreakBefore, HTMLStyle_get_pageBreakBefore, HTMLStyle_put_pageBreakAfter, HTMLStyle_get_pageBreakAfter, HTMLStyle_put_cssText, HTMLStyle_get_cssText, HTMLStyle_put_pixelTop, HTMLStyle_get_pixelTop, HTMLStyle_put_pixelLeft, HTMLStyle_get_pixelLeft, HTMLStyle_put_pixelWidth, HTMLStyle_get_pixelWidth, HTMLStyle_put_pixelHeight, HTMLStyle_get_pixelHeight, HTMLStyle_put_posTop, HTMLStyle_get_posTop, HTMLStyle_put_posLeft, HTMLStyle_get_posLeft, HTMLStyle_put_posWidth, HTMLStyle_get_posWidth, HTMLStyle_put_posHeight, HTMLStyle_get_posHeight, HTMLStyle_put_cursor, HTMLStyle_get_cursor, HTMLStyle_put_clip, HTMLStyle_get_clip, HTMLStyle_put_filter, HTMLStyle_get_filter, HTMLStyle_setAttribute, HTMLStyle_getAttribute, HTMLStyle_removeAttribute, HTMLStyle_toString }; static inline HTMLStyle *impl_from_IHTMLStyle2(IHTMLStyle2 *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle2_iface); } static HRESULT WINAPI HTMLStyle2_QueryInterface(IHTMLStyle2 *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); } static ULONG WINAPI HTMLStyle2_AddRef(IHTMLStyle2 *iface) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); } static ULONG WINAPI HTMLStyle2_Release(IHTMLStyle2 *iface) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IHTMLStyle_Release(&This->IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle2_Invoke(IHTMLStyle2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle2_put_tableLayout(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_TABLE_LAYOUT, v); } static HRESULT WINAPI HTMLStyle2_get_tableLayout(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_TABLE_LAYOUT, p); } static HRESULT WINAPI HTMLStyle2_put_borderCollapse(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_COLLAPSE, v); } static HRESULT WINAPI HTMLStyle2_get_borderCollapse(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_COLLAPSE, p); } static HRESULT WINAPI HTMLStyle2_put_direction(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_DIRECTION, v); } static HRESULT WINAPI HTMLStyle2_get_direction(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_DIRECTION, p); } static HRESULT WINAPI HTMLStyle2_put_behavior(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return S_OK; } static HRESULT WINAPI HTMLStyle2_get_behavior(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_setExpression(IHTMLStyle2 *iface, BSTR propname, BSTR expression, BSTR language) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(propname), debugstr_w(expression), debugstr_w(language)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_getExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT *expression) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), expression); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_removeExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT_BOOL *pfSuccess) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), pfSuccess); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_position(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_POSITION, v); } static HRESULT WINAPI HTMLStyle2_get_position(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_POSITION, p); } static HRESULT WINAPI HTMLStyle2_put_unicodeBidi(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_unicodeBidi(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_bottom(IHTMLStyle2 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_BOTTOM, &v); } static HRESULT WINAPI HTMLStyle2_get_bottom(IHTMLStyle2 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_BOTTOM, p); } static HRESULT WINAPI HTMLStyle2_put_right(IHTMLStyle2 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_RIGHT, &v); } static HRESULT WINAPI HTMLStyle2_get_right(IHTMLStyle2 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_RIGHT, p); } static HRESULT WINAPI HTMLStyle2_put_pixelBottom(IHTMLStyle2 *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%d)\n", This, v); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_pixelBottom(IHTMLStyle2 *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_pixelRight(IHTMLStyle2 *iface, LONG v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%d)\n", This, v); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_pixelRight(IHTMLStyle2 *iface, LONG *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_posBottom(IHTMLStyle2 *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%f)\n", This, v); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_posBottom(IHTMLStyle2 *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_posRight(IHTMLStyle2 *iface, float v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%f)\n", This, v); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_posRight(IHTMLStyle2 *iface, float *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_imeMode(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_imeMode(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_rubyAlign(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_rubyAlign(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_rubyPosition(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_rubyPosition(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_rubyOverhang(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_rubyOverhang(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_layoutGridChar(IHTMLStyle2 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_layoutGridChar(IHTMLStyle2 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_layoutGridLine(IHTMLStyle2 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_layoutGridLine(IHTMLStyle2 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_layoutGridMode(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_layoutGridMode(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_layoutGridType(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_layoutGridType(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_layoutGrid(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_layoutGrid(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_wordBreak(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_wordBreak(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_lineBreak(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_lineBreak(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_textJustify(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_textJustify(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_textKashida(IHTMLStyle2 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_textKashida(IHTMLStyle2 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_textAutospace(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_textAutospace(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_put_overflowX(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_OVERFLOW_X, v); } static HRESULT WINAPI HTMLStyle2_get_overflowX(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_OVERFLOW_X, p); } static HRESULT WINAPI HTMLStyle2_put_overflowY(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_OVERFLOW_Y, v); } static HRESULT WINAPI HTMLStyle2_get_overflowY(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_OVERFLOW_Y, p); } static HRESULT WINAPI HTMLStyle2_put_accelerator(IHTMLStyle2 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle2_get_accelerator(IHTMLStyle2 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static const IHTMLStyle2Vtbl HTMLStyle2Vtbl = { HTMLStyle2_QueryInterface, HTMLStyle2_AddRef, HTMLStyle2_Release, HTMLStyle2_GetTypeInfoCount, HTMLStyle2_GetTypeInfo, HTMLStyle2_GetIDsOfNames, HTMLStyle2_Invoke, HTMLStyle2_put_tableLayout, HTMLStyle2_get_tableLayout, HTMLStyle2_put_borderCollapse, HTMLStyle2_get_borderCollapse, HTMLStyle2_put_direction, HTMLStyle2_get_direction, HTMLStyle2_put_behavior, HTMLStyle2_get_behavior, HTMLStyle2_setExpression, HTMLStyle2_getExpression, HTMLStyle2_removeExpression, HTMLStyle2_put_position, HTMLStyle2_get_position, HTMLStyle2_put_unicodeBidi, HTMLStyle2_get_unicodeBidi, HTMLStyle2_put_bottom, HTMLStyle2_get_bottom, HTMLStyle2_put_right, HTMLStyle2_get_right, HTMLStyle2_put_pixelBottom, HTMLStyle2_get_pixelBottom, HTMLStyle2_put_pixelRight, HTMLStyle2_get_pixelRight, HTMLStyle2_put_posBottom, HTMLStyle2_get_posBottom, HTMLStyle2_put_posRight, HTMLStyle2_get_posRight, HTMLStyle2_put_imeMode, HTMLStyle2_get_imeMode, HTMLStyle2_put_rubyAlign, HTMLStyle2_get_rubyAlign, HTMLStyle2_put_rubyPosition, HTMLStyle2_get_rubyPosition, HTMLStyle2_put_rubyOverhang, HTMLStyle2_get_rubyOverhang, HTMLStyle2_put_layoutGridChar, HTMLStyle2_get_layoutGridChar, HTMLStyle2_put_layoutGridLine, HTMLStyle2_get_layoutGridLine, HTMLStyle2_put_layoutGridMode, HTMLStyle2_get_layoutGridMode, HTMLStyle2_put_layoutGridType, HTMLStyle2_get_layoutGridType, HTMLStyle2_put_layoutGrid, HTMLStyle2_get_layoutGrid, HTMLStyle2_put_wordBreak, HTMLStyle2_get_wordBreak, HTMLStyle2_put_lineBreak, HTMLStyle2_get_lineBreak, HTMLStyle2_put_textJustify, HTMLStyle2_get_textJustify, HTMLStyle2_put_textJustifyTrim, HTMLStyle2_get_textJustifyTrim, HTMLStyle2_put_textKashida, HTMLStyle2_get_textKashida, HTMLStyle2_put_textAutospace, HTMLStyle2_get_textAutospace, HTMLStyle2_put_overflowX, HTMLStyle2_get_overflowX, HTMLStyle2_put_overflowY, HTMLStyle2_get_overflowY, HTMLStyle2_put_accelerator, HTMLStyle2_get_accelerator }; static inline HTMLStyle *impl_from_IHTMLStyle3(IHTMLStyle3 *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle3_iface); } static HRESULT WINAPI HTMLStyle3_QueryInterface(IHTMLStyle3 *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); } static ULONG WINAPI HTMLStyle3_AddRef(IHTMLStyle3 *iface) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); } static ULONG WINAPI HTMLStyle3_Release(IHTMLStyle3 *iface) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IHTMLStyle_Release(&This->IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle3_GetTypeInfoCount(IHTMLStyle3 *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle3_GetTypeInfo(IHTMLStyle3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle3_GetIDsOfNames(IHTMLStyle3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle3_Invoke(IHTMLStyle3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle3_put_layoutFlow(IHTMLStyle3 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_get_layoutFlow(IHTMLStyle3 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_zoom(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return IHTMLCSSStyleDeclaration_put_zoom(&This->css_style.IHTMLCSSStyleDeclaration_iface, v); } static HRESULT WINAPI HTMLStyle3_get_zoom(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); TRACE("(%p)->(%p)\n", This, p); return IHTMLCSSStyleDeclaration_get_zoom(&This->css_style.IHTMLCSSStyleDeclaration_iface, p); } static HRESULT WINAPI HTMLStyle3_put_wordWrap(IHTMLStyle3 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_WORD_WRAP, v); } static HRESULT WINAPI HTMLStyle3_get_wordWrap(IHTMLStyle3 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_WORD_WRAP, p); } static HRESULT WINAPI HTMLStyle3_put_textUnderlinePosition(IHTMLStyle3 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_get_textUnderlinePosition(IHTMLStyle3 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return S_OK; } static HRESULT WINAPI HTMLStyle3_get_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_writingMode(IHTMLStyle3 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_get_writingMode(IHTMLStyle3 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_textAlignLast(IHTMLStyle3 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_get_textAlignLast(IHTMLStyle3 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_put_textKashidaSpace(IHTMLStyle3 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle3_get_textKashidaSpace(IHTMLStyle3 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle3(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static const IHTMLStyle3Vtbl HTMLStyle3Vtbl = { HTMLStyle3_QueryInterface, HTMLStyle3_AddRef, HTMLStyle3_Release, HTMLStyle3_GetTypeInfoCount, HTMLStyle3_GetTypeInfo, HTMLStyle3_GetIDsOfNames, HTMLStyle3_Invoke, HTMLStyle3_put_layoutFlow, HTMLStyle3_get_layoutFlow, HTMLStyle3_put_zoom, HTMLStyle3_get_zoom, HTMLStyle3_put_wordWrap, HTMLStyle3_get_wordWrap, HTMLStyle3_put_textUnderlinePosition, HTMLStyle3_get_textUnderlinePosition, HTMLStyle3_put_scrollbarBaseColor, HTMLStyle3_get_scrollbarBaseColor, HTMLStyle3_put_scrollbarFaceColor, HTMLStyle3_get_scrollbarFaceColor, HTMLStyle3_put_scrollbar3dLightColor, HTMLStyle3_get_scrollbar3dLightColor, HTMLStyle3_put_scrollbarShadowColor, HTMLStyle3_get_scrollbarShadowColor, HTMLStyle3_put_scrollbarHighlightColor, HTMLStyle3_get_scrollbarHighlightColor, HTMLStyle3_put_scrollbarDarkShadowColor, HTMLStyle3_get_scrollbarDarkShadowColor, HTMLStyle3_put_scrollbarArrowColor, HTMLStyle3_get_scrollbarArrowColor, HTMLStyle3_put_scrollbarTrackColor, HTMLStyle3_get_scrollbarTrackColor, HTMLStyle3_put_writingMode, HTMLStyle3_get_writingMode, HTMLStyle3_put_textAlignLast, HTMLStyle3_get_textAlignLast, HTMLStyle3_put_textKashidaSpace, HTMLStyle3_get_textKashidaSpace }; /* * IHTMLStyle4 Interface */ static inline HTMLStyle *impl_from_IHTMLStyle4(IHTMLStyle4 *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle4_iface); } static HRESULT WINAPI HTMLStyle4_QueryInterface(IHTMLStyle4 *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); } static ULONG WINAPI HTMLStyle4_AddRef(IHTMLStyle4 *iface) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); } static ULONG WINAPI HTMLStyle4_Release(IHTMLStyle4 *iface) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IHTMLStyle_Release(&This->IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle4_GetTypeInfoCount(IHTMLStyle4 *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle4_GetTypeInfo(IHTMLStyle4 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle4_GetIDsOfNames(IHTMLStyle4 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle4_Invoke(IHTMLStyle4 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle4_put_textOverflow(IHTMLStyle4 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle4_get_textOverflow(IHTMLStyle4 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle4_put_minHeight(IHTMLStyle4 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MIN_HEIGHT, &v); } static HRESULT WINAPI HTMLStyle4_get_minHeight(IHTMLStyle4 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle4(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MIN_HEIGHT, p); } static const IHTMLStyle4Vtbl HTMLStyle4Vtbl = { HTMLStyle4_QueryInterface, HTMLStyle4_AddRef, HTMLStyle4_Release, HTMLStyle4_GetTypeInfoCount, HTMLStyle4_GetTypeInfo, HTMLStyle4_GetIDsOfNames, HTMLStyle4_Invoke, HTMLStyle4_put_textOverflow, HTMLStyle4_get_textOverflow, HTMLStyle4_put_minHeight, HTMLStyle4_get_minHeight }; static inline HTMLStyle *impl_from_IHTMLStyle5(IHTMLStyle5 *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle5_iface); } static HRESULT WINAPI HTMLStyle5_QueryInterface(IHTMLStyle5 *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); } static ULONG WINAPI HTMLStyle5_AddRef(IHTMLStyle5 *iface) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); } static ULONG WINAPI HTMLStyle5_Release(IHTMLStyle5 *iface) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IHTMLStyle_Release(&This->IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle5_GetTypeInfoCount(IHTMLStyle5 *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle5_GetTypeInfo(IHTMLStyle5 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle5_GetIDsOfNames(IHTMLStyle5 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle5_Invoke(IHTMLStyle5 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle5_put_msInterpolationMode(IHTMLStyle5 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle5_get_msInterpolationMode(IHTMLStyle5 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle5_put_maxHeight(IHTMLStyle5 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MAX_HEIGHT, &v); } static HRESULT WINAPI HTMLStyle5_get_maxHeight(IHTMLStyle5 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(p)); return get_style_property_var(&This->css_style, STYLEID_MAX_HEIGHT, p); } static HRESULT WINAPI HTMLStyle5_put_minWidth(IHTMLStyle5 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MIN_WIDTH, &v); } static HRESULT WINAPI HTMLStyle5_get_minWidth(IHTMLStyle5 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MIN_WIDTH, p); } static HRESULT WINAPI HTMLStyle5_put_maxWidth(IHTMLStyle5 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(&This->css_style, STYLEID_MAX_WIDTH, &v); } static HRESULT WINAPI HTMLStyle5_get_maxWidth(IHTMLStyle5 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle5(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(&This->css_style, STYLEID_MAX_WIDTH, p); } static const IHTMLStyle5Vtbl HTMLStyle5Vtbl = { HTMLStyle5_QueryInterface, HTMLStyle5_AddRef, HTMLStyle5_Release, HTMLStyle5_GetTypeInfoCount, HTMLStyle5_GetTypeInfo, HTMLStyle5_GetIDsOfNames, HTMLStyle5_Invoke, HTMLStyle5_put_msInterpolationMode, HTMLStyle5_get_msInterpolationMode, HTMLStyle5_put_maxHeight, HTMLStyle5_get_maxHeight, HTMLStyle5_put_minWidth, HTMLStyle5_get_minWidth, HTMLStyle5_put_maxWidth, HTMLStyle5_get_maxWidth }; static inline HTMLStyle *impl_from_IHTMLStyle6(IHTMLStyle6 *iface) { return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle6_iface); } static HRESULT WINAPI HTMLStyle6_QueryInterface(IHTMLStyle6 *iface, REFIID riid, void **ppv) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); } static ULONG WINAPI HTMLStyle6_AddRef(IHTMLStyle6 *iface) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); } static ULONG WINAPI HTMLStyle6_Release(IHTMLStyle6 *iface) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IHTMLStyle_Release(&This->IHTMLStyle_iface); } static HRESULT WINAPI HTMLStyle6_GetTypeInfoCount(IHTMLStyle6 *iface, UINT *pctinfo) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IDispatchEx_GetTypeInfoCount(&This->css_style.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLStyle6_GetTypeInfo(IHTMLStyle6 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IDispatchEx_GetTypeInfo(&This->css_style.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLStyle6_GetIDsOfNames(IHTMLStyle6 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IDispatchEx_GetIDsOfNames(&This->css_style.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLStyle6_Invoke(IHTMLStyle6 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); return IDispatchEx_Invoke(&This->css_style.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLStyle6_put_content(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_content(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_contentSide(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_contentSide(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_counterIncrement(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_counterIncrement(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_counterReset(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_counterReset(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_outline(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_OUTLINE, v); } static HRESULT WINAPI HTMLStyle6_get_outline(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_OUTLINE, p); } static HRESULT WINAPI HTMLStyle6_put_outlineWidth(IHTMLStyle6 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_outlineWidth(IHTMLStyle6 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_outlineStyle(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_outlineStyle(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_outlineColor(IHTMLStyle6 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_outlineColor(IHTMLStyle6 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_boxSizing(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BOX_SIZING, v); } static HRESULT WINAPI HTMLStyle6_get_boxSizing(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BOX_SIZING, p); } static HRESULT WINAPI HTMLStyle6_put_borderSpacing(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(&This->css_style, STYLEID_BORDER_SPACING, v); } static HRESULT WINAPI HTMLStyle6_get_borderSpacing(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(&This->css_style, STYLEID_BORDER_SPACING, p); } static HRESULT WINAPI HTMLStyle6_put_orphans(IHTMLStyle6 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_orphans(IHTMLStyle6 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_windows(IHTMLStyle6 *iface, VARIANT v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_windows(IHTMLStyle6 *iface, VARIANT *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_pageBreakInside(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_pageBreakInside(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_emptyCells(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_emptyCells(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_msBlockProgression(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_msBlockProgression(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_put_quotes(IHTMLStyle6 *iface, BSTR v) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLStyle6_get_quotes(IHTMLStyle6 *iface, BSTR *p) { HTMLStyle *This = impl_from_IHTMLStyle6(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static const IHTMLStyle6Vtbl HTMLStyle6Vtbl = { HTMLStyle6_QueryInterface, HTMLStyle6_AddRef, HTMLStyle6_Release, HTMLStyle6_GetTypeInfoCount, HTMLStyle6_GetTypeInfo, HTMLStyle6_GetIDsOfNames, HTMLStyle6_Invoke, HTMLStyle6_put_content, HTMLStyle6_get_content, HTMLStyle6_put_contentSide, HTMLStyle6_get_contentSide, HTMLStyle6_put_counterIncrement, HTMLStyle6_get_counterIncrement, HTMLStyle6_put_counterReset, HTMLStyle6_get_counterReset, HTMLStyle6_put_outline, HTMLStyle6_get_outline, HTMLStyle6_put_outlineWidth, HTMLStyle6_get_outlineWidth, HTMLStyle6_put_outlineStyle, HTMLStyle6_get_outlineStyle, HTMLStyle6_put_outlineColor, HTMLStyle6_get_outlineColor, HTMLStyle6_put_boxSizing, HTMLStyle6_get_boxSizing, HTMLStyle6_put_borderSpacing, HTMLStyle6_get_borderSpacing, HTMLStyle6_put_orphans, HTMLStyle6_get_orphans, HTMLStyle6_put_windows, HTMLStyle6_get_windows, HTMLStyle6_put_pageBreakInside, HTMLStyle6_get_pageBreakInside, HTMLStyle6_put_emptyCells, HTMLStyle6_get_emptyCells, HTMLStyle6_put_msBlockProgression, HTMLStyle6_get_msBlockProgression, HTMLStyle6_put_quotes, HTMLStyle6_get_quotes }; static inline CSSStyle *impl_from_IHTMLCSSStyleDeclaration(IHTMLCSSStyleDeclaration *iface) { return CONTAINING_RECORD(iface, CSSStyle, IHTMLCSSStyleDeclaration_iface); } static HRESULT WINAPI HTMLCSSStyleDeclaration_QueryInterface(IHTMLCSSStyleDeclaration *iface, REFIID riid, void **ppv) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); if(IsEqualGUID(&IID_IUnknown, riid)) { *ppv = &This->IHTMLCSSStyleDeclaration_iface; }else if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration, riid)) { *ppv = &This->IHTMLCSSStyleDeclaration_iface; }else if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration2, riid)) { *ppv = &This->IHTMLCSSStyleDeclaration2_iface; }else if(dispex_query_interface(&This->dispex, riid, ppv)) { return *ppv ? S_OK : E_NOINTERFACE; }else if(!This->qi || !(*ppv = This->qi(This, riid))) { *ppv = NULL; WARN("unsupported iface %s\n", debugstr_mshtml_guid(riid)); return E_NOINTERFACE; } IUnknown_AddRef((IUnknown*)*ppv); return S_OK; } static ULONG WINAPI HTMLCSSStyleDeclaration_AddRef(IHTMLCSSStyleDeclaration *iface) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); LONG ref = InterlockedIncrement(&This->ref); TRACE("(%p) ref=%d\n", This, ref); return ref; } static ULONG WINAPI HTMLCSSStyleDeclaration_Release(IHTMLCSSStyleDeclaration *iface) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); LONG ref = InterlockedDecrement(&This->ref); TRACE("(%p) ref=%d\n", This, ref); if(!ref) { if(This->nsstyle) nsIDOMCSSStyleDeclaration_Release(This->nsstyle); release_dispex(&This->dispex); heap_free(This); } return ref; } static HRESULT WINAPI HTMLCSSStyleDeclaration_GetTypeInfoCount(IHTMLCSSStyleDeclaration *iface, UINT *pctinfo) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, pctinfo); return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLCSSStyleDeclaration_GetTypeInfo(IHTMLCSSStyleDeclaration *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo); return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLCSSStyleDeclaration_GetIDsOfNames(IHTMLCSSStyleDeclaration *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p %p %u %u %p)\n", This, riid, rgszNames, cNames, lcid, rgDispId); return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLCSSStyleDeclaration_Invoke(IHTMLCSSStyleDeclaration *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%d %p %u %u %p %p %p %p)\n", This, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_length(IHTMLCSSStyleDeclaration *iface, LONG *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_parentRule(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyValue(IHTMLCSSStyleDeclaration *iface, BSTR name, BSTR *value) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); const style_tbl_entry_t *style_entry; nsAString name_str, value_str; nsresult nsres; TRACE("(%p)->(%s %p)\n", This, debugstr_w(name), value); style_entry = lookup_style_tbl(This, name); nsAString_InitDepend(&name_str, style_entry ? style_entry->name : name); nsAString_InitDepend(&value_str, NULL); nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(This->nsstyle, &name_str, &value_str); nsAString_Finish(&name_str); return return_nsstr(nsres, &value_str, value); } static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyPriority(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyPriority) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyPriority); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_removeProperty(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyValue) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); const style_tbl_entry_t *style_entry; nsAString name_str, ret_str; nsresult nsres; TRACE("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyValue); style_entry = lookup_style_tbl(This, bstrPropertyName); nsAString_InitDepend(&name_str, style_entry ? style_entry->name : bstrPropertyName); nsAString_Init(&ret_str, NULL); nsres = nsIDOMCSSStyleDeclaration_RemoveProperty(This->nsstyle, &name_str, &ret_str); nsAString_Finish(&name_str); return return_nsstr(nsres, &ret_str, pbstrPropertyValue); } static HRESULT WINAPI HTMLCSSStyleDeclaration_setProperty(IHTMLCSSStyleDeclaration *iface, BSTR name, VARIANT *value, VARIANT *priority) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString priority_str, name_str, value_str; const style_tbl_entry_t *style_entry; nsresult nsres; HRESULT hres; TRACE("(%p)->(%s %s %s)\n", This, debugstr_w(name), debugstr_variant(value), debugstr_variant(priority)); style_entry = lookup_style_tbl(This, name); hres = var_to_styleval(This, value, style_entry, &value_str); if(FAILED(hres)) return hres; if(priority) { if(V_VT(priority) != VT_BSTR) { WARN("invalid priority type %s\n", debugstr_variant(priority)); nsAString_Finish(&value_str); return S_OK; } nsAString_InitDepend(&priority_str, V_BSTR(priority)); }else { nsAString_InitDepend(&priority_str, NULL); } nsAString_InitDepend(&name_str, style_entry ? style_entry->name : name); nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->nsstyle, &name_str, &value_str, &priority_str); nsAString_Finish(&name_str); nsAString_Finish(&value_str); nsAString_Finish(&priority_str); if(NS_FAILED(nsres)) WARN("SetProperty failed: %08x\n", nsres); return map_nsresult(nsres); } static HRESULT WINAPI HTMLCSSStyleDeclaration_item(IHTMLCSSStyleDeclaration *iface, LONG index, BSTR *pbstrPropertyName) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%d %p)\n", This, index, pbstrPropertyName); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontFamily(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FONT_FAMILY, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontFamily(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FONT_FAMILY, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FONT_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FONT_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontVariant(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FONT_VARIANT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontVariant(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FONT_VARIANT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontWeight(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FONT_WEIGHT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontWeight(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FONT_WEIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontSize(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_FONT_SIZE, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontSize(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_FONT_SIZE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_font(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_font(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_color(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_color(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_background(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_background(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BACKGROUND_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BACKGROUND_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundImage(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND_IMAGE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundImage(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND_IMAGE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundRepeat(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND_REPEAT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundRepeat(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND_REPEAT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundAttachment(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundAttachment(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPosition(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND_POSITION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPosition(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND_POSITION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString pos_str, val_str; const WCHAR *val; WCHAR *pos_val; DWORD val_len; HRESULT hres; TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); hres = var_to_styleval(This, &v, &style_tbl[STYLEID_BACKGROUND_POSITION_X], &val_str); if(FAILED(hres)) return hres; nsAString_GetData(&val_str, &val); val_len = val ? lstrlenW(val) : 0; nsAString_Init(&pos_str, NULL); hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str); if(SUCCEEDED(hres)) { const PRUnichar *pos, *posy; DWORD posy_len; nsAString_GetData(&pos_str, &pos); posy = wcschr(pos, ' '); if(!posy) { TRACE("no space in %s\n", debugstr_w(pos)); posy = L" 0px"; } posy_len = lstrlenW(posy); pos_val = heap_alloc((val_len+posy_len+1)*sizeof(WCHAR)); if(pos_val) { if(val_len) memcpy(pos_val, val, val_len*sizeof(WCHAR)); if(posy_len) memcpy(pos_val+val_len, posy, posy_len*sizeof(WCHAR)); pos_val[val_len+posy_len] = 0; }else { hres = E_OUTOFMEMORY; } } nsAString_Finish(&pos_str); nsAString_Finish(&val_str); if(FAILED(hres)) return hres; TRACE("setting position to %s\n", debugstr_w(pos_val)); hres = set_style_property(This, STYLEID_BACKGROUND_POSITION, pos_val); heap_free(pos_val); return hres; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString pos_str; BSTR ret; HRESULT hres; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&pos_str, NULL); hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str); if(SUCCEEDED(hres)) { const PRUnichar *pos, *space; nsAString_GetData(&pos_str, &pos); space = wcschr(pos, ' '); if(!space) { WARN("no space in %s\n", debugstr_w(pos)); space = pos + lstrlenW(pos); } if(space != pos) { ret = SysAllocStringLen(pos, space-pos); if(!ret) hres = E_OUTOFMEMORY; }else { ret = NULL; } } nsAString_Finish(&pos_str); if(FAILED(hres)) return hres; TRACE("returning %s\n", debugstr_w(ret)); V_VT(p) = VT_BSTR; V_BSTR(p) = ret; return S_OK; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString pos_str, val_str; const WCHAR *val; WCHAR *pos_val; DWORD val_len; HRESULT hres; TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); hres = var_to_styleval(This, &v, &style_tbl[STYLEID_BACKGROUND_POSITION], &val_str); if(FAILED(hres)) return hres; nsAString_GetData(&val_str, &val); val_len = val ? lstrlenW(val) : 0; nsAString_Init(&pos_str, NULL); hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str); if(SUCCEEDED(hres)) { const PRUnichar *pos, *space; DWORD posx_len; nsAString_GetData(&pos_str, &pos); space = wcschr(pos, ' '); if(space) { space++; }else { TRACE("no space in %s\n", debugstr_w(pos)); pos = L"0px "; space = pos + ARRAY_SIZE(L"0px ")-1; } posx_len = space-pos; pos_val = heap_alloc((posx_len+val_len+1)*sizeof(WCHAR)); if(pos_val) { memcpy(pos_val, pos, posx_len*sizeof(WCHAR)); if(val_len) memcpy(pos_val+posx_len, val, val_len*sizeof(WCHAR)); pos_val[posx_len+val_len] = 0; }else { hres = E_OUTOFMEMORY; } } nsAString_Finish(&pos_str); nsAString_Finish(&val_str); if(FAILED(hres)) return hres; TRACE("setting position to %s\n", debugstr_w(pos_val)); hres = set_style_property(This, STYLEID_BACKGROUND_POSITION, pos_val); heap_free(pos_val); return hres; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString pos_str; BSTR ret; HRESULT hres; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&pos_str, NULL); hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str); if(SUCCEEDED(hres)) { const PRUnichar *pos, *posy; nsAString_GetData(&pos_str, &pos); posy = wcschr(pos, ' '); if(posy) { ret = SysAllocString(posy+1); if(!ret) hres = E_OUTOFMEMORY; }else { ret = NULL; } } nsAString_Finish(&pos_str); if(FAILED(hres)) return hres; TRACE("returning %s\n", debugstr_w(ret)); V_VT(p) = VT_BSTR; V_BSTR(p) = ret; return S_OK; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_WORD_SPACING, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_WORD_SPACING, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_letterSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_LETTER_SPACING, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_letterSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_LETTER_SPACING, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textDecoration(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TEXT_DECORATION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textDecoration(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TEXT_DECORATION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_VERTICAL_ALIGN, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_VERTICAL_ALIGN, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textTransform(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TEXT_TRANSFORM, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textTransform(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TEXT_TRANSFORM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAlign(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TEXT_ALIGN, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAlign(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TEXT_ALIGN, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_TEXT_INDENT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_TEXT_INDENT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_lineHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_LINE_HEIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_lineHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_LINE_HEIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginTop(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MARGIN_TOP, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MARGIN_TOP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginRight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MARGIN_RIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MARGIN_RIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginBottom(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MARGIN_BOTTOM, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MARGIN_BOTTOM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MARGIN_LEFT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MARGIN_LEFT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_margin(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_MARGIN, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_margin(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_MARGIN, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_PADDING_TOP, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_PADDING_TOP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingRight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_PADDING_RIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_PADDING_RIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingBottom(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_PADDING_BOTTOM, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_PADDING_BOTTOM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_PADDING_LEFT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_PADDING_LEFT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_padding(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_PADDING, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_padding(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_PADDING, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_border(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_border(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTop(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_TOP, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTop(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_TOP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRight(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_RIGHT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRight(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_RIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottom(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_BOTTOM, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottom(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_BOTTOM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeft(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_LEFT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeft(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_LEFT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderColor(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_COLOR, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderColor(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_TOP_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_TOP_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderWidth(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_WIDTH, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderWidth(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_TOP_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_TOP_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_RIGHT_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_RIGHT_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_LEFT_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_LEFT_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_width(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_width(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_height(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_HEIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_height(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_HEIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_styleFloat(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FLOAT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_styleFloat(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FLOAT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clear(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_CLEAR, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clear(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_CLEAR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_display(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_DISPLAY, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_display(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_DISPLAY, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_visibility(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_VISIBILITY, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_visibility(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_VISIBILITY, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyleType(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyleType(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStylePosition(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStylePosition(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyleImage(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyleImage(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_LIST_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_LIST_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_whiteSpace(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_WHITE_SPACE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_whiteSpace(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_WHITE_SPACE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_top(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_TOP, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_top(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_TOP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_left(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_LEFT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_left(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_LEFT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_zIndex(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_Z_INDEX, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_zIndex(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_Z_INDEX, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflow(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_OVERFLOW, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflow(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_OVERFLOW, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakBefore(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_PAGE_BREAK_BEFORE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakBefore(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_PAGE_BREAK_BEFORE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakAfter(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_PAGE_BREAK_AFTER, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakAfter(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_PAGE_BREAK_AFTER, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cssText(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString text_str; nsresult nsres; TRACE("(%p)->(%s)\n", This, debugstr_w(v)); nsAString_InitDepend(&text_str, v); nsres = nsIDOMCSSStyleDeclaration_SetCssText(This->nsstyle, &text_str); nsAString_Finish(&text_str); if(NS_FAILED(nsres)) { FIXME("SetCssStyle failed: %08x\n", nsres); return E_FAIL; } return S_OK; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cssText(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); nsAString text_str; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); /* NOTE: Quicks mode should use different formatting (uppercase, no ';' at the end of rule). */ nsAString_Init(&text_str, NULL); nsres = nsIDOMCSSStyleDeclaration_GetCssText(This->nsstyle, &text_str); return return_nsstr(nsres, &text_str, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cursor(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_CURSOR, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cursor(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_CURSOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clip(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_CLIP, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clip(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_CLIP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_filter(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FILTER, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_filter(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FILTER, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_tableLayout(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TABLE_LAYOUT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_tableLayout(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TABLE_LAYOUT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderCollapse(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_COLLAPSE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderCollapse(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_COLLAPSE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_direction(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_DIRECTION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_direction(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_DIRECTION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_behavior(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_behavior(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_position(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_POSITION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_position(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_POSITION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_unicodeBidi(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_unicodeBidi(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_bottom(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_BOTTOM, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_bottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_BOTTOM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_right(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_RIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_right(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_RIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_imeMode(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_imeMode(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyAlign(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyAlign(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyPosition(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyPosition(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyOverhang(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyOverhang(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridChar(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridChar(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridLine(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridLine(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridMode(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridMode(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridType(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridType(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGrid(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGrid(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAutospace(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAutospace(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordBreak(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordBreak(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_lineBreak(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_lineBreak(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textJustify(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textJustify(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textJustifyTrim(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textJustifyTrim(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textKashida(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textKashida(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflowX(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_OVERFLOW_X, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflowX(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_OVERFLOW_X, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflowY(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_OVERFLOW_Y, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflowY(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_OVERFLOW_Y, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_accelerator(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_accelerator(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutFlow(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutFlow(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_zoom(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); VARIANT *var; HRESULT hres; TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); /* zoom property is IE CSS extension that is mostly used as a hack to workaround IE bugs. * The value is set to 1 then. We can safely ignore setting zoom to 1. */ if(V_VT(&v) != VT_I4 || V_I4(&v) != 1) WARN("stub for %s\n", debugstr_variant(&v)); hres = dispex_get_dprop_ref(&This->dispex, L"zoom", TRUE, &var); if(FAILED(hres)) return hres; return VariantChangeType(var, &v, 0, VT_BSTR); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_zoom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); VARIANT *var; HRESULT hres; TRACE("(%p)->(%p)\n", This, p); hres = dispex_get_dprop_ref(&This->dispex, L"zoom", FALSE, &var); if(hres == DISP_E_UNKNOWNNAME) { V_VT(p) = VT_BSTR; V_BSTR(p) = NULL; return S_OK; } if(FAILED(hres)) return hres; return VariantCopy(p, var); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordWrap(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_WORD_WRAP, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordWrap(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_WORD_WRAP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textUnderlinePosition(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textUnderlinePosition(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarBaseColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarBaseColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarFaceColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarFaceColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbar3dLightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbar3dLightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarHighlightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarHighlightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarArrowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarArrowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarTrackColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarTrackColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_writingMode(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_writingMode(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAlignLast(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAlignLast(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textKashidaSpace(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textKashidaSpace(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textOverflow(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textOverflow(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_minHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MIN_HEIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MIN_HEIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msInterpolationMode(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msInterpolationMode(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_maxHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MAX_HEIGHT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MAX_HEIGHT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_minWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MIN_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MIN_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_maxWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_MAX_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_MAX_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_content(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_content(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_captionSide(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_captionSide(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_counterIncrement(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_counterIncrement(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_counterReset(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_counterReset(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outline(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_OUTLINE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outline(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_OUTLINE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineStyle(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_boxSizing(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BOX_SIZING, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_boxSizing(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BOX_SIZING, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderSpacing(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BORDER_SPACING, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderSpacing(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BORDER_SPACING, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_orphans(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_orphans(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_widows(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_widows(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakInside(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakInside(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_emptyCells(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_emptyCells(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msBlockProgression(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msBlockProgression(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_quotes(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_quotes(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_alignmentBaseline(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_alignmentBaseline(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_baselineShift(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_baselineShift(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_dominantBaseline(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_dominantBaseline(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontSizeAdjust(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontSizeAdjust(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontStretch(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontStretch(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_opacity(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_OPACITY, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_opacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_OPACITY, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipPath(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipPath(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipRule(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipRule(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fill(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fill(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fillOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fillOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fillRule(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fillRule(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_kerning(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_kerning(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marker(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marker(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerEnd(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerEnd(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerMid(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerMid(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerStart(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerStart(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_mask(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_mask(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pointerEvents(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pointerEvents(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stopColor(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stopColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stopOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stopOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stroke(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stroke(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeDasharray(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeDasharray(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeDashoffset(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeDashoffset(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeLinecap(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeLinecap(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeLinejoin(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeLinejoin(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeMiterlimit(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeMiterlimit(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAnchor(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAnchor(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_glyphOrientationVertical(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_glyphOrientationVertical(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRadius(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipTop(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipRight(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cssFloat(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_FLOAT, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cssFloat(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_FLOAT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundClip(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_BACKGROUND_CLIP, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundClip(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_BACKGROUND_CLIP, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundOrigin(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundOrigin(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundSize(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundSize(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_boxShadow(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_boxShadow(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msTransform(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msTransform(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msTransformOrigin(IHTMLCSSStyleDeclaration *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msTransformOrigin(IHTMLCSSStyleDeclaration *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static const IHTMLCSSStyleDeclarationVtbl HTMLCSSStyleDeclarationVtbl = { HTMLCSSStyleDeclaration_QueryInterface, HTMLCSSStyleDeclaration_AddRef, HTMLCSSStyleDeclaration_Release, HTMLCSSStyleDeclaration_GetTypeInfoCount, HTMLCSSStyleDeclaration_GetTypeInfo, HTMLCSSStyleDeclaration_GetIDsOfNames, HTMLCSSStyleDeclaration_Invoke, HTMLCSSStyleDeclaration_get_length, HTMLCSSStyleDeclaration_get_parentRule, HTMLCSSStyleDeclaration_getPropertyValue, HTMLCSSStyleDeclaration_getPropertyPriority, HTMLCSSStyleDeclaration_removeProperty, HTMLCSSStyleDeclaration_setProperty, HTMLCSSStyleDeclaration_item, HTMLCSSStyleDeclaration_put_fontFamily, HTMLCSSStyleDeclaration_get_fontFamily, HTMLCSSStyleDeclaration_put_fontStyle, HTMLCSSStyleDeclaration_get_fontStyle, HTMLCSSStyleDeclaration_put_fontVariant, HTMLCSSStyleDeclaration_get_fontVariant, HTMLCSSStyleDeclaration_put_fontWeight, HTMLCSSStyleDeclaration_get_fontWeight, HTMLCSSStyleDeclaration_put_fontSize, HTMLCSSStyleDeclaration_get_fontSize, HTMLCSSStyleDeclaration_put_font, HTMLCSSStyleDeclaration_get_font, HTMLCSSStyleDeclaration_put_color, HTMLCSSStyleDeclaration_get_color, HTMLCSSStyleDeclaration_put_background, HTMLCSSStyleDeclaration_get_background, HTMLCSSStyleDeclaration_put_backgroundColor, HTMLCSSStyleDeclaration_get_backgroundColor, HTMLCSSStyleDeclaration_put_backgroundImage, HTMLCSSStyleDeclaration_get_backgroundImage, HTMLCSSStyleDeclaration_put_backgroundRepeat, HTMLCSSStyleDeclaration_get_backgroundRepeat, HTMLCSSStyleDeclaration_put_backgroundAttachment, HTMLCSSStyleDeclaration_get_backgroundAttachment, HTMLCSSStyleDeclaration_put_backgroundPosition, HTMLCSSStyleDeclaration_get_backgroundPosition, HTMLCSSStyleDeclaration_put_backgroundPositionX, HTMLCSSStyleDeclaration_get_backgroundPositionX, HTMLCSSStyleDeclaration_put_backgroundPositionY, HTMLCSSStyleDeclaration_get_backgroundPositionY, HTMLCSSStyleDeclaration_put_wordSpacing, HTMLCSSStyleDeclaration_get_wordSpacing, HTMLCSSStyleDeclaration_put_letterSpacing, HTMLCSSStyleDeclaration_get_letterSpacing, HTMLCSSStyleDeclaration_put_textDecoration, HTMLCSSStyleDeclaration_get_textDecoration, HTMLCSSStyleDeclaration_put_verticalAlign, HTMLCSSStyleDeclaration_get_verticalAlign, HTMLCSSStyleDeclaration_put_textTransform, HTMLCSSStyleDeclaration_get_textTransform, HTMLCSSStyleDeclaration_put_textAlign, HTMLCSSStyleDeclaration_get_textAlign, HTMLCSSStyleDeclaration_put_textIndent, HTMLCSSStyleDeclaration_get_textIndent, HTMLCSSStyleDeclaration_put_lineHeight, HTMLCSSStyleDeclaration_get_lineHeight, HTMLCSSStyleDeclaration_put_marginTop, HTMLCSSStyleDeclaration_get_marginTop, HTMLCSSStyleDeclaration_put_marginRight, HTMLCSSStyleDeclaration_get_marginRight, HTMLCSSStyleDeclaration_put_marginBottom, HTMLCSSStyleDeclaration_get_marginBottom, HTMLCSSStyleDeclaration_put_marginLeft, HTMLCSSStyleDeclaration_get_marginLeft, HTMLCSSStyleDeclaration_put_margin, HTMLCSSStyleDeclaration_get_margin, HTMLCSSStyleDeclaration_put_paddingTop, HTMLCSSStyleDeclaration_get_paddingTop, HTMLCSSStyleDeclaration_put_paddingRight, HTMLCSSStyleDeclaration_get_paddingRight, HTMLCSSStyleDeclaration_put_paddingBottom, HTMLCSSStyleDeclaration_get_paddingBottom, HTMLCSSStyleDeclaration_put_paddingLeft, HTMLCSSStyleDeclaration_get_paddingLeft, HTMLCSSStyleDeclaration_put_padding, HTMLCSSStyleDeclaration_get_padding, HTMLCSSStyleDeclaration_put_border, HTMLCSSStyleDeclaration_get_border, HTMLCSSStyleDeclaration_put_borderTop, HTMLCSSStyleDeclaration_get_borderTop, HTMLCSSStyleDeclaration_put_borderRight, HTMLCSSStyleDeclaration_get_borderRight, HTMLCSSStyleDeclaration_put_borderBottom, HTMLCSSStyleDeclaration_get_borderBottom, HTMLCSSStyleDeclaration_put_borderLeft, HTMLCSSStyleDeclaration_get_borderLeft, HTMLCSSStyleDeclaration_put_borderColor, HTMLCSSStyleDeclaration_get_borderColor, HTMLCSSStyleDeclaration_put_borderTopColor, HTMLCSSStyleDeclaration_get_borderTopColor, HTMLCSSStyleDeclaration_put_borderRightColor, HTMLCSSStyleDeclaration_get_borderRightColor, HTMLCSSStyleDeclaration_put_borderBottomColor, HTMLCSSStyleDeclaration_get_borderBottomColor, HTMLCSSStyleDeclaration_put_borderLeftColor, HTMLCSSStyleDeclaration_get_borderLeftColor, HTMLCSSStyleDeclaration_put_borderWidth, HTMLCSSStyleDeclaration_get_borderWidth, HTMLCSSStyleDeclaration_put_borderTopWidth, HTMLCSSStyleDeclaration_get_borderTopWidth, HTMLCSSStyleDeclaration_put_borderRightWidth, HTMLCSSStyleDeclaration_get_borderRightWidth, HTMLCSSStyleDeclaration_put_borderBottomWidth, HTMLCSSStyleDeclaration_get_borderBottomWidth, HTMLCSSStyleDeclaration_put_borderLeftWidth, HTMLCSSStyleDeclaration_get_borderLeftWidth, HTMLCSSStyleDeclaration_put_borderStyle, HTMLCSSStyleDeclaration_get_borderStyle, HTMLCSSStyleDeclaration_put_borderTopStyle, HTMLCSSStyleDeclaration_get_borderTopStyle, HTMLCSSStyleDeclaration_put_borderRightStyle, HTMLCSSStyleDeclaration_get_borderRightStyle, HTMLCSSStyleDeclaration_put_borderBottomStyle, HTMLCSSStyleDeclaration_get_borderBottomStyle, HTMLCSSStyleDeclaration_put_borderLeftStyle, HTMLCSSStyleDeclaration_get_borderLeftStyle, HTMLCSSStyleDeclaration_put_width, HTMLCSSStyleDeclaration_get_width, HTMLCSSStyleDeclaration_put_height, HTMLCSSStyleDeclaration_get_height, HTMLCSSStyleDeclaration_put_styleFloat, HTMLCSSStyleDeclaration_get_styleFloat, HTMLCSSStyleDeclaration_put_clear, HTMLCSSStyleDeclaration_get_clear, HTMLCSSStyleDeclaration_put_display, HTMLCSSStyleDeclaration_get_display, HTMLCSSStyleDeclaration_put_visibility, HTMLCSSStyleDeclaration_get_visibility, HTMLCSSStyleDeclaration_put_listStyleType, HTMLCSSStyleDeclaration_get_listStyleType, HTMLCSSStyleDeclaration_put_listStylePosition, HTMLCSSStyleDeclaration_get_listStylePosition, HTMLCSSStyleDeclaration_put_listStyleImage, HTMLCSSStyleDeclaration_get_listStyleImage, HTMLCSSStyleDeclaration_put_listStyle, HTMLCSSStyleDeclaration_get_listStyle, HTMLCSSStyleDeclaration_put_whiteSpace, HTMLCSSStyleDeclaration_get_whiteSpace, HTMLCSSStyleDeclaration_put_top, HTMLCSSStyleDeclaration_get_top, HTMLCSSStyleDeclaration_put_left, HTMLCSSStyleDeclaration_get_left, HTMLCSSStyleDeclaration_put_zIndex, HTMLCSSStyleDeclaration_get_zIndex, HTMLCSSStyleDeclaration_put_overflow, HTMLCSSStyleDeclaration_get_overflow, HTMLCSSStyleDeclaration_put_pageBreakBefore, HTMLCSSStyleDeclaration_get_pageBreakBefore, HTMLCSSStyleDeclaration_put_pageBreakAfter, HTMLCSSStyleDeclaration_get_pageBreakAfter, HTMLCSSStyleDeclaration_put_cssText, HTMLCSSStyleDeclaration_get_cssText, HTMLCSSStyleDeclaration_put_cursor, HTMLCSSStyleDeclaration_get_cursor, HTMLCSSStyleDeclaration_put_clip, HTMLCSSStyleDeclaration_get_clip, HTMLCSSStyleDeclaration_put_filter, HTMLCSSStyleDeclaration_get_filter, HTMLCSSStyleDeclaration_put_tableLayout, HTMLCSSStyleDeclaration_get_tableLayout, HTMLCSSStyleDeclaration_put_borderCollapse, HTMLCSSStyleDeclaration_get_borderCollapse, HTMLCSSStyleDeclaration_put_direction, HTMLCSSStyleDeclaration_get_direction, HTMLCSSStyleDeclaration_put_behavior, HTMLCSSStyleDeclaration_get_behavior, HTMLCSSStyleDeclaration_put_position, HTMLCSSStyleDeclaration_get_position, HTMLCSSStyleDeclaration_put_unicodeBidi, HTMLCSSStyleDeclaration_get_unicodeBidi, HTMLCSSStyleDeclaration_put_bottom, HTMLCSSStyleDeclaration_get_bottom, HTMLCSSStyleDeclaration_put_right, HTMLCSSStyleDeclaration_get_right, HTMLCSSStyleDeclaration_put_imeMode, HTMLCSSStyleDeclaration_get_imeMode, HTMLCSSStyleDeclaration_put_rubyAlign, HTMLCSSStyleDeclaration_get_rubyAlign, HTMLCSSStyleDeclaration_put_rubyPosition, HTMLCSSStyleDeclaration_get_rubyPosition, HTMLCSSStyleDeclaration_put_rubyOverhang, HTMLCSSStyleDeclaration_get_rubyOverhang, HTMLCSSStyleDeclaration_put_layoutGridChar, HTMLCSSStyleDeclaration_get_layoutGridChar, HTMLCSSStyleDeclaration_put_layoutGridLine, HTMLCSSStyleDeclaration_get_layoutGridLine, HTMLCSSStyleDeclaration_put_layoutGridMode, HTMLCSSStyleDeclaration_get_layoutGridMode, HTMLCSSStyleDeclaration_put_layoutGridType, HTMLCSSStyleDeclaration_get_layoutGridType, HTMLCSSStyleDeclaration_put_layoutGrid, HTMLCSSStyleDeclaration_get_layoutGrid, HTMLCSSStyleDeclaration_put_textAutospace, HTMLCSSStyleDeclaration_get_textAutospace, HTMLCSSStyleDeclaration_put_wordBreak, HTMLCSSStyleDeclaration_get_wordBreak, HTMLCSSStyleDeclaration_put_lineBreak, HTMLCSSStyleDeclaration_get_lineBreak, HTMLCSSStyleDeclaration_put_textJustify, HTMLCSSStyleDeclaration_get_textJustify, HTMLCSSStyleDeclaration_put_textJustifyTrim, HTMLCSSStyleDeclaration_get_textJustifyTrim, HTMLCSSStyleDeclaration_put_textKashida, HTMLCSSStyleDeclaration_get_textKashida, HTMLCSSStyleDeclaration_put_overflowX, HTMLCSSStyleDeclaration_get_overflowX, HTMLCSSStyleDeclaration_put_overflowY, HTMLCSSStyleDeclaration_get_overflowY, HTMLCSSStyleDeclaration_put_accelerator, HTMLCSSStyleDeclaration_get_accelerator, HTMLCSSStyleDeclaration_put_layoutFlow, HTMLCSSStyleDeclaration_get_layoutFlow, HTMLCSSStyleDeclaration_put_zoom, HTMLCSSStyleDeclaration_get_zoom, HTMLCSSStyleDeclaration_put_wordWrap, HTMLCSSStyleDeclaration_get_wordWrap, HTMLCSSStyleDeclaration_put_textUnderlinePosition, HTMLCSSStyleDeclaration_get_textUnderlinePosition, HTMLCSSStyleDeclaration_put_scrollbarBaseColor, HTMLCSSStyleDeclaration_get_scrollbarBaseColor, HTMLCSSStyleDeclaration_put_scrollbarFaceColor, HTMLCSSStyleDeclaration_get_scrollbarFaceColor, HTMLCSSStyleDeclaration_put_scrollbar3dLightColor, HTMLCSSStyleDeclaration_get_scrollbar3dLightColor, HTMLCSSStyleDeclaration_put_scrollbarShadowColor, HTMLCSSStyleDeclaration_get_scrollbarShadowColor, HTMLCSSStyleDeclaration_put_scrollbarHighlightColor, HTMLCSSStyleDeclaration_get_scrollbarHighlightColor, HTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor, HTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor, HTMLCSSStyleDeclaration_put_scrollbarArrowColor, HTMLCSSStyleDeclaration_get_scrollbarArrowColor, HTMLCSSStyleDeclaration_put_scrollbarTrackColor, HTMLCSSStyleDeclaration_get_scrollbarTrackColor, HTMLCSSStyleDeclaration_put_writingMode, HTMLCSSStyleDeclaration_get_writingMode, HTMLCSSStyleDeclaration_put_textAlignLast, HTMLCSSStyleDeclaration_get_textAlignLast, HTMLCSSStyleDeclaration_put_textKashidaSpace, HTMLCSSStyleDeclaration_get_textKashidaSpace, HTMLCSSStyleDeclaration_put_textOverflow, HTMLCSSStyleDeclaration_get_textOverflow, HTMLCSSStyleDeclaration_put_minHeight, HTMLCSSStyleDeclaration_get_minHeight, HTMLCSSStyleDeclaration_put_msInterpolationMode, HTMLCSSStyleDeclaration_get_msInterpolationMode, HTMLCSSStyleDeclaration_put_maxHeight, HTMLCSSStyleDeclaration_get_maxHeight, HTMLCSSStyleDeclaration_put_minWidth, HTMLCSSStyleDeclaration_get_minWidth, HTMLCSSStyleDeclaration_put_maxWidth, HTMLCSSStyleDeclaration_get_maxWidth, HTMLCSSStyleDeclaration_put_content, HTMLCSSStyleDeclaration_get_content, HTMLCSSStyleDeclaration_put_captionSide, HTMLCSSStyleDeclaration_get_captionSide, HTMLCSSStyleDeclaration_put_counterIncrement, HTMLCSSStyleDeclaration_get_counterIncrement, HTMLCSSStyleDeclaration_put_counterReset, HTMLCSSStyleDeclaration_get_counterReset, HTMLCSSStyleDeclaration_put_outline, HTMLCSSStyleDeclaration_get_outline, HTMLCSSStyleDeclaration_put_outlineWidth, HTMLCSSStyleDeclaration_get_outlineWidth, HTMLCSSStyleDeclaration_put_outlineStyle, HTMLCSSStyleDeclaration_get_outlineStyle, HTMLCSSStyleDeclaration_put_outlineColor, HTMLCSSStyleDeclaration_get_outlineColor, HTMLCSSStyleDeclaration_put_boxSizing, HTMLCSSStyleDeclaration_get_boxSizing, HTMLCSSStyleDeclaration_put_borderSpacing, HTMLCSSStyleDeclaration_get_borderSpacing, HTMLCSSStyleDeclaration_put_orphans, HTMLCSSStyleDeclaration_get_orphans, HTMLCSSStyleDeclaration_put_widows, HTMLCSSStyleDeclaration_get_widows, HTMLCSSStyleDeclaration_put_pageBreakInside, HTMLCSSStyleDeclaration_get_pageBreakInside, HTMLCSSStyleDeclaration_put_emptyCells, HTMLCSSStyleDeclaration_get_emptyCells, HTMLCSSStyleDeclaration_put_msBlockProgression, HTMLCSSStyleDeclaration_get_msBlockProgression, HTMLCSSStyleDeclaration_put_quotes, HTMLCSSStyleDeclaration_get_quotes, HTMLCSSStyleDeclaration_put_alignmentBaseline, HTMLCSSStyleDeclaration_get_alignmentBaseline, HTMLCSSStyleDeclaration_put_baselineShift, HTMLCSSStyleDeclaration_get_baselineShift, HTMLCSSStyleDeclaration_put_dominantBaseline, HTMLCSSStyleDeclaration_get_dominantBaseline, HTMLCSSStyleDeclaration_put_fontSizeAdjust, HTMLCSSStyleDeclaration_get_fontSizeAdjust, HTMLCSSStyleDeclaration_put_fontStretch, HTMLCSSStyleDeclaration_get_fontStretch, HTMLCSSStyleDeclaration_put_opacity, HTMLCSSStyleDeclaration_get_opacity, HTMLCSSStyleDeclaration_put_clipPath, HTMLCSSStyleDeclaration_get_clipPath, HTMLCSSStyleDeclaration_put_clipRule, HTMLCSSStyleDeclaration_get_clipRule, HTMLCSSStyleDeclaration_put_fill, HTMLCSSStyleDeclaration_get_fill, HTMLCSSStyleDeclaration_put_fillOpacity, HTMLCSSStyleDeclaration_get_fillOpacity, HTMLCSSStyleDeclaration_put_fillRule, HTMLCSSStyleDeclaration_get_fillRule, HTMLCSSStyleDeclaration_put_kerning, HTMLCSSStyleDeclaration_get_kerning, HTMLCSSStyleDeclaration_put_marker, HTMLCSSStyleDeclaration_get_marker, HTMLCSSStyleDeclaration_put_markerEnd, HTMLCSSStyleDeclaration_get_markerEnd, HTMLCSSStyleDeclaration_put_markerMid, HTMLCSSStyleDeclaration_get_markerMid, HTMLCSSStyleDeclaration_put_markerStart, HTMLCSSStyleDeclaration_get_markerStart, HTMLCSSStyleDeclaration_put_mask, HTMLCSSStyleDeclaration_get_mask, HTMLCSSStyleDeclaration_put_pointerEvents, HTMLCSSStyleDeclaration_get_pointerEvents, HTMLCSSStyleDeclaration_put_stopColor, HTMLCSSStyleDeclaration_get_stopColor, HTMLCSSStyleDeclaration_put_stopOpacity, HTMLCSSStyleDeclaration_get_stopOpacity, HTMLCSSStyleDeclaration_put_stroke, HTMLCSSStyleDeclaration_get_stroke, HTMLCSSStyleDeclaration_put_strokeDasharray, HTMLCSSStyleDeclaration_get_strokeDasharray, HTMLCSSStyleDeclaration_put_strokeDashoffset, HTMLCSSStyleDeclaration_get_strokeDashoffset, HTMLCSSStyleDeclaration_put_strokeLinecap, HTMLCSSStyleDeclaration_get_strokeLinecap, HTMLCSSStyleDeclaration_put_strokeLinejoin, HTMLCSSStyleDeclaration_get_strokeLinejoin, HTMLCSSStyleDeclaration_put_strokeMiterlimit, HTMLCSSStyleDeclaration_get_strokeMiterlimit, HTMLCSSStyleDeclaration_put_strokeOpacity, HTMLCSSStyleDeclaration_get_strokeOpacity, HTMLCSSStyleDeclaration_put_strokeWidth, HTMLCSSStyleDeclaration_get_strokeWidth, HTMLCSSStyleDeclaration_put_textAnchor, HTMLCSSStyleDeclaration_get_textAnchor, HTMLCSSStyleDeclaration_put_glyphOrientationHorizontal, HTMLCSSStyleDeclaration_get_glyphOrientationHorizontal, HTMLCSSStyleDeclaration_put_glyphOrientationVertical, HTMLCSSStyleDeclaration_get_glyphOrientationVertical, HTMLCSSStyleDeclaration_put_borderRadius, HTMLCSSStyleDeclaration_get_borderRadius, HTMLCSSStyleDeclaration_put_borderTopLeftRadius, HTMLCSSStyleDeclaration_get_borderTopLeftRadius, HTMLCSSStyleDeclaration_put_borderTopRightRadius, HTMLCSSStyleDeclaration_get_borderTopRightRadius, HTMLCSSStyleDeclaration_put_borderBottomRightRadius, HTMLCSSStyleDeclaration_get_borderBottomRightRadius, HTMLCSSStyleDeclaration_put_borderBottomLeftRadius, HTMLCSSStyleDeclaration_get_borderBottomLeftRadius, HTMLCSSStyleDeclaration_put_clipTop, HTMLCSSStyleDeclaration_get_clipTop, HTMLCSSStyleDeclaration_put_clipRight, HTMLCSSStyleDeclaration_get_clipRight, HTMLCSSStyleDeclaration_get_clipBottom, HTMLCSSStyleDeclaration_put_clipLeft, HTMLCSSStyleDeclaration_get_clipLeft, HTMLCSSStyleDeclaration_put_cssFloat, HTMLCSSStyleDeclaration_get_cssFloat, HTMLCSSStyleDeclaration_put_backgroundClip, HTMLCSSStyleDeclaration_get_backgroundClip, HTMLCSSStyleDeclaration_put_backgroundOrigin, HTMLCSSStyleDeclaration_get_backgroundOrigin, HTMLCSSStyleDeclaration_put_backgroundSize, HTMLCSSStyleDeclaration_get_backgroundSize, HTMLCSSStyleDeclaration_put_boxShadow, HTMLCSSStyleDeclaration_get_boxShadow, HTMLCSSStyleDeclaration_put_msTransform, HTMLCSSStyleDeclaration_get_msTransform, HTMLCSSStyleDeclaration_put_msTransformOrigin, HTMLCSSStyleDeclaration_get_msTransformOrigin }; static inline CSSStyle *impl_from_IHTMLCSSStyleDeclaration2(IHTMLCSSStyleDeclaration2 *iface) { return CONTAINING_RECORD(iface, CSSStyle, IHTMLCSSStyleDeclaration2_iface); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_QueryInterface(IHTMLCSSStyleDeclaration2 *iface, REFIID riid, void **ppv) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); return IHTMLCSSStyleDeclaration_QueryInterface(&This->IHTMLCSSStyleDeclaration_iface, riid, ppv); } static ULONG WINAPI HTMLCSSStyleDeclaration2_AddRef(IHTMLCSSStyleDeclaration2 *iface) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); return IHTMLCSSStyleDeclaration_AddRef(&This->IHTMLCSSStyleDeclaration_iface); } static ULONG WINAPI HTMLCSSStyleDeclaration2_Release(IHTMLCSSStyleDeclaration2 *iface) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); return IHTMLCSSStyleDeclaration_Release(&This->IHTMLCSSStyleDeclaration_iface); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_GetTypeInfoCount(IHTMLCSSStyleDeclaration2 *iface, UINT *pctinfo) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, pctinfo); return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_GetTypeInfo(IHTMLCSSStyleDeclaration2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo); return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_GetIDsOfNames(IHTMLCSSStyleDeclaration2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p %p %u %u %p)\n", This, riid, rgszNames, cNames, lcid, rgDispId); return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_Invoke(IHTMLCSSStyleDeclaration2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%d %p %u %u %p %p %p %p)\n", This, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollChaining(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollChaining(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZooming(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZooming(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomSnapType(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomSnapType(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollRails(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollRails(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomChaining(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomChaining(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollSnapType(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollSnapType(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomLimit(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomLimit(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomSnap(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomSnap(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomSnapPoints(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomSnapPoints(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomLimitMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomLimitMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msContentZoomLimitMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msContentZoomLimitMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollSnapX(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollSnapX(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollSnapY(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollSnapY(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollSnapPointsX(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollSnapPointsX(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollSnapPointsY(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollSnapPointsY(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridColumn(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridColumn(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridColumnAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridColumnAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridColumns(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridColumns(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridColumnSpan(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridColumnSpan(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridRow(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridRow(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridRowAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridRowAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridRows(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridRows(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msGridRowSpan(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msGridRowSpan(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msWrapThrough(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msWrapThrough(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msWrapMargin(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msWrapMargin(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msWrapFlow(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msWrapFlow(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationName(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationName(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationPlayState(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationPlayState(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationIterationCount(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationIterationCount(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimation(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimation(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msAnimationFillMode(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msAnimationFillMode(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_colorInterpolationFilters(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_colorInterpolationFilters(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnCount(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_COLUMN_COUNT, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnCount(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property_var(This, STYLEID_COLUMN_COUNT, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnWidth(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_COLUMN_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnWidth(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property_var(This, STYLEID_COLUMN_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnGap(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); 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); 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) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_COLUMN_FILL, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnFill(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property(This, STYLEID_COLUMN_FILL, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnSpan(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_COLUMN_SPAN, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnSpan(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property(This, STYLEID_COLUMN_SPAN, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columns(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columns(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnRule(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_COLUMN_RULE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnRule(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property(This, STYLEID_COLUMN_RULE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnRuleColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_COLUMN_RULE_COLOR, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnRuleColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property_var(This, STYLEID_COLUMN_RULE_COLOR, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnRuleStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_COLUMN_RULE_STYLE, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnRuleStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property(This, STYLEID_COLUMN_RULE_STYLE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_columnRuleWidth(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_COLUMN_RULE_WIDTH, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_columnRuleWidth(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); WARN("(%p)->(%p) semi-stub\n", This, p); return get_style_property_var(This, STYLEID_COLUMN_RULE_WIDTH, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_breakBefore(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_breakBefore(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_breakAfter(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_breakAfter(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_breakInside(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_breakInside(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_floodColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_floodColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_floodOpacity(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_floodOpacity(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_lightingColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_lightingColor(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollLimitXMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollLimitXMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollLimitYMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollLimitYMin(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollLimitXMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollLimitXMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollLimitYMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollLimitYMax(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollLimit(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollLimit(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_textShadow(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_textShadow(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlowFrom(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlowFrom(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlowInto(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlowInto(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msHyphens(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msHyphens(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msHyphenateLimitZone(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msHyphenateLimitZone(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msHyphenateLimitChars(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msHyphenateLimitChars(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msHyphenateLimitLines(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msHyphenateLimitLines(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msHighContrastAdjust(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msHighContrastAdjust(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_enableBackground(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_enableBackground(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFontFeatureSettings(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFontFeatureSettings(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msUserSelect(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msUserSelect(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msOverflowStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msOverflowStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransformStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransformStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msBackfaceVisibility(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msBackfaceVisibility(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msPerspective(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msPerspective(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msPerspectiveOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msPerspectiveOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransitionProperty(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransitionProperty(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransitionDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransitionDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransitionTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransitionTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransitionDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransitionDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTransition(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTransition(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTouchAction(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTouchAction(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msScrollTranslation(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msScrollTranslation(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlex(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlex(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexPositive(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexPositive(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexNegative(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexNegative(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexPreferredSize(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexPreferredSize(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexFlow(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexFlow(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexWrap(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexWrap(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexItemAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexItemAlign(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexPack(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexPack(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexLinePack(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexLinePack(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msFlexOrder(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msFlexOrder(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_msTouchSelect(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_msTouchSelect(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transform(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TRANSFORM, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transform(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TRANSFORM, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transformOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transformOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transformStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transformStyle(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_backfaceVisibility(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_backfaceVisibility(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_perspective(IHTMLCSSStyleDeclaration2 *iface, VARIANT v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); return set_style_property_var(This, STYLEID_PERSPECTIVE, &v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_perspective(IHTMLCSSStyleDeclaration2 *iface, VARIANT *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property_var(This, STYLEID_PERSPECTIVE, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_perspectiveOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_perspectiveOrigin(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transitionProperty(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transitionProperty(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transitionDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transitionDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transitionTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transitionTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transitionDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transitionDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_transition(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_TRANSITION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_transition(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_TRANSITION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_fontFeatureSettings(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_fontFeatureSettings(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationName(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_ANIMATION_NAME, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationName(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_ANIMATION_NAME, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationDuration(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationTimingFunction(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationDelay(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationDirection(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationPlayState(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationPlayState(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationIterationCount(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationIterationCount(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animation(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%s)\n", This, debugstr_w(v)); return set_style_property(This, STYLEID_ANIMATION, v); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animation(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); TRACE("(%p)->(%p)\n", This, p); return get_style_property(This, STYLEID_ANIMATION, p); } static HRESULT WINAPI HTMLCSSStyleDeclaration2_put_animationFillMode(IHTMLCSSStyleDeclaration2 *iface, BSTR v) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; } static HRESULT WINAPI HTMLCSSStyleDeclaration2_get_animationFillMode(IHTMLCSSStyleDeclaration2 *iface, BSTR *p) { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration2(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; } static const IHTMLCSSStyleDeclaration2Vtbl HTMLCSSStyleDeclaration2Vtbl = { HTMLCSSStyleDeclaration2_QueryInterface, HTMLCSSStyleDeclaration2_AddRef, HTMLCSSStyleDeclaration2_Release, HTMLCSSStyleDeclaration2_GetTypeInfoCount, HTMLCSSStyleDeclaration2_GetTypeInfo, HTMLCSSStyleDeclaration2_GetIDsOfNames, HTMLCSSStyleDeclaration2_Invoke, HTMLCSSStyleDeclaration2_put_msScrollChaining, HTMLCSSStyleDeclaration2_get_msScrollChaining, HTMLCSSStyleDeclaration2_put_msContentZooming, HTMLCSSStyleDeclaration2_get_msContentZooming, HTMLCSSStyleDeclaration2_put_msContentZoomSnapType, HTMLCSSStyleDeclaration2_get_msContentZoomSnapType, HTMLCSSStyleDeclaration2_put_msScrollRails, HTMLCSSStyleDeclaration2_get_msScrollRails, HTMLCSSStyleDeclaration2_put_msContentZoomChaining, HTMLCSSStyleDeclaration2_get_msContentZoomChaining, HTMLCSSStyleDeclaration2_put_msScrollSnapType, HTMLCSSStyleDeclaration2_get_msScrollSnapType, HTMLCSSStyleDeclaration2_put_msContentZoomLimit, HTMLCSSStyleDeclaration2_get_msContentZoomLimit, HTMLCSSStyleDeclaration2_put_msContentZoomSnap, HTMLCSSStyleDeclaration2_get_msContentZoomSnap, HTMLCSSStyleDeclaration2_put_msContentZoomSnapPoints, HTMLCSSStyleDeclaration2_get_msContentZoomSnapPoints, HTMLCSSStyleDeclaration2_put_msContentZoomLimitMin, HTMLCSSStyleDeclaration2_get_msContentZoomLimitMin, HTMLCSSStyleDeclaration2_put_msContentZoomLimitMax, HTMLCSSStyleDeclaration2_get_msContentZoomLimitMax, HTMLCSSStyleDeclaration2_put_msScrollSnapX, HTMLCSSStyleDeclaration2_get_msScrollSnapX, HTMLCSSStyleDeclaration2_put_msScrollSnapY, HTMLCSSStyleDeclaration2_get_msScrollSnapY, HTMLCSSStyleDeclaration2_put_msScrollSnapPointsX, HTMLCSSStyleDeclaration2_get_msScrollSnapPointsX, HTMLCSSStyleDeclaration2_put_msScrollSnapPointsY, HTMLCSSStyleDeclaration2_get_msScrollSnapPointsY, HTMLCSSStyleDeclaration2_put_msGridColumn, HTMLCSSStyleDeclaration2_get_msGridColumn, HTMLCSSStyleDeclaration2_put_msGridColumnAlign, HTMLCSSStyleDeclaration2_get_msGridColumnAlign, HTMLCSSStyleDeclaration2_put_msGridColumns, HTMLCSSStyleDeclaration2_get_msGridColumns, HTMLCSSStyleDeclaration2_put_msGridColumnSpan, HTMLCSSStyleDeclaration2_get_msGridColumnSpan, HTMLCSSStyleDeclaration2_put_msGridRow, HTMLCSSStyleDeclaration2_get_msGridRow, HTMLCSSStyleDeclaration2_put_msGridRowAlign, HTMLCSSStyleDeclaration2_get_msGridRowAlign, HTMLCSSStyleDeclaration2_put_msGridRows, HTMLCSSStyleDeclaration2_get_msGridRows, HTMLCSSStyleDeclaration2_put_msGridRowSpan, HTMLCSSStyleDeclaration2_get_msGridRowSpan, HTMLCSSStyleDeclaration2_put_msWrapThrough, HTMLCSSStyleDeclaration2_get_msWrapThrough, HTMLCSSStyleDeclaration2_put_msWrapMargin, HTMLCSSStyleDeclaration2_get_msWrapMargin, HTMLCSSStyleDeclaration2_put_msWrapFlow, HTMLCSSStyleDeclaration2_get_msWrapFlow, HTMLCSSStyleDeclaration2_put_msAnimationName, HTMLCSSStyleDeclaration2_get_msAnimationName, HTMLCSSStyleDeclaration2_put_msAnimationDuration, HTMLCSSStyleDeclaration2_get_msAnimationDuration, HTMLCSSStyleDeclaration2_put_msAnimationTimingFunction, HTMLCSSStyleDeclaration2_get_msAnimationTimingFunction, HTMLCSSStyleDeclaration2_put_msAnimationDelay, HTMLCSSStyleDeclaration2_get_msAnimationDelay, HTMLCSSStyleDeclaration2_put_msAnimationDirection, HTMLCSSStyleDeclaration2_get_msAnimationDirection, HTMLCSSStyleDeclaration2_put_msAnimationPlayState, HTMLCSSStyleDeclaration2_get_msAnimationPlayState, HTMLCSSStyleDeclaration2_put_msAnimationIterationCount, HTMLCSSStyleDeclaration2_get_msAnimationIterationCount, HTMLCSSStyleDeclaration2_put_msAnimation, HTMLCSSStyleDeclaration2_get_msAnimation, HTMLCSSStyleDeclaration2_put_msAnimationFillMode, HTMLCSSStyleDeclaration2_get_msAnimationFillMode, HTMLCSSStyleDeclaration2_put_colorInterpolationFilters, HTMLCSSStyleDeclaration2_get_colorInterpolationFilters, HTMLCSSStyleDeclaration2_put_columnCount, HTMLCSSStyleDeclaration2_get_columnCount, HTMLCSSStyleDeclaration2_put_columnWidth, HTMLCSSStyleDeclaration2_get_columnWidth, HTMLCSSStyleDeclaration2_put_columnGap, HTMLCSSStyleDeclaration2_get_columnGap, HTMLCSSStyleDeclaration2_put_columnFill, HTMLCSSStyleDeclaration2_get_columnFill, HTMLCSSStyleDeclaration2_put_columnSpan, HTMLCSSStyleDeclaration2_get_columnSpan, HTMLCSSStyleDeclaration2_put_columns, HTMLCSSStyleDeclaration2_get_columns, HTMLCSSStyleDeclaration2_put_columnRule, HTMLCSSStyleDeclaration2_get_columnRule, HTMLCSSStyleDeclaration2_put_columnRuleColor, HTMLCSSStyleDeclaration2_get_columnRuleColor, HTMLCSSStyleDeclaration2_put_columnRuleStyle, HTMLCSSStyleDeclaration2_get_columnRuleStyle, HTMLCSSStyleDeclaration2_put_columnRuleWidth, HTMLCSSStyleDeclaration2_get_columnRuleWidth, HTMLCSSStyleDeclaration2_put_breakBefore, HTMLCSSStyleDeclaration2_get_breakBefore, HTMLCSSStyleDeclaration2_put_breakAfter, HTMLCSSStyleDeclaration2_get_breakAfter, HTMLCSSStyleDeclaration2_put_breakInside, HTMLCSSStyleDeclaration2_get_breakInside, HTMLCSSStyleDeclaration2_put_floodColor, HTMLCSSStyleDeclaration2_get_floodColor, HTMLCSSStyleDeclaration2_put_floodOpacity, HTMLCSSStyleDeclaration2_get_floodOpacity, HTMLCSSStyleDeclaration2_put_lightingColor, HTMLCSSStyleDeclaration2_get_lightingColor, HTMLCSSStyleDeclaration2_put_msScrollLimitXMin, HTMLCSSStyleDeclaration2_get_msScrollLimitXMin, HTMLCSSStyleDeclaration2_put_msScrollLimitYMin, HTMLCSSStyleDeclaration2_get_msScrollLimitYMin, HTMLCSSStyleDeclaration2_put_msScrollLimitXMax, HTMLCSSStyleDeclaration2_get_msScrollLimitXMax, HTMLCSSStyleDeclaration2_put_msScrollLimitYMax, HTMLCSSStyleDeclaration2_get_msScrollLimitYMax, HTMLCSSStyleDeclaration2_put_msScrollLimit, HTMLCSSStyleDeclaration2_get_msScrollLimit, HTMLCSSStyleDeclaration2_put_textShadow, HTMLCSSStyleDeclaration2_get_textShadow, HTMLCSSStyleDeclaration2_put_msFlowFrom, HTMLCSSStyleDeclaration2_get_msFlowFrom, HTMLCSSStyleDeclaration2_put_msFlowInto, HTMLCSSStyleDeclaration2_get_msFlowInto, HTMLCSSStyleDeclaration2_put_msHyphens, HTMLCSSStyleDeclaration2_get_msHyphens, HTMLCSSStyleDeclaration2_put_msHyphenateLimitZone, HTMLCSSStyleDeclaration2_get_msHyphenateLimitZone, HTMLCSSStyleDeclaration2_put_msHyphenateLimitChars, HTMLCSSStyleDeclaration2_get_msHyphenateLimitChars, HTMLCSSStyleDeclaration2_put_msHyphenateLimitLines, HTMLCSSStyleDeclaration2_get_msHyphenateLimitLines, HTMLCSSStyleDeclaration2_put_msHighContrastAdjust, HTMLCSSStyleDeclaration2_get_msHighContrastAdjust, HTMLCSSStyleDeclaration2_put_enableBackground, HTMLCSSStyleDeclaration2_get_enableBackground, HTMLCSSStyleDeclaration2_put_msFontFeatureSettings, HTMLCSSStyleDeclaration2_get_msFontFeatureSettings, HTMLCSSStyleDeclaration2_put_msUserSelect, HTMLCSSStyleDeclaration2_get_msUserSelect, HTMLCSSStyleDeclaration2_put_msOverflowStyle, HTMLCSSStyleDeclaration2_get_msOverflowStyle, HTMLCSSStyleDeclaration2_put_msTransformStyle, HTMLCSSStyleDeclaration2_get_msTransformStyle, HTMLCSSStyleDeclaration2_put_msBackfaceVisibility, HTMLCSSStyleDeclaration2_get_msBackfaceVisibility, HTMLCSSStyleDeclaration2_put_msPerspective, HTMLCSSStyleDeclaration2_get_msPerspective, HTMLCSSStyleDeclaration2_put_msPerspectiveOrigin, HTMLCSSStyleDeclaration2_get_msPerspectiveOrigin, HTMLCSSStyleDeclaration2_put_msTransitionProperty, HTMLCSSStyleDeclaration2_get_msTransitionProperty, HTMLCSSStyleDeclaration2_put_msTransitionDuration, HTMLCSSStyleDeclaration2_get_msTransitionDuration, HTMLCSSStyleDeclaration2_put_msTransitionTimingFunction, HTMLCSSStyleDeclaration2_get_msTransitionTimingFunction, HTMLCSSStyleDeclaration2_put_msTransitionDelay, HTMLCSSStyleDeclaration2_get_msTransitionDelay, HTMLCSSStyleDeclaration2_put_msTransition, HTMLCSSStyleDeclaration2_get_msTransition, HTMLCSSStyleDeclaration2_put_msTouchAction, HTMLCSSStyleDeclaration2_get_msTouchAction, HTMLCSSStyleDeclaration2_put_msScrollTranslation, HTMLCSSStyleDeclaration2_get_msScrollTranslation, HTMLCSSStyleDeclaration2_put_msFlex, HTMLCSSStyleDeclaration2_get_msFlex, HTMLCSSStyleDeclaration2_put_msFlexPositive, HTMLCSSStyleDeclaration2_get_msFlexPositive, HTMLCSSStyleDeclaration2_put_msFlexNegative, HTMLCSSStyleDeclaration2_get_msFlexNegative, HTMLCSSStyleDeclaration2_put_msFlexPreferredSize, HTMLCSSStyleDeclaration2_get_msFlexPreferredSize, HTMLCSSStyleDeclaration2_put_msFlexFlow, HTMLCSSStyleDeclaration2_get_msFlexFlow, HTMLCSSStyleDeclaration2_put_msFlexDirection, HTMLCSSStyleDeclaration2_get_msFlexDirection, HTMLCSSStyleDeclaration2_put_msFlexWrap, HTMLCSSStyleDeclaration2_get_msFlexWrap, HTMLCSSStyleDeclaration2_put_msFlexAlign, HTMLCSSStyleDeclaration2_get_msFlexAlign, HTMLCSSStyleDeclaration2_put_msFlexItemAlign, HTMLCSSStyleDeclaration2_get_msFlexItemAlign, HTMLCSSStyleDeclaration2_put_msFlexPack, HTMLCSSStyleDeclaration2_get_msFlexPack, HTMLCSSStyleDeclaration2_put_msFlexLinePack, HTMLCSSStyleDeclaration2_get_msFlexLinePack, HTMLCSSStyleDeclaration2_put_msFlexOrder, HTMLCSSStyleDeclaration2_get_msFlexOrder, HTMLCSSStyleDeclaration2_put_msTouchSelect, HTMLCSSStyleDeclaration2_get_msTouchSelect, HTMLCSSStyleDeclaration2_put_transform, HTMLCSSStyleDeclaration2_get_transform, HTMLCSSStyleDeclaration2_put_transformOrigin, HTMLCSSStyleDeclaration2_get_transformOrigin, HTMLCSSStyleDeclaration2_put_transformStyle, HTMLCSSStyleDeclaration2_get_transformStyle, HTMLCSSStyleDeclaration2_put_backfaceVisibility, HTMLCSSStyleDeclaration2_get_backfaceVisibility, HTMLCSSStyleDeclaration2_put_perspective, HTMLCSSStyleDeclaration2_get_perspective, HTMLCSSStyleDeclaration2_put_perspectiveOrigin, HTMLCSSStyleDeclaration2_get_perspectiveOrigin, HTMLCSSStyleDeclaration2_put_transitionProperty, HTMLCSSStyleDeclaration2_get_transitionProperty, HTMLCSSStyleDeclaration2_put_transitionDuration, HTMLCSSStyleDeclaration2_get_transitionDuration, HTMLCSSStyleDeclaration2_put_transitionTimingFunction, HTMLCSSStyleDeclaration2_get_transitionTimingFunction, HTMLCSSStyleDeclaration2_put_transitionDelay, HTMLCSSStyleDeclaration2_get_transitionDelay, HTMLCSSStyleDeclaration2_put_transition, HTMLCSSStyleDeclaration2_get_transition, HTMLCSSStyleDeclaration2_put_fontFeatureSettings, HTMLCSSStyleDeclaration2_get_fontFeatureSettings, HTMLCSSStyleDeclaration2_put_animationName, HTMLCSSStyleDeclaration2_get_animationName, HTMLCSSStyleDeclaration2_put_animationDuration, HTMLCSSStyleDeclaration2_get_animationDuration, HTMLCSSStyleDeclaration2_put_animationTimingFunction, HTMLCSSStyleDeclaration2_get_animationTimingFunction, HTMLCSSStyleDeclaration2_put_animationDelay, HTMLCSSStyleDeclaration2_get_animationDelay, HTMLCSSStyleDeclaration2_put_animationDirection, HTMLCSSStyleDeclaration2_get_animationDirection, HTMLCSSStyleDeclaration2_put_animationPlayState, HTMLCSSStyleDeclaration2_get_animationPlayState, HTMLCSSStyleDeclaration2_put_animationIterationCount, HTMLCSSStyleDeclaration2_get_animationIterationCount, HTMLCSSStyleDeclaration2_put_animation, HTMLCSSStyleDeclaration2_get_animation, HTMLCSSStyleDeclaration2_put_animationFillMode, HTMLCSSStyleDeclaration2_get_animationFillMode }; static inline CSSStyle *impl_from_DispatchEx(DispatchEx *dispex) { return CONTAINING_RECORD(dispex, CSSStyle, dispex); } static HRESULT CSSStyle_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) { CSSStyle *This = impl_from_DispatchEx(dispex); const style_tbl_entry_t *style_entry; style_entry = lookup_style_tbl(This, name); if(style_entry) { DISPID id = dispex_compat_mode(dispex) >= COMPAT_MODE_IE9 ? style_entry->dispid : style_entry->compat_dispid; if(id == DISPID_UNKNOWN) return DISP_E_UNKNOWNNAME; *dispid = id; return S_OK; } return DISP_E_UNKNOWNNAME; } void CSSStyle_init_dispex_info(dispex_data_t *info, compat_mode_t mode) { if(mode >= COMPAT_MODE_IE9) dispex_info_add_interface(info, IHTMLCSSStyleDeclaration_tid, NULL); if(mode >= COMPAT_MODE_IE10) dispex_info_add_interface(info, IHTMLCSSStyleDeclaration2_tid, NULL); } const dispex_static_data_vtbl_t CSSStyle_dispex_vtbl = { NULL, CSSStyle_get_dispid, NULL, NULL }; static const tid_t HTMLStyle_iface_tids[] = { IHTMLStyle6_tid, IHTMLStyle5_tid, IHTMLStyle4_tid, IHTMLStyle3_tid, IHTMLStyle2_tid, IHTMLStyle_tid, 0 }; static dispex_static_data_t HTMLStyle_dispex = { L"MSStyleCSSProperties", &CSSStyle_dispex_vtbl, DispHTMLStyle_tid, HTMLStyle_iface_tids, CSSStyle_init_dispex_info }; static HRESULT get_style_from_elem(HTMLElement *elem, nsIDOMCSSStyleDeclaration **ret) { nsIDOMElementCSSInlineStyle *nselemstyle; nsIDOMSVGElement *svg_element; nsresult nsres; if(!elem->dom_element) { FIXME("comment element\n"); return E_NOTIMPL; } nsres = nsIDOMElement_QueryInterface(elem->dom_element, &IID_nsIDOMElementCSSInlineStyle, (void**)&nselemstyle); if(NS_SUCCEEDED(nsres)) { nsres = nsIDOMElementCSSInlineStyle_GetStyle(nselemstyle, ret); nsIDOMElementCSSInlineStyle_Release(nselemstyle); if(NS_FAILED(nsres)) { ERR("GetStyle failed: %08x\n", nsres); return E_FAIL; } return S_OK; } nsres = nsIDOMElement_QueryInterface(elem->dom_element, &IID_nsIDOMSVGElement, (void**)&svg_element); if(NS_SUCCEEDED(nsres)) { nsres = nsIDOMSVGElement_GetStyle(svg_element, ret); nsIDOMSVGElement_Release(svg_element); if(NS_FAILED(nsres)) { ERR("GetStyle failed: %08x\n", nsres); return E_FAIL; } return S_OK; } FIXME("Unsupported element type\n"); return E_NOTIMPL; } void init_css_style(CSSStyle *style, nsIDOMCSSStyleDeclaration *nsstyle, style_qi_t qi, dispex_static_data_t *dispex_info, compat_mode_t compat_mode) { style->IHTMLCSSStyleDeclaration_iface.lpVtbl = &HTMLCSSStyleDeclarationVtbl; style->IHTMLCSSStyleDeclaration2_iface.lpVtbl = &HTMLCSSStyleDeclaration2Vtbl; style->ref = 1; style->qi = qi; style->nsstyle = nsstyle; nsIDOMCSSStyleDeclaration_AddRef(nsstyle); init_dispatch(&style->dispex, (IUnknown*)&style->IHTMLCSSStyleDeclaration_iface, dispex_info, compat_mode); } HRESULT HTMLStyle_Create(HTMLElement *elem, HTMLStyle **ret) { nsIDOMCSSStyleDeclaration *nsstyle; HTMLStyle *style; HRESULT hres; hres = get_style_from_elem(elem, &nsstyle); if(FAILED(hres)) return hres; style = heap_alloc_zero(sizeof(HTMLStyle)); if(!style) { nsIDOMCSSStyleDeclaration_Release(nsstyle); return E_OUTOFMEMORY; } style->IHTMLStyle_iface.lpVtbl = &HTMLStyleVtbl; style->IHTMLStyle2_iface.lpVtbl = &HTMLStyle2Vtbl; style->IHTMLStyle3_iface.lpVtbl = &HTMLStyle3Vtbl; style->IHTMLStyle4_iface.lpVtbl = &HTMLStyle4Vtbl; style->IHTMLStyle5_iface.lpVtbl = &HTMLStyle5Vtbl; style->IHTMLStyle6_iface.lpVtbl = &HTMLStyle6Vtbl; style->elem = elem; init_css_style(&style->css_style, nsstyle, HTMLStyle_QI, &HTMLStyle_dispex, dispex_compat_mode(&elem->node.event_target.dispex)); *ret = style; return S_OK; } static const tid_t HTMLW3CComputedStyle_iface_tids[] = { 0 }; static dispex_static_data_t HTMLW3CComputedStyle_dispex = { L"CSSStyleDeclaration", &CSSStyle_dispex_vtbl, DispHTMLW3CComputedStyle_tid, HTMLW3CComputedStyle_iface_tids, CSSStyle_init_dispex_info }; HRESULT create_computed_style(nsIDOMCSSStyleDeclaration *nsstyle, compat_mode_t compat_mode, IHTMLCSSStyleDeclaration **p) { CSSStyle *style; if(!(style = heap_alloc_zero(sizeof(*style)))) return E_OUTOFMEMORY; init_css_style(style, nsstyle, NULL, &HTMLW3CComputedStyle_dispex, compat_mode); *p = &style->IHTMLCSSStyleDeclaration_iface; return S_OK; } HRESULT get_elem_style(HTMLElement *elem, styleid_t styleid, BSTR *ret) { nsIDOMCSSStyleDeclaration *style; HRESULT hres; hres = get_style_from_elem(elem, &style); if(FAILED(hres)) return hres; hres = get_nsstyle_property(style, styleid, COMPAT_MODE_IE11, ret); nsIDOMCSSStyleDeclaration_Release(style); return hres; } HRESULT set_elem_style(HTMLElement *elem, styleid_t styleid, const WCHAR *val) { nsIDOMCSSStyleDeclaration *style; nsAString value_str; HRESULT hres; hres = get_style_from_elem(elem, &style); if(FAILED(hres)) return hres; nsAString_InitDepend(&value_str, val); hres = set_nsstyle_property(style, styleid, &value_str); nsAString_Finish(&value_str); nsIDOMCSSStyleDeclaration_Release(style); return hres; }