Zhenbo Li : mshtml: Added IHTMLTable::frame property implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 18 16:08:49 CDT 2014
Module: wine
Branch: master
Commit: 03b377f3e7e898a1798041621d3efdcc4885910c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=03b377f3e7e898a1798041621d3efdcc4885910c
Author: Zhenbo Li <litimetal at gmail.com>
Date: Mon Aug 18 16:56:24 2014 +0800
mshtml: Added IHTMLTable::frame property implementation.
---
dlls/mshtml/htmltable.c | 27 +++++++++++++++++++++++----
dlls/mshtml/tests/dom.c | 11 ++++++++++-
2 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/dlls/mshtml/htmltable.c b/dlls/mshtml/htmltable.c
index cfacf35..d938699 100644
--- a/dlls/mshtml/htmltable.c
+++ b/dlls/mshtml/htmltable.c
@@ -193,15 +193,34 @@ static HRESULT WINAPI HTMLTable_get_border(IHTMLTable *iface, VARIANT *p)
static HRESULT WINAPI HTMLTable_put_frame(IHTMLTable *iface, BSTR v)
{
HTMLTable *This = impl_from_IHTMLTable(iface);
- FIXME("(%p)->(%s)\n", This, debugstr_w(v));
- return E_NOTIMPL;
+ nsAString str;
+ nsresult nsres;
+
+ TRACE("(%p)->(%s)\n", This, debugstr_w(v));
+
+ nsAString_InitDepend(&str, v);
+ nsres = nsIDOMHTMLTableElement_SetFrame(This->nstable, &str);
+ nsAString_Finish(&str);
+
+ if (NS_FAILED(nsres)) {
+ ERR("SetFrame(%s) failed: %08x\n", debugstr_w(v), nsres);
+ return E_FAIL;
+ }
+ return S_OK;
}
static HRESULT WINAPI HTMLTable_get_frame(IHTMLTable *iface, BSTR *p)
{
HTMLTable *This = impl_from_IHTMLTable(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ nsAString str;
+ nsresult nsres;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ nsAString_Init(&str, NULL);
+ nsres = nsIDOMHTMLTableElement_GetFrame(This->nstable, &str);
+
+ return return_nsstr(nsres, &str, p);
}
static HRESULT WINAPI HTMLTable_put_rules(IHTMLTable *iface, BSTR v)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index f235835..859cdac 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -6205,8 +6205,17 @@ static void test_table_elem(IHTMLElement *elem)
ok(!strcmp_wa(V_BSTR(&v), "11"), "Expected 11, got %s\n", wine_dbgstr_w(V_BSTR(&v)));
VariantClear(&v);
- test_table_modify(table);
+ bstr = a2bstr("box");
+ hres = IHTMLTable_put_frame(table, bstr);
+ ok(hres == S_OK, "put_frame = %08x\n", hres);
+ SysFreeString(bstr);
+ hres = IHTMLTable_get_frame(table, &bstr);
+ ok(hres == S_OK, "get_frame = %08x\n", hres);
+ ok(!strcmp_wa(bstr, "box"), "Expected box, got %s\n", wine_dbgstr_w(bstr));
+ SysFreeString(bstr);
+
+ test_table_modify(table);
bstr = a2bstr("summary");
hres = IHTMLTable3_put_summary(table3, bstr);
ok(hres == S_OK, "put_summary = %08x\n", hres);
More information about the wine-cvs
mailing list