From ce80f1e49d18132755e0f9d69facf337c7d42178 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 9 May 2017 17:32:45 +0200 Subject: [PATCH] mshtml: Added separated IE5 and quicks mode compatibility mode. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/mshtml/htmldoc.c | 3 ++- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/mutation.c | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index cb04f195023..cb1fe5568f0 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -2997,7 +2997,7 @@ static HRESULT WINAPI HTMLDocument5_get_compatMode(IHTMLDocument5 *iface, BSTR * TRACE("(%p)->(%p)\n", This, p); - *p = SysAllocString(This->doc_node->document_mode == COMPAT_MODE_QUIRKS ? BackCompatW : CSS1CompatW); + *p = SysAllocString(This->doc_node->document_mode <= COMPAT_MODE_IE5 ? BackCompatW : CSS1CompatW); return *p ? S_OK : E_OUTOFMEMORY; } @@ -3098,6 +3098,7 @@ static HRESULT WINAPI HTMLDocument6_get_documentMode(IHTMLDocument6 *iface, VARI static const int docmode_values[] = { 5, /* DOCMODE_QUIRKS */ + 5, /* DOCMODE_IE5 */ 7, /* DOCMODE_IE7 */ 8, /* DOCMODE_IE8 */ 9, /* DOCMODE_IE8 */ diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index d68816decfb..876827b80cc 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -233,6 +233,7 @@ TID_LIST typedef enum { COMPAT_MODE_QUIRKS, + COMPAT_MODE_IE5, COMPAT_MODE_IE7, COMPAT_MODE_IE8, COMPAT_MODE_IE9, diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c index 84a290e1c0d..ef4c58cb20b 100644 --- a/dlls/mshtml/mutation.c +++ b/dlls/mshtml/mutation.c @@ -388,6 +388,10 @@ static BOOL parse_ua_compatible(const WCHAR *p, compat_mode_t *r) return FALSE; switch(v){ + case 5: + case 6: + *r = COMPAT_MODE_IE5; + break; case 7: *r = COMPAT_MODE_IE7; break; @@ -401,7 +405,7 @@ static BOOL parse_ua_compatible(const WCHAR *p, compat_mode_t *r) *r = COMPAT_MODE_IE10; break; default: - *r = v < 7 ? COMPAT_MODE_QUIRKS : COMPAT_MODE_IE11; + *r = v < 5 ? COMPAT_MODE_QUIRKS : COMPAT_MODE_IE11; } return TRUE;