Alistair Leslie-Hughes : mshtml: Implement IHTMLCurrentStyle_get_marginTop.

Alexandre Julliard julliard at winehq.org
Wed Sep 16 16:00:16 CDT 2009


Module: wine
Branch: master
Commit: 6ec071605971c7dcbd388ce3dfb2cd1ee6bf3353
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6ec071605971c7dcbd388ce3dfb2cd1ee6bf3353

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Wed Sep 16 15:46:16 2009 +1000

mshtml: Implement IHTMLCurrentStyle_get_marginTop.

---

 dlls/mshtml/htmlcurstyle.c |    4 ++--
 dlls/mshtml/htmlstyle.c    |    3 +++
 dlls/mshtml/htmlstyle.h    |    1 +
 dlls/mshtml/tests/dom.c    |    5 +++++
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c
index a1483ec..3418b22 100644
--- a/dlls/mshtml/htmlcurstyle.c
+++ b/dlls/mshtml/htmlcurstyle.c
@@ -438,8 +438,8 @@ static HRESULT WINAPI HTMLCurrentStyle_get_backgroundAttachment(IHTMLCurrentStyl
 static HRESULT WINAPI HTMLCurrentStyle_get_marginTop(IHTMLCurrentStyle *iface, VARIANT *p)
 {
     HTMLCurrentStyle *This = HTMLCURSTYLE_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, p);
+    return get_nsstyle_attr_var(This->nsstyle, STYLEID_MARGIN_TOP, p, 0);
 }
 
 static HRESULT WINAPI HTMLCurrentStyle_get_marginRight(IHTMLCurrentStyle *iface, VARIANT *p)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c
index 698dff1..649e4b1 100644
--- a/dlls/mshtml/htmlstyle.c
+++ b/dlls/mshtml/htmlstyle.c
@@ -111,6 +111,8 @@ static const WCHAR attrMarginLeft[] =
     {'m','a','r','g','i','n','-','l','e','f','t',0};
 static const WCHAR attrMarginRight[] =
     {'m','a','r','g','i','n','-','r','i','g','h','t',0};
+static const WCHAR attrMarginTop[] =
+    {'m','a','r','g','i','n','-','t','o','p',0};
 static const WCHAR attrMinHeight[] =
     {'m','i','n','-','h','e','i','g','h','t',0};
 static const WCHAR attrOverflow[] =
@@ -186,6 +188,7 @@ static const struct{
     {attrMargin,               DISPID_IHTMLSTYLE_MARGIN},
     {attrMarginLeft,           DISPID_IHTMLSTYLE_MARGINLEFT},
     {attrMarginRight,          DISPID_IHTMLSTYLE_MARGINRIGHT},
+    {attrMarginTop,            DISPID_IHTMLSTYLE_MARGINTOP},
     {attrMinHeight,            DISPID_IHTMLSTYLE4_MINHEIGHT},
     {attrOverflow,             DISPID_IHTMLSTYLE_OVERFLOW},
     {attrPaddingBottom,        DISPID_IHTMLSTYLE_PADDINGBOTTOM},
diff --git a/dlls/mshtml/htmlstyle.h b/dlls/mshtml/htmlstyle.h
index 03ee72a..bb4c6c7 100644
--- a/dlls/mshtml/htmlstyle.h
+++ b/dlls/mshtml/htmlstyle.h
@@ -73,6 +73,7 @@ typedef enum {
     STYLEID_MARGIN,
     STYLEID_MARGIN_LEFT,
     STYLEID_MARGIN_RIGHT,
+    STYLEID_MARGIN_TOP,
     STYLEID_MIN_HEIGHT,
     STYLEID_OVERFLOW,
     STYLEID_PADDING_BOTTOM,
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 1eb950f..e9e246d 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -2776,6 +2776,11 @@ static void test_current_style(IHTMLCurrentStyle *current_style)
     ok(hres == S_OK, "get_letterSpacing failed: %08x\n", hres);
     ok(V_VT(&v) == VT_BSTR, "V_VT(v) = %d\n", V_VT(&v));
     VariantClear(&v);
+
+    hres = IHTMLCurrentStyle_get_marginTop(current_style, &v);
+    ok(hres == S_OK, "get_marginTop failed: %08x\n", hres);
+    ok(V_VT(&v) == VT_BSTR, "V_VT(v) = %d\n", V_VT(&v));
+    VariantClear(&v);
 }
 
 static void test_style2(IHTMLStyle2 *style2)




More information about the wine-cvs mailing list