Commit 1563c137 authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

mshtml: Add stub implementation of IHTMLFormElement.

parent 296eeb6e
......@@ -25,6 +25,7 @@ C_SRCS = \
htmlelem3.c \
htmlelemcol.c \
htmlevent.c \
htmlform.c \
htmlframebase.c \
htmlgeneric.c \
htmliframe.c \
......
......@@ -90,6 +90,7 @@ static REFIID tid_ids[] = {
&DIID_DispHTMLDocument,
&DIID_DispHTMLDOMTextNode,
&DIID_DispHTMLElementCollection,
&DIID_DispHTMLFormElement,
&DIID_DispHTMLGenericElement,
&DIID_DispHTMLIFrame,
&DIID_DispHTMLImg,
......@@ -127,6 +128,7 @@ static REFIID tid_ids[] = {
&IID_IHTMLElement4,
&IID_IHTMLElementCollection,
&IID_IHTMLEventObj,
&IID_IHTMLFormElement,
&IID_IHTMLFrameBase,
&IID_IHTMLFrameBase2,
&IID_IHTMLGenericElement,
......
......@@ -1568,6 +1568,7 @@ HTMLElement *HTMLElement_Create(HTMLDocumentNode *doc, nsIDOMNode *nsnode, BOOL
static const WCHAR wszA[] = {'A',0};
static const WCHAR wszBODY[] = {'B','O','D','Y',0};
static const WCHAR wszFORM[] = {'F','O','R','M',0};
static const WCHAR wszIFRAME[] = {'I','F','R','A','M','E',0};
static const WCHAR wszIMG[] = {'I','M','G',0};
static const WCHAR wszINPUT[] = {'I','N','P','U','T',0};
......@@ -1591,6 +1592,8 @@ HTMLElement *HTMLElement_Create(HTMLDocumentNode *doc, nsIDOMNode *nsnode, BOOL
ret = HTMLAnchorElement_Create(doc, nselem);
else if(!strcmpW(class_name, wszBODY))
ret = HTMLBodyElement_Create(doc, nselem);
else if(!strcmpW(class_name, wszFORM))
ret = HTMLFormElement_Create(doc, nselem);
else if(!strcmpW(class_name, wszIFRAME))
ret = HTMLIFrame_Create(doc, nselem, NULL);
else if(!strcmpW(class_name, wszIMG))
......
......@@ -67,6 +67,7 @@ typedef enum {
DispHTMLDocument_tid,
DispHTMLDOMTextNode_tid,
DispHTMLElementCollection_tid,
DispHTMLFormElement_tid,
DispHTMLGenericElement_tid,
DispHTMLIFrame_tid,
DispHTMLImg_tid,
......@@ -104,6 +105,7 @@ typedef enum {
IHTMLElement4_tid,
IHTMLElementCollection_tid,
IHTMLEventObj_tid,
IHTMLFormElement_tid,
IHTMLFrameBase_tid,
IHTMLFrameBase2_tid,
IHTMLGenericElement_tid,
......@@ -728,6 +730,7 @@ HTMLElement *HTMLElement_Create(HTMLDocumentNode*,nsIDOMNode*,BOOL);
HTMLElement *HTMLCommentElement_Create(HTMLDocumentNode*,nsIDOMNode*);
HTMLElement *HTMLAnchorElement_Create(HTMLDocumentNode*,nsIDOMHTMLElement*);
HTMLElement *HTMLBodyElement_Create(HTMLDocumentNode*,nsIDOMHTMLElement*);
HTMLElement *HTMLFormElement_Create(HTMLDocumentNode*,nsIDOMHTMLElement*);
HTMLElement *HTMLFrameElement_Create(HTMLDocumentNode*,nsIDOMHTMLElement*,HTMLWindow*);
HTMLElement *HTMLIFrame_Create(HTMLDocumentNode*,nsIDOMHTMLElement*,HTMLWindow*);
HTMLElement *HTMLImgElement_Create(HTMLDocumentNode*,nsIDOMHTMLElement*);
......
......@@ -119,7 +119,6 @@ typedef nsISupports nsIDOMDOMImplementation;
typedef nsISupports nsIDOMCDATASection;
typedef nsISupports nsIDOMProcessingInstruction;
typedef nsISupports nsIDOMEntityReference;
typedef nsISupports nsIDOMHTMLFormElement;
typedef nsISupports nsIDOMHTMLOptionsCollection;
typedef nsISupports nsIWebProgressListener;
typedef nsISupports nsIDOMCSSValue;
......@@ -1222,6 +1221,32 @@ interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
[
object,
uuid(a6cf908f-15b3-11d2-932e-00805f8add32),
local
/* FROZEN */
]
interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
{
nsresult GetElements(nsIDOMHTMLCollection **aElements);
nsresult GetLength(PRInt32 *aLength);
nsresult GetName(nsAString *aName);
nsresult SetName(const nsAString *aName);
nsresult GetAcceptCharset(nsAString *aAcceptCharset);
nsresult SetAcceptCharset(const nsAString *aAcceptCharset);
nsresult GetAction(nsAString *aAction);
nsresult SetAction(const nsAString *aAction);
nsresult GetEnctype(nsAString *aEnctype);
nsresult SetEnctype(const nsAString *aEnctype);
nsresult GetMethod(nsAString *aMethod);
nsresult SetMethod(const nsAString *aMethod);
nsresult GetTarget(nsAString *aTarget);
nsresult SetTarget(const nsAString *aTarget);
nsresult Submit();
nsresult Reset();
}
[
object,
uuid(a6cf9093-15b3-11d2-932e-00805f8add32),
local
/* FROZEN */
......
......@@ -51,6 +51,7 @@ static const char elem_test_str[] =
"<test />"
"<img id=\"imgid\"/>"
"<iframe src=\"about:blank\" id=\"ifr\"></iframe>"
"<form id=\"frm\"></form>"
"</body></html>";
static const char elem_test2_str[] =
"<html><head><title>test</title><style>.body { margin-right: 0px; }</style>"
......@@ -96,7 +97,8 @@ typedef enum {
ET_IMG,
ET_TR,
ET_TD,
ET_IFRAME
ET_IFRAME,
ET_FORM
} elem_type_t;
static const IID * const none_iids[] = {
......@@ -320,6 +322,18 @@ static const IID * const iframe_iids[] = {
NULL
};
static const IID * const form_iids[] = {
&IID_IHTMLDOMNode,
&IID_IHTMLDOMNode2,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLElement3,
&IID_IHTMLFormElement,
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
NULL
};
static const IID * const generic_iids[] = {
&IID_IHTMLDOMNode,
&IID_IHTMLDOMNode2,
......@@ -389,7 +403,8 @@ static const elem_type_info_t elem_type_infos[] = {
{"IMG", img_iids, &DIID_DispHTMLImg},
{"TR", tr_iids, &DIID_DispHTMLTableRow},
{"TD", td_iids, NULL},
{"IFRAME", iframe_iids, &DIID_DispHTMLIFrame}
{"IFRAME", iframe_iids, &DIID_DispHTMLIFrame},
{"FORM", form_iids, &DIID_DispHTMLFormElement}
};
static const char *dbgstr_guid(REFIID riid)
......@@ -5113,7 +5128,8 @@ static void test_elems(IHTMLDocument2 *doc)
ET_SCRIPT,
ET_TEST,
ET_IMG,
ET_IFRAME
ET_IFRAME,
ET_FORM
};
static const elem_type_t item_types[] = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment