From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmldoc.c | 3 +-- dlls/mshtml/htmlstyleelem.c | 3 +-- dlls/mshtml/htmlstylesheet.c | 8 ++++---- dlls/mshtml/mshtml_private.h | 2 +- dlls/mshtml/tests/documentmode.js | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 537daeff6fa..31d879de837 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -2003,8 +2003,7 @@ static HRESULT WINAPI HTMLDocument_createStyleSheet(IHTMLDocument2 *iface, BSTR
if(bstrHref && *bstrHref) { FIXME("semi-stub for href %s\n", debugstr_w(bstrHref)); - return create_style_sheet(NULL, dispex_compat_mode(&This->node.event_target.dispex), - ppnewStyleSheet); + return create_style_sheet(NULL, &This->node.event_target.dispex, ppnewStyleSheet); }
hres = create_element(This, L"style", &elem); diff --git a/dlls/mshtml/htmlstyleelem.c b/dlls/mshtml/htmlstyleelem.c index af5831dd85a..3d23bff5da8 100644 --- a/dlls/mshtml/htmlstyleelem.c +++ b/dlls/mshtml/htmlstyleelem.c @@ -150,8 +150,7 @@ static HRESULT WINAPI HTMLStyleElement_get_styleSheet(IHTMLStyleElement *iface, assert(nsres == NS_OK);
if(ss) { - HRESULT hres = create_style_sheet(ss, dispex_compat_mode(&This->element.node.event_target.dispex), - &This->style_sheet); + HRESULT hres = create_style_sheet(ss, &This->element.node.event_target.dispex, &This->style_sheet); nsIDOMStyleSheet_Release(ss); if(FAILED(hres)) return hres; diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index 9965b55dc79..cf35d97f0ac 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -601,7 +601,7 @@ static HRESULT WINAPI HTMLStyleSheetsCollection_item(IHTMLStyleSheetsCollection return E_INVALIDARG; }
- hres = create_style_sheet(nsstylesheet, dispex_compat_mode(&This->dispex), &stylesheet); + hres = create_style_sheet(nsstylesheet, &This->dispex, &stylesheet); nsIDOMStyleSheet_Release(nsstylesheet); if(FAILED(hres)) return hres; @@ -712,7 +712,7 @@ static HRESULT HTMLStyleSheetsCollection_invoke(DispatchEx *dispex, DISPID id, L return S_OK; }
- hres = create_style_sheet(nsstylesheet, dispex_compat_mode(&This->dispex), &stylesheet); + hres = create_style_sheet(nsstylesheet, &This->dispex, &stylesheet); nsIDOMStyleSheet_Release(nsstylesheet); if(FAILED(hres)) return hres; @@ -1234,7 +1234,7 @@ static dispex_static_data_t HTMLStyleSheet_dispex = { HTMLStyleSheet_init_dispex_info };
-HRESULT create_style_sheet(nsIDOMStyleSheet *nsstylesheet, compat_mode_t compat_mode, IHTMLStyleSheet **ret) +HRESULT create_style_sheet(nsIDOMStyleSheet *nsstylesheet, DispatchEx *owner, IHTMLStyleSheet **ret) { HTMLStyleSheet *style_sheet; nsresult nsres; @@ -1246,7 +1246,7 @@ HRESULT create_style_sheet(nsIDOMStyleSheet *nsstylesheet, compat_mode_t compat_ style_sheet->IHTMLStyleSheet4_iface.lpVtbl = &HTMLStyleSheet4Vtbl; style_sheet->nsstylesheet = NULL;
- init_dispatch(&style_sheet->dispex, &HTMLStyleSheet_dispex, NULL, compat_mode); + init_dispatch_with_owner(&style_sheet->dispex, &HTMLStyleSheet_dispex, owner);
if(nsstylesheet) { nsres = nsIDOMStyleSheet_QueryInterface(nsstylesheet, &IID_nsIDOMCSSStyleSheet, diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 96d7d590d36..b130575418f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -1175,7 +1175,7 @@ HRESULT get_readystate_string(READYSTATE,BSTR*);
HRESULT HTMLSelectionObject_Create(HTMLDocumentNode*,nsISelection*,IHTMLSelectionObject**); HRESULT HTMLTxtRange_Create(HTMLDocumentNode*,nsIDOMRange*,IHTMLTxtRange**); -HRESULT create_style_sheet(nsIDOMStyleSheet*,compat_mode_t,IHTMLStyleSheet**); +HRESULT create_style_sheet(nsIDOMStyleSheet*,DispatchEx*,IHTMLStyleSheet**); HRESULT create_style_sheet_collection(nsIDOMStyleSheetList*,HTMLDocumentNode*, IHTMLStyleSheetsCollection**); HRESULT create_dom_range(nsIDOMRange*,HTMLDocumentNode*,IHTMLDOMRange**); diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 56e6239f3f3..a52df385523 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -311,7 +311,7 @@ sync_test("builtin_toString", function() { test("screen", window.screen, "Screen"); test("sessionStorage", window.sessionStorage, "Storage"); test("style", document.body.style, "MSStyleCSSProperties", null, true); - test("styleSheet", sheet, "CSSStyleSheet", null, true); + test("styleSheet", sheet, "CSSStyleSheet"); test("styleSheetRule", sheet.rules[0], "CSSStyleRule", null, true); test("styleSheetRules", sheet.rules, "MSCSSRuleList", null, true); test("styleSheets", document.styleSheets, "StyleSheetList");