Commit 337c0663 authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

mshtml: Add support for IHTMLStyle3 interface.

parent 8716c62c
...@@ -35,6 +35,7 @@ C_SRCS = \ ...@@ -35,6 +35,7 @@ C_SRCS = \
htmlselect.c \ htmlselect.c \
htmlstyle.c \ htmlstyle.c \
htmlstyle2.c \ htmlstyle2.c \
htmlstyle3.c \
htmlstylesheet.c \ htmlstylesheet.c \
htmltable.c \ htmltable.c \
htmltablerow.c \ htmltablerow.c \
......
...@@ -468,6 +468,9 @@ static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, v ...@@ -468,6 +468,9 @@ static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, v
}else if(IsEqualGUID(&IID_IHTMLStyle2, riid)) { }else if(IsEqualGUID(&IID_IHTMLStyle2, riid)) {
TRACE("(%p)->(IID_IHTMLStyle2 %p)\n", This, ppv); TRACE("(%p)->(IID_IHTMLStyle2 %p)\n", This, ppv);
*ppv = HTMLSTYLE2(This); *ppv = HTMLSTYLE2(This);
}else if(IsEqualGUID(&IID_IHTMLStyle3, riid)) {
TRACE("(%p)->(IID_IHTMLStyle3 %p)\n", This, ppv);
*ppv = HTMLSTYLE3(This);
}else if(dispex_query_interface(&This->dispex, riid, ppv)) { }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
return *ppv ? S_OK : E_NOINTERFACE; return *ppv ? S_OK : E_NOINTERFACE;
} }
...@@ -2425,6 +2428,7 @@ IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration *nsstyle) ...@@ -2425,6 +2428,7 @@ IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration *nsstyle)
ret->ref = 1; ret->ref = 1;
ret->nsstyle = nsstyle; ret->nsstyle = nsstyle;
HTMLStyle2_Init(ret); HTMLStyle2_Init(ret);
HTMLStyle3_Init(ret);
nsIDOMCSSStyleDeclaration_AddRef(nsstyle); nsIDOMCSSStyleDeclaration_AddRef(nsstyle);
......
...@@ -20,6 +20,7 @@ struct HTMLStyle { ...@@ -20,6 +20,7 @@ struct HTMLStyle {
DispatchEx dispex; DispatchEx dispex;
const IHTMLStyleVtbl *lpHTMLStyleVtbl; const IHTMLStyleVtbl *lpHTMLStyleVtbl;
const IHTMLStyle2Vtbl *lpHTMLStyle2Vtbl; const IHTMLStyle2Vtbl *lpHTMLStyle2Vtbl;
const IHTMLStyle3Vtbl *lpHTMLStyle3Vtbl;
LONG ref; LONG ref;
...@@ -28,6 +29,7 @@ struct HTMLStyle { ...@@ -28,6 +29,7 @@ struct HTMLStyle {
#define HTMLSTYLE(x) ((IHTMLStyle*) &(x)->lpHTMLStyleVtbl) #define HTMLSTYLE(x) ((IHTMLStyle*) &(x)->lpHTMLStyleVtbl)
#define HTMLSTYLE2(x) ((IHTMLStyle2*) &(x)->lpHTMLStyle2Vtbl) #define HTMLSTYLE2(x) ((IHTMLStyle2*) &(x)->lpHTMLStyle2Vtbl)
#define HTMLSTYLE3(x) ((IHTMLStyle3*) &(x)->lpHTMLStyle3Vtbl)
/* NOTE: Make sure to keep in sync with style_tbl in htmlstyle.c */ /* NOTE: Make sure to keep in sync with style_tbl in htmlstyle.c */
typedef enum { typedef enum {
...@@ -68,6 +70,7 @@ typedef enum { ...@@ -68,6 +70,7 @@ typedef enum {
} styleid_t; } styleid_t;
void HTMLStyle2_Init(HTMLStyle*); void HTMLStyle2_Init(HTMLStyle*);
void HTMLStyle3_Init(HTMLStyle*);
HRESULT get_nsstyle_attr(nsIDOMCSSStyleDeclaration*,styleid_t,BSTR*); HRESULT get_nsstyle_attr(nsIDOMCSSStyleDeclaration*,styleid_t,BSTR*);
HRESULT set_nsstyle_attr(nsIDOMCSSStyleDeclaration*,styleid_t,LPCWSTR,DWORD); HRESULT set_nsstyle_attr(nsIDOMCSSStyleDeclaration*,styleid_t,LPCWSTR,DWORD);
...@@ -307,6 +307,7 @@ static const IID * const style_iids[] = { ...@@ -307,6 +307,7 @@ static const IID * const style_iids[] = {
&IID_IDispatchEx, &IID_IDispatchEx,
&IID_IHTMLStyle, &IID_IHTMLStyle,
&IID_IHTMLStyle2, &IID_IHTMLStyle2,
&IID_IHTMLStyle3,
NULL NULL
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment