summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/history/HistoryItem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/history/HistoryItem.h')
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.h53
1 files changed, 36 insertions, 17 deletions
diff --git a/src/3rdparty/webkit/WebCore/history/HistoryItem.h b/src/3rdparty/webkit/WebCore/history/HistoryItem.h
index 7d3caa7311..c4f0b49a0d 100644
--- a/src/3rdparty/webkit/WebCore/history/HistoryItem.h
+++ b/src/3rdparty/webkit/WebCore/history/HistoryItem.h
@@ -28,6 +28,8 @@
#include "IntPoint.h"
#include "PlatformString.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
#if PLATFORM(MAC)
#import <wtf/RetainPtr.h>
@@ -46,7 +48,7 @@ class FormData;
class HistoryItem;
class Image;
class KURL;
-class ResourceRequest;
+struct ResourceRequest;
typedef Vector<RefPtr<HistoryItem> > HistoryItemVector;
@@ -78,8 +80,7 @@ public:
const String& urlString() const;
const String& title() const;
- void setInPageCache(bool inPageCache) { m_isInPageCache = inPageCache; }
- bool isInPageCache() const { return m_isInPageCache; }
+ bool isInPageCache() const { return m_cachedPage; }
double lastVisitedTime() const;
@@ -91,16 +92,16 @@ public:
const String& parent() const;
KURL url() const;
KURL originalURL() const;
+ const String& referrer() const;
const String& target() const;
bool isTargetItem() const;
FormData* formData();
String formContentType() const;
- String formReferrer() const;
- String rssFeedReferrer() const;
int visitCount() const;
bool lastVisitWasFailure() const { return m_lastVisitWasFailure; }
+ bool lastVisitWasHTTPNonGet() const { return m_lastVisitWasHTTPNonGet; }
void mergeAutoCompleteHints(HistoryItem* otherItem);
@@ -114,6 +115,7 @@ public:
void setURL(const KURL&);
void setURLString(const String&);
void setOriginalURLString(const String&);
+ void setReferrer(const String&);
void setTarget(const String&);
void setParent(const String&);
void setTitle(const String&);
@@ -121,14 +123,16 @@ public:
void setFormInfoFromRequest(const ResourceRequest&);
- void setRSSFeedReferrer(const String&);
+ void recordInitialVisit();
+
void setVisitCount(int);
void setLastVisitWasFailure(bool wasFailure) { m_lastVisitWasFailure = wasFailure; }
+ void setLastVisitWasHTTPNonGet(bool wasNotGet) { m_lastVisitWasHTTPNonGet = wasNotGet; }
void addChildItem(PassRefPtr<HistoryItem>);
- HistoryItem* childItemWithName(const String&) const;
+ void setChildItem(PassRefPtr<HistoryItem>);
+ HistoryItem* childItemWithTarget(const String&) const;
HistoryItem* targetItem();
- HistoryItem* recurseToFindTargetItem();
const HistoryItemVector& children() const;
bool hasChildren() const;
@@ -136,7 +140,11 @@ public:
// in GlobalHistory. The WebKit api for this is to use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
void setLastVisitedTime(double);
void visited(const String& title, double time);
-
+
+ void addRedirectURL(const String&);
+ Vector<String>* redirectURLs() const;
+ void setRedirectURLs(PassOwnPtr<Vector<String> >);
+
bool isCurrentDocument(Document*) const;
#if PLATFORM(MAC)
@@ -159,40 +167,51 @@ public:
int showTreeWithIndent(unsigned indentLevel) const;
#endif
+ void adoptVisitCounts(Vector<int>& dailyCounts, Vector<int>& weeklyCounts);
+ const Vector<int>& dailyVisitCounts() { return m_dailyVisitCounts; }
+ const Vector<int>& weeklyVisitCounts() { return m_weeklyVisitCounts; }
+
private:
HistoryItem();
HistoryItem(const String& urlString, const String& title, double lastVisited);
HistoryItem(const String& urlString, const String& title, const String& alternateTitle, double lastVisited);
- HistoryItem(const KURL& url, const String& target, const String& parent, const String& title);
+ HistoryItem(const KURL& url, const String& frameName, const String& parent, const String& title);
HistoryItem(const HistoryItem&);
+ void padDailyCountsForNewVisit(double time);
+ void collapseDailyVisitsToWeekly();
+ void recordVisitAtTime(double);
+
+ HistoryItem* findTargetItem();
+
String m_urlString;
String m_originalURLString;
+ String m_referrer;
String m_target;
String m_parent;
String m_title;
String m_displayTitle;
double m_lastVisitedTime;
+ bool m_lastVisitWasHTTPNonGet;
IntPoint m_scrollPoint;
Vector<String> m_documentState;
- HistoryItemVector m_subItems;
+ HistoryItemVector m_children;
bool m_lastVisitWasFailure;
- bool m_isInPageCache;
bool m_isTargetItem;
int m_visitCount;
-
+ Vector<int> m_dailyVisitCounts;
+ Vector<int> m_weeklyVisitCounts;
+
+ OwnPtr<Vector<String> > m_redirectURLs;
+
// info used to repost form data
RefPtr<FormData> m_formData;
String m_formContentType;
- String m_formReferrer;
-
- // info used to support RSS feeds
- String m_rssFeedReferrer;
// PageCache controls these fields.
HistoryItem* m_next;