[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH 2/3 resend] mshtml: Implement known IHTMLCSSStyleDeclaration VARIANT properties.
From: Jacek Caban <jacek () codeweavers ! com>
Date: 2018-08-31 14:36:33
Message-ID: be4e02de-a5c0-db7d-cf00-d256282c418d () codeweavers ! com
[Download RAW message or body]
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
---
dlls/mshtml/htmlstyle.c | 296
+++++++++++++++++++++++-----------------------
dlls/mshtml/tests/style.c | 83 +++++++++++++
2 files changed, 231 insertions(+), 148 deletions(-)
["0002-mshtml-Implement-known-IHTMLCSSStyleDeclaration-VARIA.diff" (text/x-patch)]
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c
index 2b05bb07ba..b035714e62 100644
--- a/dlls/mshtml/htmlstyle.c
+++ b/dlls/mshtml/htmlstyle.c
@@ -4861,15 +4861,15 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_fontWeight(IHTMLCSSStyleDeclar static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_fontSize(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_FONT_SIZE, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontSize(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -4889,15 +4889,15 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_font(IHTMLCSSStyleDeclaration static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_color(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_COLOR, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_color(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ \
-4917,15 +4917,15 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_background(IHTMLCSSStyleDeclar static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BACKGROUND_COLOR, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
@@ -4987,57 +4987,57 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_backgroundPosition(IHTMLCSSSty static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, \
VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return IHTMLStyle_put_backgroundPositionX(&This->IHTMLStyle_iface, v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, \
VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ TRACE("(%p)->(%p)\n", This, p);
+ return IHTMLStyle_get_backgroundPositionX(&This->IHTMLStyle_iface, p);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, \
VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return IHTMLStyle_put_backgroundPositionY(&This->IHTMLStyle_iface, v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, \
VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ TRACE("(%p)->(%p)\n", This, p);
+ return IHTMLStyle_get_backgroundPositionY(&This->IHTMLStyle_iface, p);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT v) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_WORD_SPACING, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_LETTER_SPACING, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_letterSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
@@ -5057,15 +5057,15 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_textDecoration(IHTMLCSSStyleDe static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT v) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_VERTICAL_ALIGN, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ \
-5099,85 +5099,85 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_textAlign(IHTMLCSSStyleDeclara static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_TEXT_INDENT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_LINE_HEIGHT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_lineHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MARGIN_TOP, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginTop(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MARGIN_RIGHT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_marginRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MARGIN_BOTTOM, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_marginBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MARGIN_LEFT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_marginLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -5197,57 +5197,57 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_margin(IHTMLCSSStyleDeclaratio static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_PADDING_TOP, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_PADDING_RIGHT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_paddingRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_PADDING_BOTTOM, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_paddingBottom(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_PADDING_LEFT, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_paddingLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p) \
{ HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -5351,57 +5351,57 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderColor(IHTMLCSSStyleDecla static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_TOP_COLOR, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderRightColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderBottomColor(IHTMLCSSStyleDeclaration *iface, \
VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderLeftColor(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ \
-5421,57 +5421,57 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderWidth(IHTMLCSSStyleDecla static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT \
v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderRightWidth(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderBottomWidth(IHTMLCSSStyleDeclaration *iface, \
VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, &v);
}
static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderLeftWidth(IHTMLCSSStyleDeclaration *iface, VARIANT \
*p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ \
-5547,29 +5547,29 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_borderLeftStyle(IHTMLCSSStyleD static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_width(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_WIDTH, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_width(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_HEIGHT, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_height(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ \
-5701,43 +5701,43 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_whiteSpace(IHTMLCSSStyleDeclar static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_top(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_TOP, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_top(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_LEFT, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_left(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_Z_INDEX, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_zIndex(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -5925,29 +5925,29 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_unicodeBidi(IHTMLCSSStyleDecla static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_bottom(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_BOTTOM, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_bottom(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_RIGHT, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_right(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -6429,15 +6429,15 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_textOverflow(IHTMLCSSStyleDecl static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_minHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MIN_HEIGHT, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minHeight(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) @@ -6457,43 +6457,43 @@ static HRESULT WINAPI \
HTMLCSSStyleDeclaration_get_msInterpolationMode(IHTMLCSSSt static HRESULT WINAPI \
HTMLCSSStyleDeclaration_put_maxHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MAX_HEIGHT, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxHeight(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MIN_WIDTH, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minWidth(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
- return E_NOTIMPL;
+ TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+ return set_style_property_var(This, STYLEID_MAX_WIDTH, &v);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxWidth(IHTMLCSSStyleDeclaration \
*iface, VARIANT *p) {
HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ 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)
diff --git a/dlls/mshtml/tests/style.c b/dlls/mshtml/tests/style.c
index 1292a4123b..c7366d5129 100644
--- a/dlls/mshtml/tests/style.c
+++ b/dlls/mshtml/tests/style.c
@@ -784,6 +784,63 @@ static void test_body_style(IHTMLStyle *style)
else
ok(!V_BSTR(&v), "mariginRight = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+ if(css_style) {
+ V_VT(&v) = VT_NULL;
+ hres = IHTMLCSSStyleDeclaration_get_marginRight(css_style, &v);
+ ok(hres == S_OK, "get_marginRight failed: %08x\n", hres);
+ ok(V_VT(&v) == VT_BSTR, "V_VT(marginRight) = %d\n", V_VT(&v));
+ if(compat_mode < COMPAT_IE9)
+ ok(!strcmp_wa(V_BSTR(&v), "6px"), "V_BSTR(marginRight) = %s\n",
+ wine_dbgstr_w(V_BSTR(&v)));
+ else
+ ok(!V_BSTR(&v), "mariginRight = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+
+ V_VT(&v) = VT_I4;
+ V_I4(&v) = 7;
+ hres = IHTMLCSSStyleDeclaration_put_marginRight(css_style, v);
+ ok(hres == S_OK, "put_marginRight failed: %08x\n", hres);
+
+ V_VT(&v) = VT_NULL;
+ hres = IHTMLCSSStyleDeclaration_get_marginRight(css_style, &v);
+ ok(hres == S_OK, "get_marginRight failed: %08x\n", hres);
+ ok(V_VT(&v) == VT_BSTR, "V_VT(marginRight) = %d\n", V_VT(&v));
+ if(compat_mode < COMPAT_IE9)
+ ok(!strcmp_wa(V_BSTR(&v), "7px"), "V_BSTR(marginRight) = %s\n",
+ wine_dbgstr_w(V_BSTR(&v)));
+ else
+ ok(!V_BSTR(&v), "mariginRight = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+
+ V_VT(&v) = VT_BSTR;
+ V_BSTR(&v) = a2bstr("8");
+ hres = IHTMLCSSStyleDeclaration_put_marginRight(css_style, v);
+ ok(hres == S_OK, "put_marginRight failed: %08x\n", hres);
+ SysFreeString(V_BSTR(&v));
+
+ V_VT(&v) = VT_NULL;
+ hres = IHTMLCSSStyleDeclaration_get_marginRight(css_style, &v);
+ ok(hres == S_OK, "get_marginRight failed: %08x\n", hres);
+ ok(V_VT(&v) == VT_BSTR, "V_VT(marginRight) = %d\n", V_VT(&v));
+ if(compat_mode < COMPAT_IE9)
+ ok(!strcmp_wa(V_BSTR(&v), "8px"), "V_BSTR(marginRight) = %s\n",
+ wine_dbgstr_w(V_BSTR(&v)));
+ else
+ ok(!V_BSTR(&v), "mariginRight = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+
+ V_VT(&v) = VT_BSTR;
+ V_BSTR(&v) = a2bstr("9px");
+ hres = IHTMLCSSStyleDeclaration_put_marginRight(css_style, v);
+ ok(hres == S_OK, "put_marginRight failed: %08x\n", hres);
+ SysFreeString(V_BSTR(&v));
+
+ V_VT(&v) = VT_NULL;
+ hres = IHTMLCSSStyleDeclaration_get_marginRight(css_style, &v);
+ ok(hres == S_OK, "get_marginRight failed: %08x\n", hres);
+ ok(V_VT(&v) == VT_BSTR, "V_VT(marginRight) = %d\n", V_VT(&v));
+ ok(!strcmp_wa(V_BSTR(&v), "9px"), "V_BSTR(marginRight) = %s\n",
+ wine_dbgstr_w(V_BSTR(&v)));
+ SysFreeString(V_BSTR(&v));
+ }
+
V_VT(&v) = VT_NULL;
hres = IHTMLStyle_get_marginBottom(style, &v);
ok(hres == S_OK, "get_marginBottom failed: %08x\n", hres);
@@ -1725,6 +1782,18 @@ static void test_body_style(IHTMLStyle *style)
}
VariantClear(&v);
+ if(css_style) {
+ hres = IHTMLCSSStyleDeclaration_get_zIndex(css_style, &v);
+ ok(hres == S_OK, "get_zIndex failed: %08x\n", hres);
+ if(compat_mode < COMPAT_IE9) {
+ ok(V_VT(&v) == VT_I4, "V_VT(v)=%d\n", V_VT(&v));
+ ok(!V_I4(&v), "V_I4(v) != 0\n");
+ }else {
+ ok(V_VT(&v) == VT_BSTR, "V_VT(v)=%d\n", V_VT(&v));
+ ok(!V_BSTR(&v), "zIndex = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+ }
+ }
+
V_VT(&v) = VT_BSTR;
V_BSTR(&v) = a2bstr("1");
hres = IHTMLStyle_put_zIndex(style, v);
@@ -2257,6 +2326,20 @@ static void test_body_style(IHTMLStyle *style)
ok(!V_BSTR(&v), "backgroundPositionX = %s\n", wine_dbgstr_w(V_BSTR(&v)));
VariantClear(&v);
+ if(css_style) {
+ V_VT(&v) = VT_BSTR;
+ V_BSTR(&v) = a2bstr("11px");
+ hres = IHTMLCSSStyleDeclaration_put_backgroundPositionX(css_style, v);
+ ok(hres == S_OK, "put_backgroundPositionX failed: %08x\n", hres);
+ VariantClear(&v);
+
+ hres = IHTMLCSSStyleDeclaration_get_backgroundPositionX(css_style, &v);
+ ok(hres == S_OK, "get_backgroundPositionX failed: %08x\n", hres);
+ ok(V_VT(&v) == VT_BSTR, "V_VT(v)=%d\n", V_VT(&v));
+ ok(!strcmp_wa(V_BSTR(&v), "11px"), "backgroundPositionX = %s\n", \
wine_dbgstr_w(V_BSTR(&v))); + VariantClear(&v);
+ }
+
V_VT(&v) = VT_BSTR;
V_BSTR(&v) = a2bstr("10px");
hres = IHTMLStyle_put_backgroundPositionX(style, v);
[Attachment #4 (text/plain)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic