diff options
Diffstat (limited to 'WebCore/history/HistoryItem.h')
-rw-r--r-- | WebCore/history/HistoryItem.h | 63 |
1 files changed, 39 insertions, 24 deletions
diff --git a/WebCore/history/HistoryItem.h b/WebCore/history/HistoryItem.h index 839f47d..cd23c9e 100644 --- a/WebCore/history/HistoryItem.h +++ b/WebCore/history/HistoryItem.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. + * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,20 +26,8 @@ #ifndef HistoryItem_h #define HistoryItem_h -#include "CachedPage.h" -#include "FormData.h" #include "IntPoint.h" #include "PlatformString.h" -#include <wtf/RefCounted.h> -#include "StringHash.h" -#include <wtf/HashMap.h> -#include <wtf/OwnPtr.h> -#include <wtf/RefPtr.h> -#include <wtf/Vector.h> - -#if PLATFORM(QT) -#include <QVariant> -#endif #if PLATFORM(MAC) #import <wtf/RetainPtr.h> @@ -50,14 +38,20 @@ typedef struct objc_object* id; #include "WebHistory.h" #endif +#if PLATFORM(QT) +#include <QVariant> +#endif + namespace WebCore { +class CachedPage; class Document; +class FormData; +class HistoryItem; class Image; class KURL; class ResourceRequest; -class HistoryItem; typedef Vector<RefPtr<HistoryItem> > HistoryItemVector; #ifdef ANDROID_HISTORY_CLIENT @@ -105,15 +99,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); @@ -127,6 +122,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&); @@ -134,8 +130,11 @@ 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; @@ -147,7 +146,12 @@ public: // This should not be called directly for HistoryItems that are already included // 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(std::auto_ptr<Vector<String> >); + bool isCurrentDocument(Document*) const; #if PLATFORM(MAC) @@ -175,6 +179,10 @@ public: android::WebHistoryItem* bridge() const { return m_bridge.get(); } #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); @@ -182,32 +190,39 @@ private: HistoryItem(const KURL& url, const String& target, const String& parent, const String& title); HistoryItem(const HistoryItem&); - + + void padDailyCountsForNewVisit(double time); + void collapseDailyVisitsToWeekly(); + void recordVisitAtTime(double); + 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; + 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; |