diff --git a/include/mshtmdid.h b/include/mshtmdid.h index 01a2f5ab262..e16bf9e9ba3 100644 --- a/include/mshtmdid.h +++ b/include/mshtmdid.h @@ -119,6 +119,7 @@ #define DISPID_DOMRANGE DISPID_NORMAL_FIRST #define DISPID_MEDIA DISPID_NORMAL_FIRST #define DISPID_STYLEMEDIA DISPID_NORMAL_FIRST +#define DISPID_DOCUMENTTYPE DISPID_NORMAL_FIRST #define DISPID_DOMEVENT DISPID_NORMAL_FIRST #define DISPID_DOMUIEVENT (DISPID_DOMEVENT+25) @@ -3203,9 +3204,23 @@ #define DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION DISPID_A_DEFAULTTEXTSELECTION #define DISPID_IHTMLRENDERSTYLE_TEXTDECORATION DISPID_A_STYLETEXTDECORATION +/* IDOMDocumentType */ +#define DISPID_IDOMDOCUMENTTYPE_NAME DISPID_DOCUMENTTYPE +#define DISPID_IDOMDOCUMENTTYPE_ENTITIES DISPID_DOCUMENTTYPE+1 +#define DISPID_IDOMDOCUMENTTYPE_NOTATIONS DISPID_DOCUMENTTYPE+2 +#define DISPID_IDOMDOCUMENTTYPE_PUBLICID DISPID_DOCUMENTTYPE+3 +#define DISPID_IDOMDOCUMENTTYPE_SYSTEMID DISPID_DOCUMENTTYPE+4 +#define DISPID_IDOMDOCUMENTTYPE_INTERNALSUBSET DISPID_DOCUMENTTYPE+5 + /* IHTMLDOMImplementation */ #define DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE DISPID_DOMIMPLEMENTATION +/* IHTMLDOMImplementation2 */ +#define DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENTTYPE DISPID_DOMIMPLEMENTATION+1 +#define DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENT DISPID_DOMIMPLEMENTATION+2 +#define DISPID_IHTMLDOMIMPLEMENTATION2_CREATEHTMLDOCUMENT DISPID_DOMIMPLEMENTATION+3 +#define DISPID_IHTMLDOMIMPLEMENTATION2_IE9_HASFEATURE DISPID_DOMIMPLEMENTATION+4 + /* IHTMLDOMAttribute */ #define DISPID_IHTMLDOMATTRIBUTE_NODENAME DISPID_DOMATTRIBUTE #define DISPID_IHTMLDOMATTRIBUTE_NODEVALUE DISPID_DOMATTRIBUTE+2 diff --git a/include/mshtml.idl b/include/mshtml.idl index b92955c6cc9..cb80073f8e3 100644 --- a/include/mshtml.idl +++ b/include/mshtml.idl @@ -246,6 +246,7 @@ interface IHTMLDOMConstructor : IDispatch IDispatch *constructor() interface IHTMLDocument2; +interface IHTMLDocument7; interface IHTMLElement2; interface IHTMLStyleSheetsCollection; interface IHTMLFrameBase; @@ -5987,6 +5988,36 @@ coclass HTMLDOMTextNode interface IHTMLDOMNode2; } +/***************************************************************************** + * IDOMDocumentType interface + */ +[ + odl, + oleautomation, + dual, + uuid(30510738-98b5-11cf-bb82-00aa00bdce0b) + ] +interface IDOMDocumentType : IDispatch +{ + [propget, id(DISPID_IDOMDOCUMENTTYPE_NAME)] + HRESULT name([out, retval] BSTR *p); + + [propget, id(DISPID_IDOMDOCUMENTTYPE_ENTITIES)] + HRESULT entities([out, retval] IDispatch **p); + + [propget, id(DISPID_IDOMDOCUMENTTYPE_NOTATIONS)] + HRESULT notations([out, retval] IDispatch **p); + + [propget, id(DISPID_IDOMDOCUMENTTYPE_PUBLICID)] + HRESULT publicId([out, retval] VARIANT *p); + + [propget, id(DISPID_IDOMDOCUMENTTYPE_SYSTEMID)] + HRESULT systemId([out, retval] VARIANT *p); + + [propget, id(DISPID_IDOMDOCUMENTTYPE_INTERNALSUBSET)] + HRESULT internalSubset([out, retval] VARIANT *p); +} + /***************************************************************************** * IHTMLDOMImplementation interface */ @@ -6005,6 +6036,83 @@ interface IHTMLDOMImplementation : IDispatch [retval, out] VARIANT_BOOL *pfHasFeature); } +/***************************************************************************** + * IHTMLDOMImplementation2 interface + */ +[ + odl, + oleautomation, + dual, + uuid(3051073c-98b5-11cf-bb82-00aa00bdce0b) + ] +interface IHTMLDOMImplementation2 : IDispatch +{ + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENTTYPE)] + HRESULT createDocumentType( + [in] BSTR bstrQualifiedName, + [in] VARIANT *pvarPublicId, + [in] VARIANT *pvarSystemId, + [out, retval] IDOMDocumentType **newDocumentType); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENT)] + HRESULT createDocument( + [in] VARIANT *pvarNS, + [in] VARIANT *pvarTagName, + [in] IDOMDocumentType *pDocumentType, + [out, retval] IHTMLDocument7 **ppnewDocument); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEHTMLDOCUMENT)] + HRESULT createHTMLDocument( + [in] BSTR bstrTitle, + [out, retval] IHTMLDocument7 **ppnewDocument); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_IE9_HASFEATURE)] + HRESULT hasFeature( + [in] BSTR bstrfeature, + [in, optional] VARIANT version, + [out, retval] VARIANT_BOOL *pfHasFeature); +} + +/***************************************************************************** + * DispHTMLDOMImplementation dispinterface + */ +[ + hidden, + uuid(3050f58f-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface DispHTMLDOMImplementation +{ +properties: +methods: + [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)] + VARIANT_BOOL hasFeature( + [in] BSTR bstrfeature, + [in, optional] VARIANT version); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENTTYPE)] + IDOMDocumentType *createDocumentType( + [in] BSTR bstrQualifiedName, + [in] VARIANT *pvarPublicId, + [in] VARIANT *pvarSystemId); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENT)] + IHTMLDocument7 *createDocument( + [in] VARIANT *pvarNS, + [in] VARIANT *pvarTagName, + [in] IDOMDocumentType *pDocumentType); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEHTMLDOCUMENT)] + IHTMLDocument7 *createHTMLDocument([in] BSTR bstrTitle); + + [id(DISPID_IHTMLDOMIMPLEMENTATION2_IE9_HASFEATURE)] + VARIANT_BOOL ie9_hasFeature( + [in] BSTR bstrfeature, + [in, optional] VARIANT version); + + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + IDispatch *constructor(); +} + /***************************************************************************** * DispHTMLDOMAttribute dispinterface */