Jacek Caban : mshtml: Fix navigator.toString() in IE9+ compat modes.

Alexandre Julliard julliard at winehq.org
Fri Mar 26 16:03:32 CDT 2021


Module: wine
Branch: master
Commit: 4238faa0a01548c22451c32c0fa892ce36277d76
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4238faa0a01548c22451c32c0fa892ce36277d76

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Mar 26 16:34:06 2021 +0100

mshtml: Fix navigator.toString() in IE9+ compat modes.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/omnavigator.c         | 3 ++-
 dlls/mshtml/tests/documentmode.js | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index a98f6293d29..94616a7db78 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -1315,7 +1315,8 @@ static HRESULT WINAPI OmNavigator_toString(IOmNavigator *iface, BSTR *String)
     if(!String)
         return E_INVALIDARG;
 
-    *String = SysAllocString(L"[object]");
+    *String = SysAllocString(dispex_compat_mode(&This->dispex) < COMPAT_MODE_IE9
+                             ? L"[object]" : L"[object Navigator]");
     return *String ? S_OK : E_OUTOFMEMORY;
 }
 
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index c97e1b4f276..ec23ab8d494 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -375,4 +375,6 @@ sync_test("navigator", function() {
     ok(navigator.appCodeName === "Mozilla", "appCodeName = " + navigator.appCodeName);
     ok(navigator.appName === (v < 11 ? "Microsoft Internet Explorer" : "Netscape"),
        "appName = " + navigator.appName);
+    ok(navigator.toString() === (v < 9 ? "[object]" : "[object Navigator]"),
+       "navigator.toString() = " + navigator.toString());
 });




More information about the wine-cvs mailing list