Jacek Caban : mshtml: Use script versioning 2 if we're not in quirks mode.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jan 29 09:10:09 CST 2016
Module: wine
Branch: master
Commit: 80ea5a01ef42b0e9e0b6c872f8f5bbbf393c0ae7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=80ea5a01ef42b0e9e0b6c872f8f5bbbf393c0ae7
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jan 29 14:48:06 2016 +0100
mshtml: Use script versioning 2 if we're not in quirks mode.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/script.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index 2a47f8a..01e5d5b 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -110,6 +110,26 @@ static void set_script_prop(ScriptHost *script_host, DWORD property, VARIANT *va
WARN("SetProperty(%x) failed: %08x\n", property, hres);
}
+static BOOL is_quirks_mode(HTMLDocumentNode *doc)
+{
+ const WCHAR *compat_mode;
+ nsAString nsstr;
+ nsresult nsres;
+ BOOL ret = FALSE;
+
+ static const WCHAR BackCompatW[] = {'B','a','c','k','C','o','m','p','a','t',0};
+
+ nsAString_Init(&nsstr, NULL);
+ nsres = nsIDOMHTMLDocument_GetCompatMode(doc->nsdoc, &nsstr);
+ if(NS_SUCCEEDED(nsres)) {
+ nsAString_GetData(&nsstr, &compat_mode);
+ if(!strcmpW(compat_mode, BackCompatW))
+ ret = TRUE;
+ }
+ nsAString_Finish(&nsstr);
+ return ret;
+}
+
static BOOL init_script_engine(ScriptHost *script_host)
{
IObjectSafety *safety;
@@ -148,7 +168,7 @@ static BOOL init_script_engine(ScriptHost *script_host)
return FALSE;
V_VT(&var) = VT_I4;
- V_I4(&var) = 1;
+ V_I4(&var) = is_quirks_mode(script_host->window->doc) ? 1 : 2;
set_script_prop(script_host, SCRIPTPROP_INVOKEVERSIONING, &var);
V_VT(&var) = VT_BOOL;
More information about the wine-cvs
mailing list