Module: wine Branch: master Commit: ccb23e8897f56f6cc38d7541fcf474bf9963fd86 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ccb23e8897f56f6cc38d7541fc...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Wed Aug 5 19:44:25 2009 +1000
mshtml: Add missing interfaces.
---
dlls/mshtml/htmloption.c | 4 +- dlls/mshtml/htmlstylesheet.c | 4 +- include/mshtml.idl | 177 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 181 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c index ae36a99..49d8deb 100644 --- a/dlls/mshtml/htmloption.c +++ b/dlls/mshtml/htmloption.c @@ -31,13 +31,13 @@
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
-typedef struct { +struct HTMLOptionElement { HTMLElement element;
const IHTMLOptionElementVtbl *lpHTMLOptionElementVtbl;
nsIDOMHTMLOptionElement *nsoption; -} HTMLOptionElement; +};
#define HTMLOPTION(x) (&(x)->lpHTMLOptionElementVtbl)
diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index dca4214..e39bfb7 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -48,13 +48,13 @@ struct HTMLStyleSheetsCollection { nsIDOMStyleSheetList *nslist; };
-typedef struct { +struct HTMLStyleSheetRulesCollection { const IHTMLStyleSheetRulesCollectionVtbl *lpHTMLStyleSheetRulesCollectionVtbl;
LONG ref;
nsIDOMCSSRuleList *nslist; -} HTMLStyleSheetRulesCollection; +};
#define HTMLSTYLESHEET(x) ((IHTMLStyleSheet*) &(x)->lpHTMLStyleSheetVtbl) #define HTMLSTYLESHEETSCOL(x) ((IHTMLStyleSheetsCollection*) &(x)->lpHTMLStyleSheetsCollectionVtbl) diff --git a/include/mshtml.idl b/include/mshtml.idl index e219005..740c6c5 100644 --- a/include/mshtml.idl +++ b/include/mshtml.idl @@ -92,6 +92,26 @@ typedef enum _SELECTION_TYPE { SELECTION_TYPE_Max = 2147483647 } SELECTION_TYPE;
+[ + odl, + oleautomation, + dual, + uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b) +] +interface IHTMLDOMConstructor : IDispatch +{ + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + HRESULT constructor([retval, out] IDispatch* * p); + + HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler); + + HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler); + + HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler); + + HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler); +} + interface IHTMLDocument2; interface IHTMLStyleSheetsCollection; interface IHTMLFrameBase; @@ -5377,6 +5397,41 @@ interface IHTMLStyleSheetRule : IDispatch HRESULT readOnly([retval, out] VARIANT_BOOL *p); }
+[ + hidden, + uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface DispHTMLStyleSheetRule +{ +properties: +methods: + [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] + void selectorText(BSTR v); + + [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] + BSTR selectorText(); + + [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable] + IHTMLRuleStyle* style(); + + [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)] + VARIANT_BOOL readOnly(); + + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + IDispatch* constructor(); +} + +[ + noncreatable, + uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLStyleSheetRule +{ + [default] dispinterface DispHTMLStyleSheetRule; + interface IHTMLStyleSheetRule; + interface IHTMLDOMConstructor; +} + /***************************************************************************** * IHTMLStyleSheetRulesCollection interface */ @@ -5398,6 +5453,35 @@ interface IHTMLStyleSheetRulesCollection : IDispatch }
[ + hidden, + uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface DispHTMLStyleSheetRulesCollection +{ +properties: +methods: + [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)] + long length(); + + [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)] + IHTMLStyleSheetRule* item([in] long index); + + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + IDispatch* constructor(); +} + +[ + noncreatable, + uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLStyleSheetRulesCollection +{ + [default] dispinterface DispHTMLStyleSheetRulesCollection; + interface IHTMLStyleSheetRulesCollection; + interface IHTMLDOMConstructor; +} + +[ odl, oleautomation, dual, @@ -5413,6 +5497,34 @@ interface IHTMLStyleSheetPage : IDispatch }
[ + hidden, + uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface DispHTMLStyleSheetPage +{ +properties: +methods: + [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)] + BSTR selector(); + + [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)] + BSTR pseudoClass(); + + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + IDispatch* constructor(); +} +[ + noncreatable, + uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLStyleSheetPage +{ + [default] dispinterface DispHTMLStyleSheetPage; + interface IHTMLStyleSheetPage; + interface IHTMLDOMConstructor; +}; + +[ odl, oleautomation, dual, @@ -5429,6 +5541,35 @@ interface IHTMLStyleSheetPagesCollection : IDispatch [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage); }
+[ + hidden, + uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b) +] +dispinterface DispHTMLStyleSheetPagesCollection +{ +properties: +methods: + [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)] + long length(); + + [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)] + IHTMLStyleSheetPage* item([in] long index); + + [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] + IDispatch* constructor(); +} + +[ + noncreatable, + uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLStyleSheetPagesCollection +{ + [default] dispinterface DispHTMLStyleSheetPagesCollection; + interface IHTMLStyleSheetPagesCollection; + interface IHTMLDOMConstructor; +} + /***************************************************************************** * IHTMLStyleSheet interface */ @@ -9616,6 +9757,21 @@ interface IHTMLOptionElement : IDispatch HRESULT form([retval, out] IHTMLFormElement **p); }
+[ + odl, + oleautomation, + dual, + uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b) +] +interface IHTMLOptionElement3 : IDispatch +{ + [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] + HRESULT label([in] BSTR v); + + [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] + HRESULT label([retval, out] BSTR * p); +} + /***************************************************************************** * IHTMLOptionElementFactory interface */ @@ -10527,6 +10683,27 @@ methods: BSTR label(); }
+[ + noncreatable, + uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b) +] +coclass HTMLOptionElement +{ + [default] dispinterface DispHTMLOptionElement; + [source, default] dispinterface HTMLElementEvents; + [source] dispinterface HTMLElementEvents2; + interface IHTMLElement; + interface IHTMLElement2; + interface IHTMLElement3; + interface IHTMLElement4; + interface IHTMLUniqueName; + interface IHTMLDOMNode; + interface IHTMLDOMNode2; + interface IHTMLDatabinding; + interface IHTMLOptionElement; + interface IHTMLOptionElement3; +} + /***************************************************************************** * IHTMLInputElement interface */