Module: wine Branch: master Commit: ce80f1e49d18132755e0f9d69facf337c7d42178 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ce80f1e49d18132755e0f9d69f...
Author: Jacek Caban jacek@codeweavers.com Date: Tue May 9 17:32:45 2017 +0200
mshtml: Added separated IE5 and quicks mode compatibility mode.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 cb04f19..cb1fe55 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 d68816d..876827b 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 84a290e..ef4c58c 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;