37 nsres = nsIDOMHTMLFormElement_GetElements(
This->nsform, &elements);
39 FIXME(
"GetElements failed: 0x%08x\n", nsres);
43 nsres = nsIDOMHTMLCollection_Item(elements,
i, &
item);
44 nsIDOMHTMLCollection_Release(elements);
46 FIXME(
"Item failed: 0x%08x\n", nsres);
55 nsIDOMNode_Release(
item);
74 return IHTMLDOMNode_QueryInterface(&
This->element.node.IHTMLDOMNode_iface,
riid,
ppv);
81 return IHTMLDOMNode_AddRef(&
This->element.node.IHTMLDOMNode_iface);
88 return IHTMLDOMNode_Release(&
This->element.node.IHTMLDOMNode_iface);
94 return IDispatchEx_GetTypeInfoCount(&
This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo);
101 return IDispatchEx_GetTypeInfo(&
This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid,
110 return IDispatchEx_GetIDsOfNames(&
This->element.node.event_target.dispex.IDispatchEx_iface,
riid, rgszNames,
111 cNames, lcid, rgDispId);
119 return IDispatchEx_Invoke(&
This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember,
riid,
120 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
132 nsres = nsIDOMHTMLFormElement_SetAction(
This->nsform, &action_str);
135 ERR(
"SetAction failed: %08x\n", nsres);
152 nsres = nsIDOMHTMLFormElement_GetAction(
This->nsform, &action_str);
158 ERR(
"GetAction failed: %08x\n", nsres);
182 static const WCHAR urlencodedW[] = {
'a',
'p',
'p',
'l',
'i',
'c',
'a',
't',
'i',
'o',
'n',
'/',
183 'x',
'-',
'w',
'w',
'w',
'-',
'f',
'o',
'r',
'm',
'-',
'u',
'r',
'l',
'e',
'n',
'c',
'o',
'd',
'e',
'd',0};
184 static const WCHAR dataW[] = {
'm',
'u',
'l',
't',
'i',
'p',
'a',
'r',
't',
'/',
185 'f',
'o',
'r',
'm',
'-',
'd',
'a',
't',
'a',0};
186 static const WCHAR plainW[] = {
't',
'e',
'x',
't',
'/',
'p',
'l',
'a',
'i',
'n',0};
195 WARN(
"incorrect enctype\n");
200 nsres = nsIDOMHTMLFormElement_SetEnctype(
This->nsform, &encoding_str);
217 nsres = nsIDOMHTMLFormElement_GetEnctype(
This->nsform, &encoding_str);
223 static const WCHAR postW[] = {
'P',
'O',
'S',
'T',0};
224 static const WCHAR getW[] = {
'G',
'E',
'T',0};
233 WARN(
"unrecognized method\n");
238 nsres = nsIDOMHTMLFormElement_SetMethod(
This->nsform, &method_str);
255 nsres = nsIDOMHTMLFormElement_GetMethod(
This->nsform, &method_str);
266 IDispatch_AddRef(*
p);
280 nsres = nsIDOMHTMLFormElement_SetTarget(
This->nsform, &
str);
300 nsres = nsIDOMHTMLFormElement_GetTarget(
This->nsform, &
str);
314 nsres = nsIDOMHTMLFormElement_SetName(
This->nsform, &name_str);
331 nsres = nsIDOMHTMLFormElement_GetName(
This->nsform, &name_str);
371 nsAString action_uri_str, target_str, method_str;
381 if(
This->element.node.doc) {
387 TRACE(
"No outer window\n");
392 nsres = nsIDOMHTMLFormElement_GetTarget(
This->nsform, &target_str);
396 if(!
window && !use_new_window) {
402 nsres = nsIDOMHTMLFormElement_GetMethod(
This->nsform, &method_str);
417 if(
window && !is_post_submit) {
418 nsres = nsIDOMHTMLFormElement_Submit(
This->nsform);
420 IHTMLWindow2_Release(&
window->base.IHTMLWindow2_iface);
422 ERR(
"Submit failed: %08x\n", nsres);
430 nsres = nsIDOMHTMLFormElement_GetFormData(
This->nsform,
NULL, &action_uri_str, &post_stream);
437 ERR(
"GetFormData failed: %08x\n", nsres);
451 IHTMLWindow2_Release(&
window->base.IHTMLWindow2_iface);
453 nsIInputStream_Release(post_stream);
463 nsres = nsIDOMHTMLFormElement_Reset(
This->nsform);
465 ERR(
"Reset failed: %08x\n", nsres);
486 nsres = nsIDOMHTMLFormElement_GetLength(
This->nsform,
p);
488 ERR(
"GetLength failed: %08x\n", nsres);
519 FIXME(
"Unsupported args\n");
578 *
ppv = &
This->IHTMLFormElement_iface;
581 *
ppv = &
This->IHTMLFormElement_iface;
584 *
ppv = &
This->IHTMLFormElement_iface;
586 TRACE(
"(%p)->(DIID_DispHTMLFormElement %p)\n",
This,
ppv);
587 *
ppv = &
This->IHTMLFormElement_iface;
612 nsres = nsIDOMHTMLFormElement_GetElements(
This->nsform, &elements);
614 FIXME(
"GetElements failed: 0x%08x\n", nsres);
618 nsres = nsIDOMHTMLCollection_GetLength(elements, &
len);
620 FIXME(
"GetLength failed: 0x%08x\n", nsres);
621 nsIDOMHTMLCollection_Release(elements);
633 if(!*end_ptr &&
i <
len) {
640 for(
i = 0;
i <
len; ++
i) {
645 nsres = nsIDOMHTMLCollection_Item(elements,
i, &nsitem);
647 FIXME(
"Item failed: 0x%08x\n", nsres);
652 nsres = nsIDOMNode_QueryInterface(nsitem, &IID_nsIDOMHTMLElement, (
void**)&nshtml_elem);
653 nsIDOMNode_Release(nsitem);
655 FIXME(
"Failed to get nsIDOMHTMLNode interface: 0x%08x\n", nsres);
661 nsres = nsIDOMHTMLElement_GetId(nshtml_elem, &nsstr);
663 FIXME(
"GetId failed: 0x%08x\n", nsres);
664 nsIDOMHTMLElement_Release(nshtml_elem);
670 nsIDOMHTMLElement_Release(nshtml_elem);
679 nsIDOMHTMLElement_Release(nshtml_elem);
693 nsIDOMHTMLCollection_Release(elements);
725 *prevent_default =
TRUE;
726 return IHTMLFormElement_submit(&
This->IHTMLFormElement_iface);
748 nsIDOMHTMLFormElement_Release(nsform);
774 IHTMLFormElement_tid,
780 DispHTMLFormElement_tid,
799 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLFormElement, (
void**)&
ret->nsform);
#define DISP_E_UNKNOWNNAME
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
HRESULT HTMLElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
const cpc_entry_t HTMLElement_cpc[]
char * wine_dbgstr_w(const wchar_t *wstr)
#define MSHTML_DISPID_CUSTOM_MIN
#define MSHTML_CUSTOM_DISPID_CNT
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **ac)
HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
nsresult get_elem_attr_value(nsIDOMHTMLElement *nselem, const WCHAR *name, nsAString *val_str, const PRUnichar **val)
static HRESULT set_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var)
HTMLOuterWindow * get_target_window(HTMLOuterWindow *window, nsAString *target_str, BOOL *use_new_window)
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
static const WCHAR postW[]
static const WCHAR getW[]
GLenum const GLfloat * params
static HRESULT get_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var)
HRESULT nsuri_to_url(LPCWSTR, BOOL, BSTR *) DECLSPEC_HIDDEN
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static const WCHAR nameW[]
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
HRESULT submit_form(HTMLOuterWindow *, const WCHAR *, IUri *, nsIInputStream *) DECLSPEC_HIDDEN
void HTMLElement_destructor(HTMLDOMNode *iface)
#define NS_SUCCEEDED(res)
void HTMLElement_Init(HTMLElement *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
static IHTMLWindow2 * window
_In_ DWORD _Out_ _In_ WORD wFlags
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
struct stdole::EXCEPINFO EXCEPINFO
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
struct nsCycleCollectionTraversalCallback nsCycleCollectionTraversalCallback
HTMLOuterWindow * outer_window
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
static HMODULE MODULEINFO DWORD cb
struct stdole::DISPPARAMS DISPPARAMS
#define strtoulW(s1, s2, b)
HRESULT create_uri(const WCHAR *, DWORD, IUri **) DECLSPEC_HIDDEN