[PSDK]
[reactos.git] / include / psdk / mshtml.idl
index 4a182f2..1a1d6dd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004-2007 Jacek Caban for CodeWeavers
+ * Copyright 2004-2010 Jacek Caban for CodeWeavers
  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
  *
  * This library is free software; you can redistribute it and/or
 #include <mshtmcid.h>
 #include <olectl.h>
 
+#if defined(_MSC_VER) && (__midl >= 501)
+midl_pragma warning(disable: 2362)
+#endif
+
 import "ocidl.idl";
 import "dimm.idl";
 import "shtypes.idl";
@@ -2876,7 +2880,7 @@ interface IHTMLCurrentStyle4 : IDispatch
 
     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
     HRESULT maxWidth([retval, out] VARIANT * p);
-};
+}
 
 /*****************************************************************************
  *    DispHTMLCurrentStyle dispinterface
@@ -5903,7 +5907,7 @@ coclass HTMLStyleSheetPage
     [default]           dispinterface DispHTMLStyleSheetPage;
                         interface IHTMLStyleSheetPage;
                         interface IHTMLDOMConstructor;
-};
+}
 
 [
     odl,
@@ -6702,7 +6706,7 @@ methods:
 
     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
     VARIANT_BOOL onreset();
-};
+}
 
 interface IHTMLEventObj;
 
@@ -6905,11 +6909,11 @@ methods:
 
     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
-};
+}
 
 [
     noncreatable,
-    uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
+    uuid(3050F251-98B5-11CF-BB82-00AA00BDCE0B)
 ]
 coclass HTMLFormElement
 {
@@ -7365,7 +7369,7 @@ interface IHTMLControlElement : IDispatch
 
     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
     HRESULT clientLeft([retval, out] LONG * p);
-};
+}
 
 /*****************************************************************************
  *    IHTMLBodyElement interface
@@ -7634,7 +7638,7 @@ methods:
 
     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
     VARIANT onafterprint();
-};
+}
 
 [
     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
@@ -7655,7 +7659,7 @@ coclass HTMLBody
                         interface IHTMLTextContainer;
                         interface IHTMLBodyElement;
                         interface IHTMLBodyElement2;
-};
+}
 
 /*****************************************************************************
  *    IHTMLAnchorElement interface
@@ -8970,6 +8974,92 @@ interface IHTMLTextAreaElement : IDispatch
     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
 }
 
+/*****************************************************************************
+ *    DispHTMLTextAreaElement dispinterface
+ */
+[
+    hidden,
+    uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
+]
+dispinterface DispHTMLTextAreaElement
+{
+properties:
+methods:
+    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
+    BSTR type();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
+    void value(BSTR v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
+    BSTR value();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
+    void name(BSTR v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
+    BSTR name();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
+    void status(VARIANT v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
+    VARIANT status();
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
+    IHTMLFormElement *form();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
+    void defaultValue(BSTR v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
+    BSTR defaultValue();
+
+    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
+    void select();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
+    void onchange(VARIANT v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
+    VARIANT onchange();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
+    void onselect(VARIANT v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
+    VARIANT onselect();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
+    void readOnly(VARIANT_BOOL v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
+    VARIANT_BOOL readOnly();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
+    void rows(LONG v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
+    LONG rows();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
+    void cols(LONG v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
+    LONG cols();
+
+    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
+    void wrap(BSTR v);
+
+    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
+    BSTR wrap();
+
+    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
+    IHTMLTxtRange *createTextRange();
+}
+
 /*****************************************************************************
  *    DispHTMLUnknownElement interface
  */
@@ -10245,7 +10335,7 @@ interface IHTMLWindow4 : IDispatch
 
     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
-};
+}
 
 /*****************************************************************************
  *    IHTMLWindow5 interface
@@ -10263,7 +10353,7 @@ interface IHTMLWindow5 : IDispatch
 
     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
-};
+}
 
 /*****************************************************************************
  *    DispHTMLScreen dispinterface
@@ -10902,7 +10992,7 @@ methods:
 
     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
     VARIANT XMLHttpRequest();
-};
+}
 
 /*****************************************************************************
  *    HTMLWindowEvents interface
@@ -10949,7 +11039,7 @@ methods:
 
     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
     void onafterprint();
-};
+}
 
 /*****************************************************************************
  *    HTMLWindowEvents2 interface
@@ -10996,7 +11086,7 @@ methods:
 
     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
     void onafterprint([in] IHTMLEventObj* pEvtObj);
-};
+}
 
 /*****************************************************************************
  *    HTMLWindowProxy class
@@ -11013,7 +11103,7 @@ coclass HTMLWindowProxy
                         interface IHTMLWindow3;
                         interface IHTMLWindow4;
                         interface IHTMLWindow5;
-};
+}
 
 /*****************************************************************************
  *    HTMLDocumentEvents2 interface
@@ -11473,7 +11563,7 @@ methods:
 
     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
     void onselect();
-};
+}
 
 /*****************************************************************************
  *    HTMLTextContainerEvents2 interface
@@ -11677,7 +11767,7 @@ methods:
 
     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
     void onselect([in] IHTMLEventObj* pEvtObj);
-};
+}
 
 /*****************************************************************************
  *    IHTMLDocument interface
@@ -12367,13 +12457,13 @@ interface IHTMLDocument6 : IDispatch
     HRESULT onstorage([in] VARIANT v);
 
     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
-    HRESULT onstorage([out] VARIANT *p);
+    HRESULT onstorage([retval, out] VARIANT *p);
 
     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
     HRESULT onstoragecommit([in] VARIANT v);
 
     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
-    HRESULT onstoragecommit([out] VARIANT *p);
+    HRESULT onstoragecommit([retval, out] VARIANT *p);
 
     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
     HRESULT getElementById(
@@ -13329,7 +13419,8 @@ methods:
 
     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
-};
+}
+
 [
     hidden,
     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
@@ -13526,8 +13617,7 @@ methods:
 
     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
     void onfocusout();
-
-};
+}
 
 [
     noncreatable,
@@ -13943,7 +14033,7 @@ methods:
 
     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
-};
+}
 
 /*****************************************************************************
  *    IHTMLTableCaption interface
@@ -14153,7 +14243,7 @@ interface IHTMLTable2 : IDispatch
     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
         [defaultvalue(-1), in] LONG indexTo,
         [retval, out] IDispatch** row);
-};
+}
 
 [
     odl,
@@ -14168,7 +14258,7 @@ interface IHTMLTable3 : IDispatch
 
     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
     HRESULT summary([retval, out] BSTR * p);
-};
+}
 
 [
     noncreatable,
@@ -14191,7 +14281,7 @@ coclass HTMLTable
                         interface IHTMLTable;
                         interface IHTMLTable2;
                         interface IHTMLTable3;
-};
+}
 
 [
     odl,
@@ -14626,6 +14716,74 @@ interface IHTMLScriptElement2 : IDispatch
     HRESULT charset([retval, out] BSTR *p);
 }
 
+/*****************************************************************************
+ *    DispHTMLScriptElement dispinterface
+ */
+[
+    hidden,
+    uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
+]
+dispinterface DispHTMLScriptElement
+{
+properties:
+methods:
+    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
+    void src(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
+    BSTR src();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
+    void htmlFor(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
+    BSTR htmlFor();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
+    void event(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
+    BSTR event();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
+    void text(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
+    BSTR text();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
+    void defer(VARIANT_BOOL v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
+    VARIANT_BOOL defer();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
+    void onerror(VARIANT v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
+    VARIANT onerror();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
+    void type(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
+    BSTR type();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
+    void charset(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
+    BSTR charset();
+
+    [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
+    void ie8_src(BSTR v);
+
+    [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
+    BSTR ie8_src();
+}
+
 /*****************************************************************************
  *    IHTMLFrameBase interface
  */
@@ -14692,6 +14850,61 @@ interface IHTMLFrameBase : IDispatch
     HRESULT scrolling([out, retval] BSTR *p);
 }
 
+#define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
+    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
+    void src(BSTR v);                                   \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
+    BSTR src();                                         \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
+    void name(BSTR v);                                  \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
+    BSTR name();                                        \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
+    void border(VARIANT v);                             \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
+    VARIANT border();                                   \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
+    void frameBorder(BSTR v);                           \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
+    BSTR frameBorder();                                 \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
+    void frameSpacing(VARIANT v);                       \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
+    VARIANT frameSpacing();                             \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
+    void marginWidth(VARIANT v);                        \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
+    VARIANT marginWidth();                              \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
+    void marginHeight(VARIANT v);                       \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
+    VARIANT marginHeight();                             \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
+    void noResize(VARIANT_BOOL v);                      \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
+    VARIANT_BOOL noResize();                            \
+                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
+    void scrolling(BSTR v);                             \
+                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
+    BSTR scrolling()
+
 /*****************************************************************************
  *    IHTMLFrameBase2 interface
  */
@@ -14728,93 +14941,164 @@ interface IHTMLFrameBase2 : IDispatch
     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
 }
 
+#define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
+    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
+    IHTMLWindow2 *contentWindow();                                      \
+                                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
+    void onload(VARIANT v);                                             \
+                                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
+    VARIANT onload();                                                   \
+                                                                        \
+    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
+    void allowTransparency(VARIANT_BOOL v);                             \
+                                                                        \
+    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
+    VARIANT_BOOL allowTransparency()
+
+#define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
+    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
+    void longDesc(BSTR v);                                                \
+                                                                          \
+    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
+    BSTR longDesc()
+
+
+#define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
+    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
+    WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
+    WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
+    WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
+
 /*****************************************************************************
- *    DispHTMLIFrame dispinterface
+ *    IHTMLFrameElement3 interface
  */
 [
-    hidden,
-    uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
+    odl,
+    oleautomation,
+    dual,
+    uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
 ]
-dispinterface DispHTMLIFrame
+interface IHTMLFrameElement3 : IDispatch
 {
-properties:
-methods:
-    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
+    HRESULT contentDocument([out, retval] IDispatch **p);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
-    void src(BSTR v);
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
+    HRESULT src([in] BSTR v);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
-    BSTR src();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
+    HRESULT src([out, retval] BSTR *p);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
-    void name(BSTR v);
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
+    HRESULT longDesc([in] BSTR v);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
-    BSTR name();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
+    HRESULT longDesc([out, retval] BSTR *p);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
-    void border(VARIANT v);
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
+    HRESULT frameBorder([in] BSTR v);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
-    VARIANT border();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
+    HRESULT frameBorder([out, retval] BSTR * p);
+}
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
-    void frameBorder(BSTR v);
+/*****************************************************************************
+ *    DispHTMLFrameElement dispinterface
+ */
+[
+    hidden,
+    uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
+]
+dispinterface DispHTMLFrameElement
+{
+properties:
+methods:
+    WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
-    BSTR frameBorder();
+    [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
+    void borderColor(VARIANT v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
-    void frameSpacing(VARIANT v);
+    [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
+    VARIANT borderColor();
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
-    VARIANT frameSpacing();
+    [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
+    void height(VARIANT v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
-    void marginWidth(VARIANT v);
+    [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
+    VARIANT height();
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
-    VARIANT marginWidth();
+    [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
+    void width(VARIANT v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
-    void marginHeight(VARIANT v);
+    [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
+    VARIANT width();
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
-    VARIANT marginHeight();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
+    IDispatch *contentDocument();
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
-    void noResize(VARIANT_BOOL v);
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
+    void ie8_src(BSTR v);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
-    VARIANT_BOOL noResize();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
+    BSTR ie8_src();
 
-    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
-    void scrolling(BSTR v);
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
+    void ie8_longDesc(BSTR v);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
-    BSTR scrolling();
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
+    BSTR ie8_longDesc();
 
-    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
-    IHTMLWindow2 *contentWindow();
+    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
+    void ie8_frameBorder(BSTR v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
-    void onload(VARIANT v);
+    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
+    BSTR ie8_frameBorder();
+}
 
-    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
-    VARIANT onload();
+/*****************************************************************************
+ *    IHTMLIFrameElement interface
+ */
+[
+    odl,
+    oleautomation,
+    dual,
+    uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLIFrameElement : IDispatch
+{
+    [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
+    HRESULT vspace([in] LONG v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
-    void allowTransparency(VARIANT_BOOL v);
+    [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
+    HRESULT vspace([retval, out] LONG *p);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
-    VARIANT_BOOL allowTransparency();
+    [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
+    HRESULT hspace([in] LONG v);
 
-    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
-    void longDesc(BSTR v);
+    [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
+    HRESULT hspace([retval, out] LONG *p);
 
-    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
-    BSTR longDesc();
+    [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
+    HRESULT align([in] BSTR v);
+
+    [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
+    HRESULT align([retval, out] BSTR *p);
+}
+
+/*****************************************************************************
+ *    DispHTMLIFrame dispinterface
+ */
+[
+    hidden,
+    uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
+]
+dispinterface DispHTMLIFrame
+{
+properties:
+methods:
+    WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
     void vspace(LONG v);
@@ -15127,3 +15411,23 @@ interface IElementBehaviorFactory : IUnknown
 }
 
 } /* library MSHTML */
+
+interface IOleCommandTarget;
+
+/*****************************************************************************
+ *    IHTMLPrivateWindow interface
+ */
+[
+    object,
+    uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
+    local
+]
+interface IHTMLPrivateWindow : IUnknown
+{
+    HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
+    HRESULT GetPendingUrl(BSTR *url);
+    HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
+    HRESULT PICSComplete(int arg);
+    HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
+    HRESULT GetAddressBarUrl(BSTR *url);
+}