diff --git a/include/mshtml.idl b/include/mshtml.idl
index 0abe7f27588..fdfd2fd8225 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -11548,6 +11548,885 @@ interface IHTMLCommentElement2 : IDispatch
[in] BSTR bstrstring);
}
+/*****************************************************************************
+ * DispHTMLCommentElement dispinterface
+ */
+[
+ hidden,
+ uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
+]
+dispinterface DispHTMLCommentElement
+{
+properties:
+methods:
+ [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
+ void setAttribute(
+ [in] BSTR strAttributeName,
+ [in] VARIANT AttributeValue,
+ [in, defaultvalue(1)] LONG lFlags);
+
+ [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
+ VARIANT getAttribute(
+ [in] BSTR strAttributeName,
+ [in, defaultvalue(0)] LONG lFlags);
+
+ [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
+ VARIANT_BOOL removeAttribute(
+ [in] BSTR strAttributeName,
+ [in, defaultvalue(1)] LONG lFlags);
+
+ [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
+ void className(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
+ BSTR className();
+
+ [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
+ void id(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
+ BSTR id();
+
+ [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
+ BSTR tagName();
+
+ [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
+ IHTMLElement *parentElement();
+
+ [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
+ IHTMLStyle *style();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
+ void onhelp(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
+ VARIANT onhelp();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
+ void onclick(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
+ VARIANT onclick();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
+ void ondblclick(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
+ VARIANT ondblclick();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
+ void onkeydown(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
+ VARIANT onkeydown();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
+ void onkeyup(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
+ VARIANT onkeyup();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
+ void onkeypress(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
+ VARIANT onkeypress();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
+ void onmouseout(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
+ VARIANT onmouseout();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
+ void onmouseover(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
+ VARIANT onmouseover();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
+ void onmousemove(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
+ VARIANT onmousemove();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
+ void onmousedown(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
+ VARIANT onmousedown();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
+ void onmouseup(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
+ VARIANT onmouseup();
+
+ [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
+ IDispatch *document();
+
+ [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
+ void title(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
+ BSTR title();
+
+ [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
+ void language(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
+ BSTR language();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
+ void onselectstart(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
+ VARIANT onselectstart();
+
+ [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
+ void scrollIntoView([in, optional] VARIANT varargStart);
+
+ [id(DISPID_IHTMLELEMENT_CONTAINS)]
+ VARIANT_BOOL contains([in] IHTMLElement *pChild);
+
+ [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
+ long sourceIndex();
+
+ [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
+ VARIANT recordNumber();
+
+ [propput, id(DISPID_IHTMLELEMENT_LANG)]
+ void lang(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_LANG)]
+ BSTR lang();
+
+ [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
+ long offsetLeft();
+
+ [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
+ long offsetTop();
+
+ [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
+ long offsetWidth();
+
+ [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
+ long offsetHeight();
+
+ [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
+ IHTMLElement *offsetParent();
+
+ [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
+ void innerHTML(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
+ BSTR innerHTML();
+
+ [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
+ void innerText(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
+ BSTR innerText();
+
+ [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
+ void outerHTML(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
+ BSTR outerHTML();
+
+ [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
+ void outerText(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
+ BSTR outerText();
+
+ [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
+ void insertAdjacentHTML(
+ [in] BSTR where,
+ [in] BSTR html);
+
+ [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
+ void insertAdjacentText(
+ [in] BSTR where,
+ [in] BSTR text);
+
+ [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
+ IHTMLElement *parentTextEdit();
+
+ [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
+ VARIANT_BOOL isTextEdit();
+
+ [id(DISPID_IHTMLELEMENT_CLICK)]
+ void click();
+
+ [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
+ IHTMLFiltersCollection *filters();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
+ void ondragstart(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
+ VARIANT ondragstart();
+
+ [id(DISPID_IHTMLELEMENT_TOSTRING)]
+ BSTR toString();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
+ void onbeforeupdate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
+ VARIANT onbeforeupdate();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
+ void onafterupdate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
+ VARIANT onafterupdate();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
+ void onerrorupdate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
+ VARIANT onerrorupdate();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
+ void onrowexit(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
+ VARIANT onrowexit();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
+ void onrowenter(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
+ VARIANT onrowenter();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
+ void ondatasetchanged(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
+ VARIANT ondatasetchanged();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
+ void ondataavailable(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
+ VARIANT ondataavailable();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
+ void ondatasetcomplete(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
+ VARIANT ondatasetcomplete();
+
+ [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
+ void onfilterchange(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
+ VARIANT onfilterchange();
+
+ [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
+ IDispatch *children();
+
+ [propget, id(DISPID_IHTMLELEMENT_ALL)]
+ IDispatch *all();
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
+ BSTR scopeName();
+
+ [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
+ void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
+
+ [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
+ void releaseCapture();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
+ void onlosecapture(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
+ VARIANT onlosecapture();
+
+ [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
+ BSTR componentFromPoint(
+ [in] long x,
+ [in] long y);
+
+ [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
+ void doScroll([in, optional] VARIANT component);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
+ void onscroll(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
+ VARIANT onscroll();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
+ void ondrag(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
+ VARIANT ondrag();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
+ void ondragend(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
+ VARIANT ondragend();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
+ void ondragenter(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
+ VARIANT ondragenter();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
+ void ondragover(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
+ VARIANT ondragover();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
+ void ondragleave(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
+ VARIANT ondragleave();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
+ void ondrop(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
+ VARIANT ondrop();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
+ void onbeforecut(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
+ VARIANT onbeforecut();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
+ void oncut(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
+ VARIANT oncut();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
+ void onbeforecopy(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
+ VARIANT onbeforecopy();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
+ void oncopy(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
+ VARIANT oncopy();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
+ void onbeforepaste(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
+ VARIANT onbeforepaste();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
+ void onpaste(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
+ VARIANT onpaste();
+
+ [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
+ IHTMLCurrentStyle *currentStyle();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
+ void onpropertychange(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
+ VARIANT onpropertychange();
+
+ [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
+ IHTMLRectCollection *getClientRects();
+
+ [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
+ IHTMLRect *getBoundingClientRect();
+
+ [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
+ void setExpression(
+ [in] BSTR propname,
+ [in] BSTR expression,
+ [in, defaultvalue("")] BSTR language);
+
+ [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
+ VARIANT getExpression([in] BSTR propname);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
+ VARIANT_BOOL removeExpression([in] BSTR propname);
+
+ [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
+ void tabIndex(short v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
+ short tabIndex();
+
+ [id(DISPID_IHTMLELEMENT2_FOCUS)]
+ void focus();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
+ void accessKey(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
+ BSTR accessKey();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
+ void onblur(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
+ VARIANT onblur();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
+ void onfocus(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
+ VARIANT onfocus();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
+ void onresize(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
+ VARIANT onresize();
+
+ [id(DISPID_IHTMLELEMENT2_BLUR)]
+ void blur();
+
+ [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
+ void addFilter([in] IUnknown *pUnk);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
+ void removeFilter([in] IUnknown *pUnk);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
+ long clientHeight();
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
+ long clientWidth();
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
+ long clientTop();
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
+ long clientLeft();
+
+ [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
+ VARIANT_BOOL attachEvent(
+ [in] BSTR event,
+ [in] IDispatch *pDisp);
+
+ [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
+ void detachEvent(
+ [in] BSTR event,
+ [in] IDispatch *pDisp);
+
+ [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
+ VARIANT readyState();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
+ void onreadystatechange(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
+ VARIANT onreadystatechange();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
+ void onrowsdelete(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
+ VARIANT onrowsdelete();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
+ void onrowsinserted(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
+ VARIANT onrowsinserted();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
+ void oncellchange(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
+ VARIANT oncellchange();
+
+ [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
+ void dir(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
+ BSTR dir();
+
+ [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
+ IDispatch *createControlRange();
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
+ long scrollHeight();
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
+ long scrollWidth();
+
+ [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
+ void scrollTop(long v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
+ long scrollTop();
+
+ [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
+ void scrollLeft(long v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
+ long scrollLeft();
+
+ [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
+ void clearAttributes();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
+ void oncontextmenu(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
+ VARIANT oncontextmenu();
+
+ [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
+ IHTMLElement *insertAdjacentElement(
+ [in] BSTR where,
+ [in] IHTMLElement *insertedElement);
+
+ [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
+ IHTMLElement *applyElement(
+ [in] IHTMLElement *apply,
+ [in] BSTR where);
+
+ [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
+ BSTR getAdjacentText([in] BSTR where);
+
+ [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
+ BSTR replaceAdjacentText(
+ [in] BSTR where,
+ [in] BSTR newText);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
+ VARIANT_BOOL canHaveChildren();
+
+ [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
+ long addBehavior(
+ [in] BSTR bstrUrl,
+ [in, optional] VARIANT *pvarFactory);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
+ VARIANT_BOOL removeBehavior([in] long cookie);
+
+ [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
+ IHTMLStyle *runtimeStyle();
+
+ [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
+ IDispatch *behaviorUrns();
+
+ [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
+ void tagUrn(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
+ BSTR tagUrn();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
+ void onbeforeeditfocus(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
+ VARIANT onbeforeeditfocus();
+
+ [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
+ long readyStateValue();
+
+ [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
+ IHTMLElementCollection *getElementsByTagName([in] BSTR v);
+
+ [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
+ void mergeAttributes(
+ [in] IHTMLElement *mergeThis,
+ [in, optional] VARIANT *pvarFlags);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
+ VARIANT_BOOL isMultiLine();
+
+ [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
+ VARIANT_BOOL canHaveHTML();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
+ void onlayoutcomplete(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
+ VARIANT onlayoutcomplete();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
+ void onpage(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
+ VARIANT onpage();
+
+ [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
+ void inflateBlock(VARIANT_BOOL v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
+ VARIANT_BOOL inflateBlock();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
+ void onbeforedeactivate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
+ VARIANT onbeforedeactivate();
+
+ [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
+ void setActive();
+
+ [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
+ void contentEditable(BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
+ BSTR contentEditable();
+
+ [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
+ VARIANT_BOOL isContentEditable();
+
+ [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
+ void hideFocus(VARIANT_BOOL v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
+ VARIANT_BOOL hideFocus();
+
+ [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
+ void disabled(VARIANT_BOOL v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
+ VARIANT_BOOL disabled();
+
+ [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
+ VARIANT_BOOL isDisabled();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
+ void onmove(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
+ VARIANT onmove();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
+ void oncontrolselect(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
+ VARIANT oncontrolselect();
+
+ [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
+ VARIANT_BOOL fireEvent(
+ [in] BSTR bstrEventName,
+ [in, optional] VARIANT *pvarEventObject);
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
+ void onresizestart(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
+ VARIANT onresizestart();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
+ void onresizeend(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
+ VARIANT onresizeend();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
+ void onmovestart(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
+ VARIANT onmovestart();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
+ void onmoveend(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
+ VARIANT onmoveend();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
+ void onmouseenter(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
+ VARIANT onmouseenter();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
+ void onmouseleave(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
+ VARIANT onmouseleave();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
+ void onactivate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
+ VARIANT onactivate();
+
+ [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
+ void ondeactivate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
+ VARIANT ondeactivate();
+
+ [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
+ VARIANT_BOOL dragDrop();
+
+ [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
+ LONG glyphMode();
+
+ [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
+ void onmousewheel(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
+ VARIANT onmousewheel();
+
+ [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
+ void normalize();
+
+ [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
+ IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
+
+ [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
+ IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
+
+ [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
+ IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
+
+ [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
+ void onbeforeactivate(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
+ VARIANT onbeforeactivate();
+
+ [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
+ void onfocusin(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
+ VARIANT onfocusin();
+
+ [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
+ void onfocusout(VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
+ VARIANT onfocusout();
+
+ [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
+ long uniqueNumber();
+
+ [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
+ BSTR uniqueID();
+
+ [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
+ long nodeType();
+
+ [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
+ IHTMLDOMNode *parentNode();
+
+ [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
+ VARIANT_BOOL hasChildNodes();
+
+ [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
+ IDispatch *childNodes();
+
+ [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
+ IDispatch *attributes();
+
+ [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
+ IHTMLDOMNode *insertBefore(
+ [in] IHTMLDOMNode *newChild,
+ [in, optional] VARIANT refChild);
+
+ [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
+ IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
+
+ [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
+ IHTMLDOMNode *replaceChild(
+ [in] IHTMLDOMNode *newChild,
+ [in] IHTMLDOMNode *oldChild);
+
+ [id(DISPID_IHTMLDOMNODE_CLONENODE)]
+ IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
+
+ [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
+ IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
+
+ [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
+ IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
+
+ [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
+ IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
+
+ [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
+ IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
+
+ [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
+ BSTR nodeName();
+
+ [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
+ void nodeValue(VARIANT v);
+
+ [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
+ VARIANT nodeValue();
+
+ [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
+ IHTMLDOMNode *firstChild();
+
+ [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
+ IHTMLDOMNode *lastChild();
+
+ [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
+ IHTMLDOMNode *previousSibling();
+
+ [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
+ IHTMLDOMNode *nextSibling();
+
+ [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
+ IDispatch *ownerDocument();
+
+ [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
+ void text(BSTR v);
+
+ [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
+ BSTR text();
+
+ [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
+ void atomic(long v);
+
+ [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
+ long atomic();
+
+ [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
+ void data(BSTR v);
+
+ [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
+ BSTR data();
+
+ [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
+ long length();
+
+ [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
+ BSTR substringData(
+ [in] long offset,
+ [in] long Count);
+
+ [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
+ void appendData([in] BSTR bstrstring);
+
+ [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
+ void insertData(
+ [in] long offset,
+ [in] BSTR bstrstring);
+
+ [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
+ void deleteData(
+ [in] long offset,
+ [in] long Count);
+
+ [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
+ void replaceData(
+ [in] long offset,
+ [in] long Count,
+ [in] BSTR bstrstring);
+}
+
/*****************************************************************************
* HTMLTableEvents dispinterface
*/