summaryrefslogtreecommitdiffstats
path: root/chrome/browser/history/visit_database.cc
diff options
context:
space:
mode:
authordglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-03 17:38:39 +0000
committerdglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-03 17:38:39 +0000
commit3e90d4a00082fd985ab610cd2faff84b5c597a4e (patch)
tree4d2f0da17f4fb68bab53381c9f49351380a24127 /chrome/browser/history/visit_database.cc
parentfd694982d0e1ee8b3e1753d9c48b01c1a633ac27 (diff)
downloadchromium_src-3e90d4a00082fd985ab610cd2faff84b5c597a4e.zip
chromium_src-3e90d4a00082fd985ab610cd2faff84b5c597a4e.tar.gz
chromium_src-3e90d4a00082fd985ab610cd2faff84b5c597a4e.tar.bz2
Fix Acid3 Test 48: LINKTEST, Chromium side....
R=brettw BUG=http://crbug.com/231 BUG=http://crubg.com/5160 TEST=ExpireHistoryTest.ArchiveSomeOldHistory TEST=ExpireHistoryTest.ExpiringVisitsReader TEST=VisitedLinkTest.Listener TEST=VisitedLinkTest.Resizing TEST=VisitedLinkRelayTest.* TEST=VisitedLinkEventsTest.* Review URL: http://codereview.chromium.org/113591 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19910 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/history/visit_database.cc')
-rw-r--r--chrome/browser/history/visit_database.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/chrome/browser/history/visit_database.cc b/chrome/browser/history/visit_database.cc
index 7ce3e62..60d4c5b 100644
--- a/chrome/browser/history/visit_database.cc
+++ b/chrome/browser/history/visit_database.cc
@@ -213,6 +213,35 @@ void VisitDatabase::GetAllVisitsInRange(Time begin_time, Time end_time,
FillVisitVector(*statement, visits);
}
+void VisitDatabase::GetVisitsInRangeForTransition(
+ Time begin_time,
+ Time end_time,
+ int max_results,
+ PageTransition::Type transition,
+ VisitVector* visits) {
+ DCHECK(visits);
+ visits->clear();
+
+ SQLITE_UNIQUE_STATEMENT(statement, GetStatementCache(),
+ "SELECT" HISTORY_VISIT_ROW_FIELDS "FROM visits "
+ "WHERE visit_time >= ? AND visit_time < ? "
+ "AND (transition & ?) == ?"
+ "ORDER BY visit_time LIMIT ?");
+ if (!statement.is_valid())
+ return;
+
+ // See GetVisibleVisitsInRange for more info on how these times are bound.
+ int64 end = end_time.ToInternalValue();
+ statement->bind_int64(0, begin_time.ToInternalValue());
+ statement->bind_int64(1, end ? end : std::numeric_limits<int64>::max());
+ statement->bind_int(2, PageTransition::CORE_MASK);
+ statement->bind_int(3, transition);
+ statement->bind_int64(4,
+ max_results ? max_results : std::numeric_limits<int64>::max());
+
+ FillVisitVector(*statement, visits);
+}
+
void VisitDatabase::GetVisibleVisitsInRange(Time begin_time, Time end_time,
bool most_recent_visit_only,
int max_count,