mshtml.idl: Moved IHTMLDOMConstructor dispinterface declaration to macro and add it to all element types.
diff --git a/include/mshtml.idl b/include/mshtml.idl
index cfe6516..6b694e1 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -112,6 +112,10 @@
     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
 }
 
+#define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
+    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
+    IDispatch *constructor()
+
 interface IHTMLDocument2;
 interface IHTMLStyleSheetsCollection;
 interface IHTMLFrameBase;
@@ -5659,7 +5663,8 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
-    WINE_IHTMLELEMENT5_DISPINTERFACE_DECL
+    WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
 
 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
@@ -5670,7 +5675,8 @@
     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
-    WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL
+    WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
 
 /*****************************************************************************
  *    IHTMLGenericElement interface
@@ -5759,8 +5765,7 @@
     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
     VARIANT_BOOL readOnly();
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch* constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 
 [
@@ -5808,8 +5813,7 @@
     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
     IHTMLStyleSheetRule* item([in] long index);
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch* constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 
 [
@@ -5852,8 +5856,7 @@
     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
     BSTR pseudoClass();
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch* constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 [
     noncreatable,
@@ -5897,8 +5900,7 @@
     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
     IHTMLStyleSheetPage* item([in] long index);
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch* constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 
 [
@@ -7260,9 +7262,6 @@
 methods:
     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch *constructor();
-
     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
     void href(BSTR v);
 
@@ -8741,8 +8740,7 @@
     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
     IHTMLOpsProfile *userProfile();
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch *constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 
 [
@@ -8898,8 +8896,7 @@
     [id(DISPID_IHTMLLOCATION_TOSTRING)]
     BSTR toString();
 
-    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
-    IDispatch *constructor();
+    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
 }
 
 [