webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
WebBackForwardList.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2007, 2015 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #pragma once
27 
28 #include "WebKit.h"
29 
30 #include "WebHistoryItem.h"
31 
32 #include <WTF/PassRefPtr.h>
33 #include <WTF/RefPtr.h>
34 
35 class BackForwardList;
36 
38 {
39 public:
40  static WebBackForwardList* createInstance(PassRefPtr<BackForwardList>);
41 protected:
42  WebBackForwardList(PassRefPtr<BackForwardList>);
44 
45 public:
46  // IUnknown
47  virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
48  virtual ULONG STDMETHODCALLTYPE AddRef();
49  virtual ULONG STDMETHODCALLTYPE Release();
50 
51  // IWebBackForwardList
52  virtual HRESULT STDMETHODCALLTYPE addItem(_In_opt_ IWebHistoryItem*);
53  virtual HRESULT STDMETHODCALLTYPE goBack();
54  virtual HRESULT STDMETHODCALLTYPE goForward();
55  virtual HRESULT STDMETHODCALLTYPE goToItem(_In_opt_ IWebHistoryItem*);
56  virtual HRESULT STDMETHODCALLTYPE backItem(_COM_Outptr_opt_ IWebHistoryItem**);
57  virtual HRESULT STDMETHODCALLTYPE currentItem(_COM_Outptr_opt_ IWebHistoryItem**);
58  virtual HRESULT STDMETHODCALLTYPE forwardItem(_COM_Outptr_opt_ IWebHistoryItem**);
59  virtual HRESULT STDMETHODCALLTYPE backListWithLimit(int limit, _Out_ int* listCount, __deref_inout_opt IWebHistoryItem**);
60  virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit(int limit, _Out_ int *listCount, __deref_inout_opt IWebHistoryItem **list);
61  virtual HRESULT STDMETHODCALLTYPE capacity(_Out_ int*);
62  virtual HRESULT STDMETHODCALLTYPE setCapacity(int);
63  virtual HRESULT STDMETHODCALLTYPE backListCount(_Out_ int*);
64  virtual HRESULT STDMETHODCALLTYPE forwardListCount(_Out_ int*);
65  virtual HRESULT STDMETHODCALLTYPE containsItem(_In_opt_ IWebHistoryItem*, _Out_ BOOL* result);
66  virtual HRESULT STDMETHODCALLTYPE itemAtIndex(int index, _COM_Outptr_opt_ IWebHistoryItem**);
67 
68  // IWebBackForwardListPrivate
69  virtual HRESULT STDMETHODCALLTYPE removeItem(_In_opt_ IWebHistoryItem*);
70 
71 protected:
73  RefPtr<BackForwardList> m_backForwardList;
74 };
~WebBackForwardList()
Definition: WebBackForwardList.cpp:60
Definition: IWebBackForwardListPrivate.idl:40
BOOL
Definition: PlatformScreenIOS.mm:46
Definition: IWebHistoryItem.idl:45
virtual HRESULT STDMETHODCALLTYPE containsItem(_In_opt_ IWebHistoryItem *, _Out_ BOOL *result)
Definition: WebBackForwardList.cpp:264
int forwardListCount
Definition: WebBackForwardList.h:128
unsigned long ULONG
Definition: MD5.h:32
Definition: IWebBackForwardList.idl:49
HRESULT
Definition: RenderThemeWin.cpp:150
WebHistoryItem * backItem
Definition: WebBackForwardList.h:82
Definition: WebBackForwardList.h:43
virtual HRESULT STDMETHODCALLTYPE itemAtIndex(int index, _COM_Outptr_opt_ IWebHistoryItem **)
Definition: WebBackForwardList.cpp:278
WebBackForwardList(PassRefPtr< BackForwardList >)
Definition: WebBackForwardList.cpp:50
void goForward()
Definition: WebBackForwardList.mm:215
virtual ULONG STDMETHODCALLTYPE Release()
Definition: WebBackForwardList.cpp:107
WebHistoryItem * currentItem
Definition: WebBackForwardList.h:88
static WebBackForwardList * createInstance(PassRefPtr< BackForwardList >)
Definition: WebBackForwardList.cpp:71
virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit(int limit, _Out_ int *listCount, __deref_inout_opt IWebHistoryItem **list)
Definition: WebBackForwardList.cpp:211
GLuint index
Definition: gl2.h:383
ULONG m_refCount
Definition: WebBackForwardList.h:72
virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void **ppvObject)
Definition: WebBackForwardList.cpp:84
void goBack()
Definition: WebBackForwardList.mm:210
virtual HRESULT STDMETHODCALLTYPE setCapacity(int)
Definition: WebBackForwardList.cpp:237
result
Definition: target-blank-opener-post-window.php:5
WebHistoryItem * forwardItem
Definition: WebBackForwardList.h:94
virtual ULONG STDMETHODCALLTYPE AddRef()
Definition: WebBackForwardList.cpp:102
int capacity
Definition: WebBackForwardList.h:116
virtual HRESULT STDMETHODCALLTYPE addItem(_In_opt_ IWebHistoryItem *)
Definition: WebBackForwardList.cpp:118
virtual HRESULT STDMETHODCALLTYPE goToItem(_In_opt_ IWebHistoryItem *)
Definition: WebBackForwardList.cpp:141
RefPtr< BackForwardList > m_backForwardList
Definition: WebBackForwardList.h:73
Definition: BackForwardList.h:38
virtual HRESULT STDMETHODCALLTYPE removeItem(_In_opt_ IWebHistoryItem *)
Definition: WebBackForwardList.cpp:294
virtual HRESULT STDMETHODCALLTYPE backListWithLimit(int limit, _Out_ int *listCount, __deref_inout_opt IWebHistoryItem **)
Definition: WebBackForwardList.cpp:194
int backListCount
Definition: WebBackForwardList.h:122