mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 04:39:45 +00:00
mshtml: Added IPersistHistory stub implementation.
This commit is contained in:
parent
dbfbce975d
commit
781b0873e6
@ -134,8 +134,8 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
|
|||||||
TRACE("(%p)->(IID_ISupportErrorInfo %p)\n", This, ppvObject);
|
TRACE("(%p)->(IID_ISupportErrorInfo %p)\n", This, ppvObject);
|
||||||
*ppvObject = SUPPERRINFO(This);
|
*ppvObject = SUPPERRINFO(This);
|
||||||
}else if(IsEqualGUID(&IID_IPersistHistory, riid)) {
|
}else if(IsEqualGUID(&IID_IPersistHistory, riid)) {
|
||||||
FIXME("(%p)->(IID_IPersistHistory currently not supported %p)\n", This, ppvObject);
|
TRACE("(%p)->(IID_IPersistHistory %p)\n", This, ppvObject);
|
||||||
*ppvObject = NULL;
|
*ppvObject = PERSISTHIST(This);
|
||||||
}else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
|
}else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
|
||||||
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppvObject);
|
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppvObject);
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "mshtml.h"
|
#include "mshtml.h"
|
||||||
#include "mshtmhst.h"
|
#include "mshtmhst.h"
|
||||||
#include "hlink.h"
|
#include "hlink.h"
|
||||||
|
#include "perhist.h"
|
||||||
#include "dispex.h"
|
#include "dispex.h"
|
||||||
|
|
||||||
#include "wine/list.h"
|
#include "wine/list.h"
|
||||||
@ -229,6 +230,7 @@ struct HTMLDocument {
|
|||||||
const IHTMLDocument5Vtbl *lpHTMLDocument5Vtbl;
|
const IHTMLDocument5Vtbl *lpHTMLDocument5Vtbl;
|
||||||
const IPersistMonikerVtbl *lpPersistMonikerVtbl;
|
const IPersistMonikerVtbl *lpPersistMonikerVtbl;
|
||||||
const IPersistFileVtbl *lpPersistFileVtbl;
|
const IPersistFileVtbl *lpPersistFileVtbl;
|
||||||
|
const IPersistHistoryVtbl *lpPersistHistoryVtbl;
|
||||||
const IMonikerPropVtbl *lpMonikerPropVtbl;
|
const IMonikerPropVtbl *lpMonikerPropVtbl;
|
||||||
const IOleObjectVtbl *lpOleObjectVtbl;
|
const IOleObjectVtbl *lpOleObjectVtbl;
|
||||||
const IOleDocumentVtbl *lpOleDocumentVtbl;
|
const IOleDocumentVtbl *lpOleDocumentVtbl;
|
||||||
@ -442,6 +444,7 @@ typedef struct {
|
|||||||
#define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl)
|
#define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl)
|
||||||
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
|
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
|
||||||
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
|
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
|
||||||
|
#define PERSISTHIST(x) ((IPersistHistory*) &(x)->lpPersistHistoryVtbl)
|
||||||
#define CUSTOMDOC(x) ((ICustomDoc*) &(x)->lpCustomDocVtbl)
|
#define CUSTOMDOC(x) ((ICustomDoc*) &(x)->lpCustomDocVtbl)
|
||||||
|
|
||||||
#define NSWBCHROME(x) ((nsIWebBrowserChrome*) &(x)->lpWebBrowserChromeVtbl)
|
#define NSWBCHROME(x) ((nsIWebBrowserChrome*) &(x)->lpWebBrowserChromeVtbl)
|
||||||
|
@ -748,12 +748,84 @@ static const IPersistStreamInitVtbl PersistStreamInitVtbl = {
|
|||||||
PersistStreamInit_InitNew
|
PersistStreamInit_InitNew
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IPersistHistory implementation
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PERSISTHIST_THIS(iface) DEFINE_THIS(HTMLDocument, PersistHistory, iface)
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_QueryInterface(IPersistHistory *iface, REFIID riid, void **ppvObject)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppvObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI PersistHistory_AddRef(IPersistHistory *iface)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
return IHTMLDocument2_AddRef(HTMLDOC(This));
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI PersistHistory_Release(IPersistHistory *iface)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
return IHTMLDocument2_Release(HTMLDOC(This));
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_GetClassID(IPersistHistory *iface, CLSID *pClassID)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
return IPersist_GetClassID(PERSIST(This), pClassID);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_LoadHistory(IPersistHistory *iface, IStream *pStream, IBindCtx *pbc)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
FIXME("(%p)->(%p %p)\n", This, pStream, pbc);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_SaveHistory(IPersistHistory *iface, IStream *pStream)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
FIXME("(%p)->(%p)\n", This, pStream);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_SetPositionCookie(IPersistHistory *iface, DWORD dwPositioncookie)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
FIXME("(%p)->(%x)\n", This, dwPositioncookie);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI PersistHistory_GetPositionCookie(IPersistHistory *iface, DWORD *pdwPositioncookie)
|
||||||
|
{
|
||||||
|
HTMLDocument *This = PERSISTHIST_THIS(iface);
|
||||||
|
FIXME("(%p)->(%p)\n", This, pdwPositioncookie);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef PERSISTHIST_THIS
|
||||||
|
|
||||||
|
static const IPersistHistoryVtbl PersistHistoryVtbl = {
|
||||||
|
PersistHistory_QueryInterface,
|
||||||
|
PersistHistory_AddRef,
|
||||||
|
PersistHistory_Release,
|
||||||
|
PersistHistory_GetClassID,
|
||||||
|
PersistHistory_LoadHistory,
|
||||||
|
PersistHistory_SaveHistory,
|
||||||
|
PersistHistory_SetPositionCookie,
|
||||||
|
PersistHistory_GetPositionCookie
|
||||||
|
};
|
||||||
|
|
||||||
void HTMLDocument_Persist_Init(HTMLDocument *This)
|
void HTMLDocument_Persist_Init(HTMLDocument *This)
|
||||||
{
|
{
|
||||||
This->lpPersistMonikerVtbl = &PersistMonikerVtbl;
|
This->lpPersistMonikerVtbl = &PersistMonikerVtbl;
|
||||||
This->lpPersistFileVtbl = &PersistFileVtbl;
|
This->lpPersistFileVtbl = &PersistFileVtbl;
|
||||||
This->lpMonikerPropVtbl = &MonikerPropVtbl;
|
This->lpMonikerPropVtbl = &MonikerPropVtbl;
|
||||||
This->lpPersistStreamInitVtbl = &PersistStreamInitVtbl;
|
This->lpPersistStreamInitVtbl = &PersistStreamInitVtbl;
|
||||||
|
This->lpPersistHistoryVtbl = &PersistHistoryVtbl;
|
||||||
|
|
||||||
This->bscallback = NULL;
|
This->bscallback = NULL;
|
||||||
This->mon = NULL;
|
This->mon = NULL;
|
||||||
|
@ -4191,7 +4191,7 @@ static void test_IPersistHistory(void)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
hres = IUnknown_QueryInterface(unk, &IID_IPersistHistory, (void**)&phist);
|
hres = IUnknown_QueryInterface(unk, &IID_IPersistHistory, (void**)&phist);
|
||||||
todo_wine ok(hres == S_OK, "QueryInterface returned %08x, expected S_OK\n", hres);
|
ok(hres == S_OK, "QueryInterface returned %08x, expected S_OK\n", hres);
|
||||||
if(hres == S_OK)
|
if(hres == S_OK)
|
||||||
IPersistHistory_Release(phist);
|
IPersistHistory_Release(phist);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user