From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlstylesheet.c | 23 ++++++++++++++++++++++- dlls/mshtml/tests/documentmode.js | 5 +++++ 2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index 277b2ea04d1..4b9cc3f56a6 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -24,6 +24,7 @@ #include "winbase.h" #include "winuser.h" #include "ole2.h" +#include "mshtmdid.h"
#include "wine/debug.h"
@@ -1199,6 +1200,25 @@ static void HTMLStyleSheet_destructor(DispatchEx *dispex) free(This); }
+static void StyleSheet_init_dispex_info(dispex_data_t *info, compat_mode_t mode) +{ + static const DISPID stylesheet_dispids[] = { + DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET, + DISPID_IHTMLSTYLESHEET_DISABLED, + DISPID_UNKNOWN + }; + static const DISPID stylesheet4_dispids[] = { + DISPID_IHTMLSTYLESHEET4_IE9_TYPE, + DISPID_IHTMLSTYLESHEET4_IE9_HREF, + DISPID_IHTMLSTYLESHEET4_IE9_TITLE, + DISPID_IHTMLSTYLESHEET4_OWNERNODE, + DISPID_IHTMLSTYLESHEET4_IE9_MEDIA, + DISPID_UNKNOWN + }; + dispex_info_add_dispids(info, IHTMLStyleSheet4_tid, stylesheet4_dispids); + dispex_info_add_dispids(info, IHTMLStyleSheet_tid, stylesheet_dispids); +} + static void HTMLStyleSheet_init_dispex_info(dispex_data_t *info, compat_mode_t mode) { if(mode >= COMPAT_MODE_IE9) @@ -1206,7 +1226,8 @@ static void HTMLStyleSheet_init_dispex_info(dispex_data_t *info, compat_mode_t m }
dispex_static_data_t StyleSheet_dispex = { - .id = PROT_StyleSheet, + .id = PROT_StyleSheet, + .init_info = StyleSheet_init_dispex_info, };
static const dispex_static_data_vtbl_t CSSStyleSheet_dispex_vtbl = { diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 9cbccc922d8..164f5e2bce4 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3816,6 +3816,10 @@ sync_test("prototype props", function() { ["borderImageSource",11], ["borderImageWidth",11], ["flex",11], ["flexBasis",11], ["flexDirection",11], ["flexFlow",11], ["flexGrow",11], ["flexShrink",11], ["flexWrap",11], ["justifyContent",11], ["msImeAlign",11], ["msTextCombineHorizontal",11], ["msTextSizeAdjust",11], ["order",11], ["touchAction",11] ]); + check(CSSStyleSheet, [ + "addImport", "addPageRule", "addRule", "cssRules", "cssText", "deleteRule", "href", "id", "imports", "insertRule", + "isAlternate", "isPrefAlternate", "ownerRule", "owningElement", "pages", "readOnly", "removeImport", "removeRule", "rules" + ], [ "addPageRule", "href", "isAlternate", "isPrefAlternate", "pages" ]); check(CSSStyleRule, [ "readOnly", "selectorText", "style" ]); check(CustomEvent, [ "detail", "initCustomEvent" ]); check(Document, [ @@ -3974,6 +3978,7 @@ sync_test("prototype props", function() { if(v >= 10) check(ProgressEvent, [ "initProgressEvent", "lengthComputable", "loaded", "total" ]); check(StorageEvent, [ "initStorageEvent", "key", "newValue", "oldValue", "storageArea", "url" ]); + check(StyleSheet, [ "disabled", "href", "media", "ownerNode", "parentStyleSheet", "title", "type" ]); check(Text, [ "removeNode", "replaceNode", "replaceWholeText", "splitText", "swapNode", "wholeText" ], [ "replaceWholeText", "wholeText" ]); check(UIEvent, [ "detail", "initUIEvent", "view" ], null, [ "deviceSessionId" ]); });