2 * Copyright 2006 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
32 #include "wine/debug.h"
34 #include "mshtml_private.h"
36 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
41 const IHTMLInputElementVtbl *lpHTMLInputElementVtbl;
43 nsIDOMHTMLInputElement *nsinput;
46 #define HTMLINPUT(x) ((IHTMLInputElement*) &(x)->lpHTMLInputElementVtbl)
48 #define HTMLINPUT_THIS(iface) DEFINE_THIS(HTMLInputElement, HTMLInputElement, iface)
50 static HRESULT WINAPI HTMLInputElement_QueryInterface(IHTMLInputElement *iface,
51 REFIID riid, void **ppv)
53 HTMLInputElement *This = HTMLINPUT_THIS(iface);
58 if(IsEqualGUID(&IID_IUnknown, riid)) {
59 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
60 *ppv = HTMLINPUT(This);
61 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
62 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
63 *ppv = HTMLINPUT(This);
64 }else if(IsEqualGUID(&IID_IHTMLInputElement, riid)) {
65 TRACE("(%p)->(IID_IHTMLInputElement %p)\n", This, ppv);
66 *ppv = HTMLINPUT(This);
70 IUnknown_AddRef((IUnknown*)*ppv);
74 hres = HTMLElement_QI(&This->element, riid, ppv);
76 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
81 static ULONG WINAPI HTMLInputElement_AddRef(IHTMLInputElement *iface)
83 HTMLInputElement *This = HTMLINPUT_THIS(iface);
85 return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
88 static ULONG WINAPI HTMLInputElement_Release(IHTMLInputElement *iface)
90 HTMLInputElement *This = HTMLINPUT_THIS(iface);
92 return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
95 static HRESULT WINAPI HTMLInputElement_GetTypeInfoCount(IHTMLInputElement *iface, UINT *pctinfo)
97 HTMLInputElement *This = HTMLINPUT_THIS(iface);
98 FIXME("(%p)->(%p)\n", This, pctinfo);
102 static HRESULT WINAPI HTMLInputElement_GetTypeInfo(IHTMLInputElement *iface, UINT iTInfo,
103 LCID lcid, ITypeInfo **ppTInfo)
105 HTMLInputElement *This = HTMLINPUT_THIS(iface);
106 FIXME("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo);
110 static HRESULT WINAPI HTMLInputElement_GetIDsOfNames(IHTMLInputElement *iface, REFIID riid,
111 LPOLESTR *rgszNames, UINT cNames,
112 LCID lcid, DISPID *rgDispId)
114 HTMLInputElement *This = HTMLINPUT_THIS(iface);
115 FIXME("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
120 static HRESULT WINAPI HTMLInputElement_Invoke(IHTMLInputElement *iface, DISPID dispIdMember,
121 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
122 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
124 HTMLInputElement *This = HTMLINPUT_THIS(iface);
125 FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid),
126 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
130 static HRESULT WINAPI HTMLInputElement_put_type(IHTMLInputElement *iface, BSTR v)
132 HTMLInputElement *This = HTMLINPUT_THIS(iface);
133 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
137 static HRESULT WINAPI HTMLInputElement_get_type(IHTMLInputElement *iface, BSTR *p)
139 HTMLInputElement *This = HTMLINPUT_THIS(iface);
141 const PRUnichar *type;
144 TRACE("(%p)->(%p)\n", This, p);
146 nsAString_Init(&type_str, NULL);
147 nsres = nsIDOMHTMLInputElement_GetType(This->nsinput, &type_str);
149 if(NS_SUCCEEDED(nsres)) {
150 nsAString_GetData(&type_str, &type, NULL);
151 *p = SysAllocString(type);
153 ERR("GetType failed: %08x\n", nsres);
156 nsAString_Finish(&type_str);
158 TRACE("type=%s\n", debugstr_w(*p));
162 static HRESULT WINAPI HTMLInputElement_put_value(IHTMLInputElement *iface, BSTR v)
164 HTMLInputElement *This = HTMLINPUT_THIS(iface);
165 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
169 static HRESULT WINAPI HTMLInputElement_get_value(IHTMLInputElement *iface, BSTR *p)
171 HTMLInputElement *This = HTMLINPUT_THIS(iface);
173 const PRUnichar *value = NULL;
176 TRACE("(%p)->(%p)\n", This, p);
178 nsAString_Init(&value_str, NULL);
180 nsres = nsIDOMHTMLInputElement_GetValue(This->nsinput, &value_str);
181 if(NS_SUCCEEDED(nsres)) {
182 nsAString_GetData(&value_str, &value, NULL);
183 *p = SysAllocString(value);
185 ERR("GetValue failed: %08x\n", nsres);
188 nsAString_Finish(&value_str);
190 TRACE("value=%s\n", debugstr_w(*p));
194 static HRESULT WINAPI HTMLInputElement_put_name(IHTMLInputElement *iface, BSTR v)
196 HTMLInputElement *This = HTMLINPUT_THIS(iface);
197 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
201 static HRESULT WINAPI HTMLInputElement_get_name(IHTMLInputElement *iface, BSTR *p)
203 HTMLInputElement *This = HTMLINPUT_THIS(iface);
205 const PRUnichar *name;
208 TRACE("(%p)->(%p)\n", This, p);
210 nsAString_Init(&name_str, NULL);
212 nsres = nsIDOMHTMLInputElement_GetName(This->nsinput, &name_str);
213 if(NS_SUCCEEDED(nsres)) {
214 nsAString_GetData(&name_str, &name, NULL);
215 *p = SysAllocString(name);
217 ERR("GetName failed: %08x\n", nsres);
221 nsAString_Finish(&name_str);
223 TRACE("name=%s\n", debugstr_w(*p));
227 static HRESULT WINAPI HTMLInputElement_put_status(IHTMLInputElement *iface, VARIANT_BOOL v)
229 HTMLInputElement *This = HTMLINPUT_THIS(iface);
230 FIXME("(%p)->(%x)\n", This, v);
234 static HRESULT WINAPI HTMLInputElement_get_status(IHTMLInputElement *iface, VARIANT_BOOL *p)
236 HTMLInputElement *This = HTMLINPUT_THIS(iface);
237 FIXME("(%p)->(%p)\n", This, p);
241 static HRESULT WINAPI HTMLInputElement_put_disabled(IHTMLInputElement *iface, VARIANT_BOOL v)
243 HTMLInputElement *This = HTMLINPUT_THIS(iface);
244 FIXME("(%p)->(%x)\n", This, v);
248 static HRESULT WINAPI HTMLInputElement_get_disabled(IHTMLInputElement *iface, VARIANT_BOOL *p)
250 HTMLInputElement *This = HTMLINPUT_THIS(iface);
251 FIXME("(%p)->(%p)\n", This, p);
255 static HRESULT WINAPI HTMLInputElement_get_form(IHTMLInputElement *iface, IHTMLFormElement **p)
257 HTMLInputElement *This = HTMLINPUT_THIS(iface);
258 FIXME("(%p)->(%p)\n", This, p);
262 static HRESULT WINAPI HTMLInputElement_put_size(IHTMLInputElement *iface, long v)
264 HTMLInputElement *This = HTMLINPUT_THIS(iface);
265 FIXME("(%p)->(%ld)\n", This, v);
269 static HRESULT WINAPI HTMLInputElement_get_size(IHTMLInputElement *iface, long *p)
271 HTMLInputElement *This = HTMLINPUT_THIS(iface);
272 FIXME("(%p)->(%p)\n", This, p);
276 static HRESULT WINAPI HTMLInputElement_put_maxLength(IHTMLInputElement *iface, long v)
278 HTMLInputElement *This = HTMLINPUT_THIS(iface);
279 FIXME("(%p)->(%ld)\n", This, v);
283 static HRESULT WINAPI HTMLInputElement_get_maxLength(IHTMLInputElement *iface, long *p)
285 HTMLInputElement *This = HTMLINPUT_THIS(iface);
286 FIXME("(%p)->(%p)\n", This, p);
290 static HRESULT WINAPI HTMLInputElement_select(IHTMLInputElement *iface)
292 HTMLInputElement *This = HTMLINPUT_THIS(iface);
293 FIXME("(%p)\n", This);
297 static HRESULT WINAPI HTMLInputElement_put_onchange(IHTMLInputElement *iface, VARIANT v)
299 HTMLInputElement *This = HTMLINPUT_THIS(iface);
300 FIXME("(%p)->()\n", This);
304 static HRESULT WINAPI HTMLInputElement_get_onchange(IHTMLInputElement *iface, VARIANT *p)
306 HTMLInputElement *This = HTMLINPUT_THIS(iface);
307 FIXME("(%p)->(%p)\n", This, p);
311 static HRESULT WINAPI HTMLInputElement_put_onselect(IHTMLInputElement *iface, VARIANT v)
313 HTMLInputElement *This = HTMLINPUT_THIS(iface);
314 FIXME("(%p)->()\n", This);
318 static HRESULT WINAPI HTMLInputElement_get_onselect(IHTMLInputElement *iface, VARIANT *p)
320 HTMLInputElement *This = HTMLINPUT_THIS(iface);
321 FIXME("(%p)->(%p)\n", This, p);
325 static HRESULT WINAPI HTMLInputElement_put_defaultValue(IHTMLInputElement *iface, BSTR v)
327 HTMLInputElement *This = HTMLINPUT_THIS(iface);
328 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
332 static HRESULT WINAPI HTMLInputElement_get_defaultValue(IHTMLInputElement *iface, BSTR *p)
334 HTMLInputElement *This = HTMLINPUT_THIS(iface);
335 FIXME("(%p)->(%p)\n", This, p);
339 static HRESULT WINAPI HTMLInputElement_put_readOnly(IHTMLInputElement *iface, VARIANT_BOOL v)
341 HTMLInputElement *This = HTMLINPUT_THIS(iface);
342 FIXME("(%p)->(%x)\n", This, v);
346 static HRESULT WINAPI HTMLInputElement_get_readOnly(IHTMLInputElement *iface, VARIANT_BOOL *p)
348 HTMLInputElement *This = HTMLINPUT_THIS(iface);
349 FIXME("(%p)->(%p)\n", This, p);
353 static HRESULT WINAPI HTMLInputElement_createTextRange(IHTMLInputElement *iface, IHTMLTxtRange **range)
355 HTMLInputElement *This = HTMLINPUT_THIS(iface);
356 FIXME("(%p)->(%p)\n", This, range);
360 static HRESULT WINAPI HTMLInputElement_put_indeterminate(IHTMLInputElement *iface, VARIANT_BOOL v)
362 HTMLInputElement *This = HTMLINPUT_THIS(iface);
363 FIXME("(%p)->(%x)\n", This, v);
367 static HRESULT WINAPI HTMLInputElement_get_indeterminate(IHTMLInputElement *iface, VARIANT_BOOL *p)
369 HTMLInputElement *This = HTMLINPUT_THIS(iface);
370 FIXME("(%p)->(%p)\n", This, p);
374 static HRESULT WINAPI HTMLInputElement_put_defaultChecked(IHTMLInputElement *iface, VARIANT_BOOL v)
376 HTMLInputElement *This = HTMLINPUT_THIS(iface);
377 FIXME("(%p)->(%x)\n", This, v);
381 static HRESULT WINAPI HTMLInputElement_get_defaultChecked(IHTMLInputElement *iface, VARIANT_BOOL *p)
383 HTMLInputElement *This = HTMLINPUT_THIS(iface);
384 FIXME("(%p)->(%p)\n", This, p);
388 static HRESULT WINAPI HTMLInputElement_put_checked(IHTMLInputElement *iface, VARIANT_BOOL v)
390 HTMLInputElement *This = HTMLINPUT_THIS(iface);
391 FIXME("(%p)->(%x)\n", This, v);
395 static HRESULT WINAPI HTMLInputElement_get_checked(IHTMLInputElement *iface, VARIANT_BOOL *p)
397 HTMLInputElement *This = HTMLINPUT_THIS(iface);
401 TRACE("(%p)->(%p)\n", This, p);
403 nsres = nsIDOMHTMLInputElement_GetChecked(This->nsinput, &checked);
404 if(NS_FAILED(nsres)) {
405 ERR("GetChecked failed: %08x\n", nsres);
409 *p = checked ? VARIANT_TRUE : VARIANT_FALSE;
410 TRACE("checked=%x\n", *p);
414 static HRESULT WINAPI HTMLInputElement_put_border(IHTMLInputElement *iface, VARIANT v)
416 HTMLInputElement *This = HTMLINPUT_THIS(iface);
417 FIXME("(%p)->()\n", This);
421 static HRESULT WINAPI HTMLInputElement_get_border(IHTMLInputElement *iface, VARIANT *p)
423 HTMLInputElement *This = HTMLINPUT_THIS(iface);
424 FIXME("(%p)->(%p)\n", This, p);
428 static HRESULT WINAPI HTMLInputElement_put_vspace(IHTMLInputElement *iface, long v)
430 HTMLInputElement *This = HTMLINPUT_THIS(iface);
431 FIXME("(%p)->(%ld)\n", This, v);
435 static HRESULT WINAPI HTMLInputElement_get_vspace(IHTMLInputElement *iface, long *p)
437 HTMLInputElement *This = HTMLINPUT_THIS(iface);
438 FIXME("(%p)->(%p)\n", This, p);
442 static HRESULT WINAPI HTMLInputElement_put_hspace(IHTMLInputElement *iface, long v)
444 HTMLInputElement *This = HTMLINPUT_THIS(iface);
445 FIXME("(%p)->(%ld)\n", This, v);
449 static HRESULT WINAPI HTMLInputElement_get_hspace(IHTMLInputElement *iface, long *p)
451 HTMLInputElement *This = HTMLINPUT_THIS(iface);
452 FIXME("(%p)->(%p)\n", This, p);
456 static HRESULT WINAPI HTMLInputElement_put_alt(IHTMLInputElement *iface, BSTR v)
458 HTMLInputElement *This = HTMLINPUT_THIS(iface);
459 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
463 static HRESULT WINAPI HTMLInputElement_get_alt(IHTMLInputElement *iface, BSTR *p)
465 HTMLInputElement *This = HTMLINPUT_THIS(iface);
466 FIXME("(%p)->(%p)\n", This, p);
470 static HRESULT WINAPI HTMLInputElement_put_src(IHTMLInputElement *iface, BSTR v)
472 HTMLInputElement *This = HTMLINPUT_THIS(iface);
473 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
477 static HRESULT WINAPI HTMLInputElement_get_src(IHTMLInputElement *iface, BSTR *p)
479 HTMLInputElement *This = HTMLINPUT_THIS(iface);
480 FIXME("(%p)->(%p)\n", This, p);
484 static HRESULT WINAPI HTMLInputElement_put_lowsrc(IHTMLInputElement *iface, BSTR v)
486 HTMLInputElement *This = HTMLINPUT_THIS(iface);
487 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
491 static HRESULT WINAPI HTMLInputElement_get_lowsrc(IHTMLInputElement *iface, BSTR *p)
493 HTMLInputElement *This = HTMLINPUT_THIS(iface);
494 FIXME("(%p)->(%p)\n", This, p);
498 static HRESULT WINAPI HTMLInputElement_put_vrml(IHTMLInputElement *iface, BSTR v)
500 HTMLInputElement *This = HTMLINPUT_THIS(iface);
501 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
505 static HRESULT WINAPI HTMLInputElement_get_vrml(IHTMLInputElement *iface, BSTR *p)
507 HTMLInputElement *This = HTMLINPUT_THIS(iface);
508 FIXME("(%p)->(%p)\n", This, p);
512 static HRESULT WINAPI HTMLInputElement_put_dynsrc(IHTMLInputElement *iface, BSTR v)
514 HTMLInputElement *This = HTMLINPUT_THIS(iface);
515 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
519 static HRESULT WINAPI HTMLInputElement_get_dynsrc(IHTMLInputElement *iface, BSTR *p)
521 HTMLInputElement *This = HTMLINPUT_THIS(iface);
522 FIXME("(%p)->(%p)\n", This, p);
526 static HRESULT WINAPI HTMLInputElement_get_readyState(IHTMLInputElement *iface, BSTR *p)
528 HTMLInputElement *This = HTMLINPUT_THIS(iface);
529 FIXME("(%p)->(%p)\n", This, p);
533 static HRESULT WINAPI HTMLInputElement_get_complete(IHTMLInputElement *iface, VARIANT_BOOL *p)
535 HTMLInputElement *This = HTMLINPUT_THIS(iface);
536 FIXME("(%p)->(%p)\n", This, p);
540 static HRESULT WINAPI HTMLInputElement_put_loop(IHTMLInputElement *iface, VARIANT v)
542 HTMLInputElement *This = HTMLINPUT_THIS(iface);
543 FIXME("(%p)->()\n", This);
547 static HRESULT WINAPI HTMLInputElement_get_loop(IHTMLInputElement *iface, VARIANT *p)
549 HTMLInputElement *This = HTMLINPUT_THIS(iface);
550 FIXME("(%p)->(%p)\n", This, p);
554 static HRESULT WINAPI HTMLInputElement_put_align(IHTMLInputElement *iface, BSTR v)
556 HTMLInputElement *This = HTMLINPUT_THIS(iface);
557 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
561 static HRESULT WINAPI HTMLInputElement_get_align(IHTMLInputElement *iface, BSTR *p)
563 HTMLInputElement *This = HTMLINPUT_THIS(iface);
564 FIXME("(%p)->(%p)\n", This, p);
568 static HRESULT WINAPI HTMLInputElement_put_onload(IHTMLInputElement *iface, VARIANT v)
570 HTMLInputElement *This = HTMLINPUT_THIS(iface);
571 FIXME("(%p)->()\n", This);
575 static HRESULT WINAPI HTMLInputElement_get_onload(IHTMLInputElement *iface, VARIANT *p)
577 HTMLInputElement *This = HTMLINPUT_THIS(iface);
578 FIXME("(%p)->(%p)\n", This, p);
582 static HRESULT WINAPI HTMLInputElement_put_onerror(IHTMLInputElement *iface, VARIANT v)
584 HTMLInputElement *This = HTMLINPUT_THIS(iface);
585 FIXME("(%p)->()\n", This);
589 static HRESULT WINAPI HTMLInputElement_get_onerror(IHTMLInputElement *iface, VARIANT *p)
591 HTMLInputElement *This = HTMLINPUT_THIS(iface);
592 FIXME("(%p)->(%p)\n", This, p);
596 static HRESULT WINAPI HTMLInputElement_put_onabort(IHTMLInputElement *iface, VARIANT v)
598 HTMLInputElement *This = HTMLINPUT_THIS(iface);
599 FIXME("(%p)->()\n", This);
603 static HRESULT WINAPI HTMLInputElement_get_onabort(IHTMLInputElement *iface, VARIANT *p)
605 HTMLInputElement *This = HTMLINPUT_THIS(iface);
606 FIXME("(%p)->(%p)\n", This, p);
610 static HRESULT WINAPI HTMLInputElement_put_width(IHTMLInputElement *iface, long v)
612 HTMLInputElement *This = HTMLINPUT_THIS(iface);
613 FIXME("(%p)->(%ld)\n", This, v);
617 static HRESULT WINAPI HTMLInputElement_get_width(IHTMLInputElement *iface, long *p)
619 HTMLInputElement *This = HTMLINPUT_THIS(iface);
620 FIXME("(%p)->(%p)\n", This, p);
624 static HRESULT WINAPI HTMLInputElement_put_height(IHTMLInputElement *iface, long v)
626 HTMLInputElement *This = HTMLINPUT_THIS(iface);
627 FIXME("(%p)->(%ld)\n", This, v);
631 static HRESULT WINAPI HTMLInputElement_get_height(IHTMLInputElement *iface, long *p)
633 HTMLInputElement *This = HTMLINPUT_THIS(iface);
634 FIXME("(%p)->(%p)\n", This, p);
638 static HRESULT WINAPI HTMLInputElement_put_start(IHTMLInputElement *iface, BSTR v)
640 HTMLInputElement *This = HTMLINPUT_THIS(iface);
641 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
645 static HRESULT WINAPI HTMLInputElement_get_start(IHTMLInputElement *iface, BSTR *p)
647 HTMLInputElement *This = HTMLINPUT_THIS(iface);
648 FIXME("(%p)->(%p)\n", This, p);
652 static void HTMLInputElement_destructor(IUnknown *iface)
654 HTMLInputElement *This = HTMLINPUT_THIS(iface);
656 nsIDOMHTMLInputElement_Release(This->nsinput);
660 #undef HTMLINPUT_THIS
662 static const IHTMLInputElementVtbl HTMLInputElementVtbl = {
663 HTMLInputElement_QueryInterface,
664 HTMLInputElement_AddRef,
665 HTMLInputElement_Release,
666 HTMLInputElement_GetTypeInfoCount,
667 HTMLInputElement_GetTypeInfo,
668 HTMLInputElement_GetIDsOfNames,
669 HTMLInputElement_Invoke,
670 HTMLInputElement_put_type,
671 HTMLInputElement_get_type,
672 HTMLInputElement_put_value,
673 HTMLInputElement_get_value,
674 HTMLInputElement_put_name,
675 HTMLInputElement_get_name,
676 HTMLInputElement_put_status,
677 HTMLInputElement_get_status,
678 HTMLInputElement_put_disabled,
679 HTMLInputElement_get_disabled,
680 HTMLInputElement_get_form,
681 HTMLInputElement_put_size,
682 HTMLInputElement_get_size,
683 HTMLInputElement_put_maxLength,
684 HTMLInputElement_get_maxLength,
685 HTMLInputElement_select,
686 HTMLInputElement_put_onchange,
687 HTMLInputElement_get_onchange,
688 HTMLInputElement_put_onselect,
689 HTMLInputElement_get_onselect,
690 HTMLInputElement_put_defaultValue,
691 HTMLInputElement_get_defaultValue,
692 HTMLInputElement_put_readOnly,
693 HTMLInputElement_get_readOnly,
694 HTMLInputElement_createTextRange,
695 HTMLInputElement_put_indeterminate,
696 HTMLInputElement_get_indeterminate,
697 HTMLInputElement_put_defaultChecked,
698 HTMLInputElement_get_defaultChecked,
699 HTMLInputElement_put_checked,
700 HTMLInputElement_get_checked,
701 HTMLInputElement_put_border,
702 HTMLInputElement_get_border,
703 HTMLInputElement_put_vspace,
704 HTMLInputElement_get_vspace,
705 HTMLInputElement_put_hspace,
706 HTMLInputElement_get_hspace,
707 HTMLInputElement_put_alt,
708 HTMLInputElement_get_alt,
709 HTMLInputElement_put_src,
710 HTMLInputElement_get_src,
711 HTMLInputElement_put_lowsrc,
712 HTMLInputElement_get_lowsrc,
713 HTMLInputElement_put_vrml,
714 HTMLInputElement_get_vrml,
715 HTMLInputElement_put_dynsrc,
716 HTMLInputElement_get_dynsrc,
717 HTMLInputElement_get_readyState,
718 HTMLInputElement_get_complete,
719 HTMLInputElement_put_loop,
720 HTMLInputElement_get_loop,
721 HTMLInputElement_put_align,
722 HTMLInputElement_get_align,
723 HTMLInputElement_put_onload,
724 HTMLInputElement_get_onload,
725 HTMLInputElement_put_onerror,
726 HTMLInputElement_get_onerror,
727 HTMLInputElement_put_onabort,
728 HTMLInputElement_get_onabort,
729 HTMLInputElement_put_width,
730 HTMLInputElement_get_width,
731 HTMLInputElement_put_height,
732 HTMLInputElement_get_height,
733 HTMLInputElement_put_start,
734 HTMLInputElement_get_start
737 HTMLElement *HTMLInputElement_Create(nsIDOMHTMLElement *nselem)
739 HTMLInputElement *ret = mshtml_alloc(sizeof(HTMLInputElement));
742 ret->lpHTMLInputElementVtbl = &HTMLInputElementVtbl;
744 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLInputElement,
745 (void**)&ret->nsinput);
747 ERR("Could not get nsIDOMHTMLInputElement interface: %08x\n", nsres);
749 ret->element.impl = (IUnknown*)HTMLINPUT(ret);
750 ret->element.destructor = HTMLInputElement_destructor;
752 return &ret->element;