From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/omnavigator.c | 14 +++++++------- dlls/mshtml/tests/documentmode.js | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 00bc833b32b..6e02639d3ba 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -460,6 +460,7 @@ typedef struct { X(Navigator) \ X(Node) \ X(PageTransitionEvent) \ + X(PluginArray) \ X(ProgressEvent) \ X(SVGCircleElement) \ X(SVGElement) \ diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c index 249c1ab8fe5..844da74b480 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -664,15 +664,15 @@ static const dispex_static_data_vtbl_t HTMLPluginsCollection_dispex_vtbl = { .unlink = HTMLPluginsCollection_unlink };
-static const tid_t HTMLPluginsCollection_iface_tids[] = { +static const tid_t PluginArray_iface_tids[] = { IHTMLPluginsCollection_tid, 0 }; -static dispex_static_data_t HTMLPluginsCollection_dispex = { - "PluginArray", - &HTMLPluginsCollection_dispex_vtbl, - DispCPlugins_tid, - HTMLPluginsCollection_iface_tids +dispex_static_data_t PluginArray_dispex = { + .id = PROT_PluginArray, + .vtbl = &HTMLPluginsCollection_dispex_vtbl, + .disp_tid = DispCPlugins_tid, + .iface_tids = PluginArray_iface_tids, };
static HRESULT create_plugins_collection(OmNavigator *navigator, HTMLPluginsCollection **ret) @@ -686,7 +686,7 @@ static HRESULT create_plugins_collection(OmNavigator *navigator, HTMLPluginsColl col->IHTMLPluginsCollection_iface.lpVtbl = &HTMLPluginsCollectionVtbl; col->navigator = navigator;
- init_dispatch_with_owner(&col->dispex, &HTMLPluginsCollection_dispex, &navigator->dispex); + init_dispatch_with_owner(&col->dispex, &PluginArray_dispex, &navigator->dispex);
*ret = col; return S_OK; diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 400c321a4de..1c1c0c1e882 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3267,4 +3267,8 @@ sync_test("prototypes", function() { check(Screen.prototype, Object.prototype, "screen prototype"); check(history, History.prototype, "history"); check(History.prototype, Object.prototype, "history prototype"); + if(v >= 11 /* todo_wine */) { + check(navigator.plugins, PluginArray.prototype, "plugins"); + check(PluginArray.prototype, Object.prototype, "plugins prototype"); + } });