From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlstyle.c | 10 +++++++++- dlls/mshtml/tests/documentmode.js | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index af26fbf8426..f032eb5791f 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -9738,10 +9738,18 @@ static void MSStyleCSSProperties_init_dispex_info(dispex_data_t *info, compat_mo { static const dispex_hook_t style2_ie11_hooks[] = { {DISPID_IHTMLSTYLE2_BEHAVIOR}, + + /* IE9+ */ + {DISPID_IHTMLSTYLE2_SETEXPRESSION}, + {DISPID_IHTMLSTYLE2_GETEXPRESSION}, + {DISPID_IHTMLSTYLE2_REMOVEEXPRESSION}, {DISPID_UNKNOWN} }; + const dispex_hook_t *const style2_ie9_hooks = style2_ie11_hooks + 1; + MSCSSProperties_init_dispex_info(info, mode); - dispex_info_add_interface(info, IHTMLStyle2_tid, mode >= COMPAT_MODE_IE11 ? style2_ie11_hooks : NULL); + dispex_info_add_interface(info, IHTMLStyle2_tid, mode >= COMPAT_MODE_IE11 ? style2_ie11_hooks : + mode >= COMPAT_MODE_IE9 ? style2_ie9_hooks : NULL); }
static const dispex_static_data_vtbl_t MSStyleCSSProperties_dispex_vtbl = { diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index efc582a6d6d..479ad441713 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -854,6 +854,7 @@ sync_test("style_props", function() { var v = document.documentMode;
test_exposed("removeAttribute", true, v >= 9, false); + test_exposed("setExpression", v < 9, false, false); test_exposed("zIndex", true, true, true); test_exposed("z-index", true, true, true, true); test_exposed("filter", true, true, v >= 10); @@ -3950,7 +3951,7 @@ sync_test("prototype props", function() { "pixelBottom", "pixelHeight", "pixelLeft", "pixelRight", "pixelTop", "pixelWidth", "posBottom", "posHeight", "posLeft", "posRight", "posTop", "posWidth", "textDecorationBlink", "textDecorationLineThrough", "textDecorationNone", "textDecorationOverline", "textDecorationUnderline" - ], [ "getExpression", "removeExpression", "setExpression", "toString" ]); + ], [ "toString" ]); check(Node, [ "ATTRIBUTE_NODE", "CDATA_SECTION_NODE", "COMMENT_NODE", "DOCUMENT_FRAGMENT_NODE", "DOCUMENT_NODE", "DOCUMENT_POSITION_CONTAINED_BY", "DOCUMENT_POSITION_CONTAINS", "DOCUMENT_POSITION_DISCONNECTED",