From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/omnavigator.c | 17 +++++++++-------- dlls/mshtml/tests/documentmode.js | 6 ++++++ 3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 9c38b407451..0e4ea54278f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -413,6 +413,7 @@ typedef struct { X(CSSStyleSheet) \ X(CharacterData) \ X(ClientRect) \ + X(Console) \ X(CustomEvent) \ X(DOMImplementation) \ X(Document) \ diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c index e9988b6c9c4..f36f6aa60b4 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -2107,20 +2107,21 @@ static void console_destructor(DispatchEx *dispex) free(console); }
-static const dispex_static_data_vtbl_t console_dispex_vtbl = { +static const dispex_static_data_vtbl_t Console_dispex_vtbl = { .query_interface = console_query_interface, .destructor = console_destructor, };
-static const tid_t console_iface_tids[] = { +static const tid_t Console_iface_tids[] = { IWineMSHTMLConsole_tid, 0 }; -static dispex_static_data_t console_dispex = { - "Console", - &console_dispex_vtbl, - IWineMSHTMLConsole_tid, - console_iface_tids +dispex_static_data_t Console_dispex = { + .id = PROT_Console, + .vtbl = &Console_dispex_vtbl, + .disp_tid = IWineMSHTMLConsole_tid, + .iface_tids = Console_iface_tids, + .min_compat_mode = COMPAT_MODE_IE10, };
void create_console(HTMLInnerWindow *window, IWineMSHTMLConsole **ret) @@ -2135,7 +2136,7 @@ void create_console(HTMLInnerWindow *window, IWineMSHTMLConsole **ret) }
obj->IWineMSHTMLConsole_iface.lpVtbl = &WineMSHTMLConsoleVtbl; - init_dispatch(&obj->dispex, &console_dispex, window, dispex_compat_mode(&window->event_target.dispex)); + init_dispatch(&obj->dispex, &Console_dispex, window, dispex_compat_mode(&window->event_target.dispex));
*ret = &obj->IWineMSHTMLConsole_iface; } diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 2e463f231f5..8e36648a5a3 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3285,4 +3285,10 @@ sync_test("prototypes", function() { }else { ok(!("MSNamespaceInfoCollection" in window), "MSNamespaceInfoCollection found in window"); } + if(v >= 10) { + check(console, Console.prototype, "console"); + check(Console.prototype, Object.prototype, "console prototype"); + }else { + ok(!("Console" in window), "Console found in window"); + } });