mshtml: Added IHTMLElement3::contentEditable property implemention.
This commit is contained in:
parent
2858f1ee63
commit
2a8d4a03d3
|
@ -174,15 +174,34 @@ static HRESULT WINAPI HTMLElement3_setActive(IHTMLElement3 *iface)
|
||||||
static HRESULT WINAPI HTMLElement3_put_contentEditable(IHTMLElement3 *iface, BSTR v)
|
static HRESULT WINAPI HTMLElement3_put_contentEditable(IHTMLElement3 *iface, BSTR v)
|
||||||
{
|
{
|
||||||
HTMLElement *This = impl_from_IHTMLElement3(iface);
|
HTMLElement *This = impl_from_IHTMLElement3(iface);
|
||||||
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
nsresult nsres;
|
||||||
return E_NOTIMPL;
|
nsAString str;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||||
|
|
||||||
|
nsAString_InitDepend(&str, v);
|
||||||
|
nsres = nsIDOMHTMLElement_SetContentEditable(This->nselem, &str);
|
||||||
|
nsAString_Finish(&str);
|
||||||
|
|
||||||
|
if (NS_FAILED(nsres)){
|
||||||
|
ERR("SetContentEditable(%s) failed!\n", debugstr_w(v));
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLElement3_get_contentEditable(IHTMLElement3 *iface, BSTR *p)
|
static HRESULT WINAPI HTMLElement3_get_contentEditable(IHTMLElement3 *iface, BSTR *p)
|
||||||
{
|
{
|
||||||
HTMLElement *This = impl_from_IHTMLElement3(iface);
|
HTMLElement *This = impl_from_IHTMLElement3(iface);
|
||||||
FIXME("(%p)->(%p)\n", This, p);
|
nsresult nsres;
|
||||||
return E_NOTIMPL;
|
nsAString str;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p)\n", This, p);
|
||||||
|
|
||||||
|
nsAString_Init(&str, NULL);
|
||||||
|
nsres = nsIDOMHTMLElement_GetContentEditable(This->nselem, &str);
|
||||||
|
return return_nsstr(nsres, &str, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLElement3_get_isContentEditable(IHTMLElement3 *iface, VARIANT_BOOL *p)
|
static HRESULT WINAPI HTMLElement3_get_isContentEditable(IHTMLElement3 *iface, VARIANT_BOOL *p)
|
||||||
|
|
|
@ -3012,6 +3012,31 @@ static void _test_attr_specified(unsigned line, IHTMLDOMAttribute *attr, VARIANT
|
||||||
ok_(__FILE__,line)(specified == expected, "specified = %x, expected %x\n", specified, expected);
|
ok_(__FILE__,line)(specified == expected, "specified = %x, expected %x\n", specified, expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_contenteditable(IUnknown *unk)
|
||||||
|
{
|
||||||
|
IHTMLElement3 *elem3 = get_elem3_iface(unk);
|
||||||
|
HRESULT hres;
|
||||||
|
BSTR str, strDefault;
|
||||||
|
|
||||||
|
hres = IHTMLElement3_get_contentEditable(elem3, &strDefault);
|
||||||
|
ok(hres == S_OK, "get_contentEditable failed: 0x%08x\n", hres);
|
||||||
|
|
||||||
|
str = a2bstr("true");
|
||||||
|
hres = IHTMLElement3_put_contentEditable(elem3, str);
|
||||||
|
ok(hres == S_OK, "put_contentEditable(%s) failed: 0x%08x\n", wine_dbgstr_w(str), hres);
|
||||||
|
SysFreeString(str);
|
||||||
|
hres = IHTMLElement3_get_contentEditable(elem3, &str);
|
||||||
|
ok(hres == S_OK, "get_contentEditable failed: 0x%08x\n", hres);
|
||||||
|
ok(!strcmp_wa(str, "true"), "Got %s, expected %s\n", wine_dbgstr_w(str), "true");
|
||||||
|
|
||||||
|
/* Restore origin contentEditable */
|
||||||
|
hres = IHTMLElement3_put_contentEditable(elem3, strDefault);
|
||||||
|
ok(hres == S_OK, "put_contentEditable(%s) failed: 0x%08x\n", wine_dbgstr_w(strDefault), hres);
|
||||||
|
SysFreeString(strDefault);
|
||||||
|
|
||||||
|
IHTMLElement3_Release(elem3);
|
||||||
|
}
|
||||||
|
|
||||||
#define test_input_type(i,t) _test_input_type(__LINE__,i,t)
|
#define test_input_type(i,t) _test_input_type(__LINE__,i,t)
|
||||||
static void _test_input_type(unsigned line, IHTMLInputElement *input, const char *extype)
|
static void _test_input_type(unsigned line, IHTMLInputElement *input, const char *extype)
|
||||||
{
|
{
|
||||||
|
@ -6612,6 +6637,7 @@ static void test_elems(IHTMLDocument2 *doc)
|
||||||
if(elem) {
|
if(elem) {
|
||||||
test_dynamic_properties(elem);
|
test_dynamic_properties(elem);
|
||||||
test_attr_collection(elem);
|
test_attr_collection(elem);
|
||||||
|
test_contenteditable((IUnknown*)elem);
|
||||||
IHTMLElement_Release(elem);
|
IHTMLElement_Release(elem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue