From 0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Tue, 11 Aug 2009 17:01:47 +0100 Subject: Merge in WebKit r47029. --- WebCore/history/qt/HistoryItemQt.cpp | 114 +++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 WebCore/history/qt/HistoryItemQt.cpp (limited to 'WebCore/history/qt') diff --git a/WebCore/history/qt/HistoryItemQt.cpp b/WebCore/history/qt/HistoryItemQt.cpp new file mode 100644 index 0000000..68fee87 --- /dev/null +++ b/WebCore/history/qt/HistoryItemQt.cpp @@ -0,0 +1,114 @@ +/* + Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "config.h" +#include "HistoryItem.h" + +#include "CString.h" +#include "FormData.h" + +bool WebCore::HistoryItem::restoreState(QDataStream& in, int /*version*/) +{ + // there is no different version right now + // switch (version) { + 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 documentState; + WebCore::IntPoint scrollPoint; + WTF::Vector weeklyVisitCounts; + WTF::Vector dailyVisitCounts; + bool loadFormdata; + // WebCore::String formContentType; + // WTF::Vector formData; + + in >> url >> title >> altTitle >> lastVisitedTime >> orginalUrl >> referrer >> target >> parent; + in >> lastVisitWasHTTPNonGet >> lastVisitWasFailure >> isTargetItem >> visitCount >> documentState; + in >> scrollPoint >> dailyVisitCounts >> weeklyVisitCounts; + /*in >> loadFormdata; + if (loadFormdata) { + in >> formContentType >> formData; + // direct assigned (!) + m_formContentType = formContentType; + m_formData = FormData::create(CString(formData)); + }*/ + // use setters + 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); + + // at the end load userData + in >> validUserData; + if (validUserData) { + QVariant tmp; + in >> tmp; + setUserData(tmp); + } + + return in.status() == QDataStream::Ok; +} + +QDataStream& WebCore::HistoryItem::saveState(QDataStream& out, int /*version*/) const +{ + // there is no different version right now + // switch (version) { + out << urlString() << title() << alternateTitle() << lastVisitedTime(); + out << originalURLString() << referrer() << target() << parent(); + out << lastVisitWasHTTPNonGet() << lastVisitWasFailure() << isTargetItem(); + out << visitCount() << documentState() << scrollPoint(); + out << dailyVisitCounts() << weeklyVisitCounts(); + /*if (m_formData) { + out << true; + out << formContentType(); + out << m_formData->flatten(); + } else { + out << false; + }*/ + // save user data + if (userData().isValid()) + out << true << userData(); + else + out << false; + + return out; +} + -- cgit v1.1