WebBackForwardList.h [plain text]
#pragma once
#include "WebKit.h"
#include "WebHistoryItem.h"
#include <WTF/RefPtr.h>
class BackForwardList;
class WebBackForwardList final : public IWebBackForwardList, IWebBackForwardListPrivate
{
public:
static WebBackForwardList* createInstance(RefPtr<BackForwardList>&&);
protected:
WebBackForwardList(RefPtr<BackForwardList>&&);
~WebBackForwardList();
public:
virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
virtual ULONG STDMETHODCALLTYPE AddRef();
virtual ULONG STDMETHODCALLTYPE Release();
virtual HRESULT STDMETHODCALLTYPE addItem(_In_opt_ IWebHistoryItem*);
virtual HRESULT STDMETHODCALLTYPE goBack();
virtual HRESULT STDMETHODCALLTYPE goForward();
virtual HRESULT STDMETHODCALLTYPE goToItem(_In_opt_ IWebHistoryItem*);
virtual HRESULT STDMETHODCALLTYPE backItem(_COM_Outptr_opt_ IWebHistoryItem**);
virtual HRESULT STDMETHODCALLTYPE currentItem(_COM_Outptr_opt_ IWebHistoryItem**);
virtual HRESULT STDMETHODCALLTYPE forwardItem(_COM_Outptr_opt_ IWebHistoryItem**);
virtual HRESULT STDMETHODCALLTYPE backListWithLimit(int limit, _Out_ int* listCount, __deref_inout_opt IWebHistoryItem**);
virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit(int limit, _Out_ int *listCount, __deref_inout_opt IWebHistoryItem **list);
virtual HRESULT STDMETHODCALLTYPE capacity(_Out_ int*);
virtual HRESULT STDMETHODCALLTYPE setCapacity(int);
virtual HRESULT STDMETHODCALLTYPE backListCount(_Out_ int*);
virtual HRESULT STDMETHODCALLTYPE forwardListCount(_Out_ int*);
virtual HRESULT STDMETHODCALLTYPE containsItem(_In_opt_ IWebHistoryItem*, _Out_ BOOL* result);
virtual HRESULT STDMETHODCALLTYPE itemAtIndex(int index, _COM_Outptr_opt_ IWebHistoryItem**);
virtual HRESULT STDMETHODCALLTYPE removeItem(_In_opt_ IWebHistoryItem*);
protected:
ULONG m_refCount { 0 };
RefPtr<BackForwardList> m_backForwardList;
};