mshtml: Added IHTMLPluginsCollection::get_length implementation.
diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 79db598..b4b5c15 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -145,8 +145,12 @@
static HRESULT WINAPI HTMLPluginsCollection_get_length(IHTMLPluginsCollection *iface, LONG *p)
{
HTMLPluginsCollection *This = impl_from_IHTMLPluginsCollection(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ /* IE always returns 0 here */
+ *p = 0;
+ return S_OK;
}
static HRESULT WINAPI HTMLPluginsCollection_refresh(IHTMLPluginsCollection *iface, VARIANT_BOOL reload)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index adffac2..08be27d 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -3760,12 +3760,19 @@
ok(!ref, "location chould be destroyed here\n");
}
-static void test_plugins_col(IOmNavigator *nav)
+static void test_plugins_col(IHTMLDocument2 *doc)
{
IHTMLPluginsCollection *col, *col2;
+ IHTMLWindow2 *window;
+ IOmNavigator *nav;
ULONG ref;
+ LONG len;
HRESULT hres;
+ window = get_doc_window(doc);
+ hres = IHTMLWindow2_get_navigator(window, &nav);
+ IHTMLWindow2_Release(window);
+
hres = IOmNavigator_get_plugins(nav, &col);
ok(hres == S_OK, "get_plugins failed: %08x\n", hres);
@@ -3776,8 +3783,15 @@
test_disp2((IUnknown*)col, &DIID_DispCPlugins, &IID_IHTMLPluginsCollection, "[object]");
+ len = 0xdeadbeef;
+ hres = IHTMLPluginsCollection_get_length(col, &len);
+ ok(hres == S_OK, "get_length failed: %08x\n", hres);
+ ok(!len, "length = %d\n", len);
+
ref = IHTMLPluginsCollection_Release(col);
ok(!ref, "ref=%d\n", ref);
+
+ IOmNavigator_Release(nav);
}
static void test_mime_types_col(IOmNavigator *nav)
@@ -3892,7 +3906,6 @@
skip("nonstandard user agent\n");
}
- test_plugins_col(navigator);
test_mime_types_col(navigator);
ref = IOmNavigator_Release(navigator);
@@ -4263,6 +4276,7 @@
test_compatmode(doc);
test_location(doc);
test_navigator(doc);
+ test_plugins_col(doc);
elem2 = get_elem2_iface((IUnknown*)elem);
hres = IHTMLElement2_get_currentStyle(elem2, &cstyle);
@@ -4653,6 +4667,8 @@
IHTMLElementCollection_Release(collection);
}
+ test_plugins_col(doc);
+
elem = get_doc_elem(doc);
test_elem_all((IUnknown*)elem, all_types+1, sizeof(all_types)/sizeof(all_types[0])-1);
IHTMLElement_Release(elem);