Jacek Caban : mshtml: Added get_name and get_value implementation of IHTMLSelectElement interface .

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 8 06:08:34 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 4ac4246fd5435b02b042588bc1cbed4ef796bb9e
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=4ac4246fd5435b02b042588bc1cbed4ef796bb9e

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Mar  7 23:11:41 2006 +0100

mshtml: Added get_name and get_value implementation of IHTMLSelectElement interface.

---

 dlls/mshtml/htmlselect.c |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c
index c5550a0..0efd769 100644
--- a/dlls/mshtml/htmlselect.c
+++ b/dlls/mshtml/htmlselect.c
@@ -170,8 +170,26 @@ static HRESULT WINAPI HTMLSelectElement_
 static HRESULT WINAPI HTMLSelectElement_get_name(IHTMLSelectElement *iface, BSTR *p)
 {
     HTMLSelectElement *This = HTMLSELECT_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+    nsAString name_str;
+    const PRUnichar *name;
+    nsresult nsres;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    nsAString_Init(&name_str, NULL);
+
+    nsres = nsIDOMHTMLSelectElement_GetName(This->nsselect, &name_str);
+    if(NS_SUCCEEDED(nsres)) {
+        nsAString_GetData(&name_str, &name, NULL);
+        *p = SysAllocString(name);
+    }else {
+        ERR("GetName failed: %08lx\n", nsres);
+    }
+
+    nsAString_Finish(&name_str);
+
+    TRACE("name=%s\n", debugstr_w(name));
+    return S_OK;
 }
 
 static HRESULT WINAPI HTMLSelectElement_get_options(IHTMLSelectElement *iface, IDispatch **p)
@@ -226,8 +244,26 @@ static HRESULT WINAPI HTMLSelectElement_
 static HRESULT WINAPI HTMLSelectElement_get_value(IHTMLSelectElement *iface, BSTR *p)
 {
     HTMLSelectElement *This = HTMLSELECT_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+    nsAString value_str;
+    const PRUnichar *value;
+    nsresult nsres;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    nsAString_Init(&value_str, NULL);
+
+    nsres = nsIDOMHTMLSelectElement_GetValue(This->nsselect, &value_str);
+    if(NS_SUCCEEDED(nsres)) {
+        nsAString_GetData(&value_str, &value, NULL);
+        *p = SysAllocString(value);
+    }else {
+        ERR("GetValue failed: %08lx\n", nsres);
+    }
+
+    nsAString_Finish(&value_str);
+
+    TRACE("value=%s\n", debugstr_w(value));
+    return S_OK;
 }
 
 static HRESULT WINAPI HTMLSelectElement_put_disabled(IHTMLSelectElement *iface, VARIANT_BOOL v)




More information about the wine-cvs mailing list