Jacek Caban : mshtml: Introduce ES6 JavaScript mode and use it in IE11 compat mode.
Alexandre Julliard
julliard at winehq.org
Thu Apr 22 15:55:24 CDT 2021
Module: wine
Branch: master
Commit: 6e292a745f8b7305e0c747bb2a6c718aada47c7e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6e292a745f8b7305e0c747bb2a6c718aada47c7e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Apr 22 01:46:51 2021 +0200
mshtml: Introduce ES6 JavaScript mode and use it in IE11 compat mode.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/jscript/jscript.h | 3 ++-
dlls/mshtml/script.c | 5 ++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/jscript.h b/dlls/jscript/jscript.h
index 02420349d8d..94f8440362e 100644
--- a/dlls/jscript/jscript.h
+++ b/dlls/jscript/jscript.h
@@ -42,9 +42,10 @@
#define SCRIPTLANGUAGEVERSION_HTML 0x400
/*
- * This is Wine jscript extension for ES5 compatible mode. Allowed only in HTML mode.
+ * This is Wine jscript extension for ES5 and ES6 compatible mode. Allowed only in HTML mode.
*/
#define SCRIPTLANGUAGEVERSION_ES5 0x102
+#define SCRIPTLANGUAGEVERSION_ES6 0x103
typedef struct _jsval_t jsval_t;
typedef struct _jsstr_t jsstr_t;
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index ec739c4777f..8f7f502e121 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -66,6 +66,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
/* See jscript.h in jscript.dll. */
#define SCRIPTLANGUAGEVERSION_HTML 0x400
#define SCRIPTLANGUAGEVERSION_ES5 0x102
+#define SCRIPTLANGUAGEVERSION_ES6 0x103
struct ScriptHost {
IActiveScriptSite IActiveScriptSite_iface;
@@ -154,7 +155,9 @@ static BOOL init_script_engine(ScriptHost *script_host)
compat_mode = lock_document_mode(script_host->window->doc);
script_mode = compat_mode < COMPAT_MODE_IE8 ? SCRIPTLANGUAGEVERSION_5_7 : SCRIPTLANGUAGEVERSION_5_8;
if(IsEqualGUID(&script_host->guid, &CLSID_JScript)) {
- if(compat_mode >= COMPAT_MODE_IE9)
+ if(compat_mode >= COMPAT_MODE_IE11)
+ script_mode = SCRIPTLANGUAGEVERSION_ES6;
+ else if(compat_mode >= COMPAT_MODE_IE9)
script_mode = SCRIPTLANGUAGEVERSION_ES5;
script_mode |= SCRIPTLANGUAGEVERSION_HTML;
}
More information about the wine-cvs
mailing list