#include "config.h"
#include "HistoryItem.h"
#include "FormData.h"
#include <wtf/text/CString.h>
bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
{
if (version != 1)
return false;
WebCore::String url;
WebCore::String title;
WebCore::String altTitle;
WebCore::String orginalUrl;
WebCore::String referrer;
WebCore::String target;
WebCore::String parrent;
double lastVisitedTime;
bool validUserData;
WebCore::String parent;
bool lastVisitWasHTTPNonGet;
bool lastVisitWasFailure;
bool isTargetItem;
int visitCount;
WTF::Vector<WebCore::String> documentState;
WebCore::IntPoint scrollPoint;
WTF::Vector<int> weeklyVisitCounts;
WTF::Vector<int> dailyVisitCounts;
in >> url >> title >> altTitle >> lastVisitedTime >> orginalUrl >> referrer >> target >> parent;
in >> lastVisitWasHTTPNonGet >> lastVisitWasFailure >> isTargetItem >> visitCount >> documentState;
in >> scrollPoint >> dailyVisitCounts >> weeklyVisitCounts;
adoptVisitCounts(dailyVisitCounts, weeklyVisitCounts);
setScrollPoint(scrollPoint);
setDocumentState(documentState);
setVisitCount(visitCount);
setIsTargetItem(isTargetItem);
setLastVisitWasFailure(lastVisitWasFailure);
setLastVisitWasHTTPNonGet(lastVisitWasHTTPNonGet);
setParent(parent);
setTarget(target);
setReferrer(referrer);
setOriginalURLString(orginalUrl);
setURLString(url);
setLastVisitedTime(lastVisitedTime);
setTitle(title);
setAlternateTitle(altTitle);
in >> validUserData;
if (validUserData) {
QVariant tmp;
in >> tmp;
setUserData(tmp);
}
return in.status() == QDataStream::Ok;
}
QDataStream& WebCore::HistoryItem::saveState(QDataStream& out, int version) const
{
if (version != 1)
return out;
out << urlString() << title() << alternateTitle() << lastVisitedTime();
out << originalURLString() << referrer() << target() << parent();
out << lastVisitWasHTTPNonGet() << lastVisitWasFailure() << isTargetItem();
out << visitCount() << documentState() << scrollPoint();
out << dailyVisitCounts() << weeklyVisitCounts();
if (userData().isValid())
out << true << userData();
else
out << false;
return out;
}