diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index a6aa73f1a35..ea99445b445 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -27,6 +27,7 @@
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
+#include "perhist.h"
#include "wine/debug.h"
@@ -132,6 +133,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
}else if(IsEqualGUID(&IID_ISupportErrorInfo, riid)) {
TRACE("(%p)->(IID_ISupportErrorInfo %p)\n", This, ppvObject);
*ppvObject = SUPPERRINFO(This);
+ }else if(IsEqualGUID(&IID_IPersistHistory, riid)) {
+ FIXME("(%p)->(IID_IPersistHistory currently not supported %p)\n", This, ppvObject);
+ *ppvObject = NULL;
}else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppvObject);
return E_NOINTERFACE;
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index e4ae1449875..daac740fc2b 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -36,6 +36,7 @@
#include "dispex.h"
#include "idispids.h"
#include "shlguid.h"
+#include "perhist.h"
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
DEFINE_GUID(IID_IProxyManager,0x00000008,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
@@ -4160,6 +4161,26 @@ static void test_HTMLDoc_ISupportErrorInfo(void)
ok(ref == 0, "ref=%d, expected 0\n", ref);
}
+static void test_IPersistHistory(void)
+{
+ HRESULT hres;
+ IUnknown *unk;
+ LONG ref;
+ IPersistHistory *phist;
+
+ hres = create_document(&unk);
+ if(FAILED(hres))
+ return;
+
+ hres = IUnknown_QueryInterface(unk, &IID_IPersistHistory, (void**)&phist);
+ todo_wine ok(hres == S_OK, "QueryInterface returned %08x, expected S_OK\n", hres);
+ if(hres == S_OK)
+ IPersistHistory_Release(phist);
+
+ ref = IUnknown_Release(unk);
+ ok(ref == 0, "ref=%d, expected 0\n", ref);
+}
+
START_TEST(htmldoc)
{
gecko_installer_workaround(TRUE);
@@ -4177,6 +4198,7 @@ START_TEST(htmldoc)
test_editing_mode(TRUE);
}
test_HTMLDoc_ISupportErrorInfo();
+ test_IPersistHistory();
DestroyWindow(container_hwnd);
CoUninitialize();