Chromium Code Reviews| Index: components/history/core/browser/visit_database.cc |
| diff --git a/components/history/core/browser/visit_database.cc b/components/history/core/browser/visit_database.cc |
| index 3d4e7159197c182e6c4b32485aa41a05a07b7720..5d47a5a5ba482e9c45d038979c424bc839850bf4 100644 |
| --- a/components/history/core/browser/visit_database.cc |
| +++ b/components/history/core/browser/visit_database.cc |
| @@ -537,7 +537,9 @@ bool VisitDatabase::GetVisibleVisitCountToHost(const GURL& url, |
| return true; |
| } |
| -bool VisitDatabase::GetHistoryCount(int* count) { |
| +bool VisitDatabase::GetHistoryCount(const base::Time& begin_time, |
| + const base::Time& end_time, |
| + int* count) { |
| sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, |
| "SELECT COUNT(*) FROM (" |
| "SELECT DISTINCT url, " |
| @@ -545,11 +547,12 @@ bool VisitDatabase::GetHistoryCount(int* count) { |
| // Windows Epoch to the number of seconds from Unix Epoch. Leap seconds |
| // are not handled in both timestamp units, so a linear conversion is |
| // valid here. |
| - "DATE((visit_time - ?) / ?, 'unixepoch', 'localtime') " |
| + "DATE((visit_time - ?) / ?, 'unixepoch', 'localtime')" |
| "FROM visits " |
| "WHERE (transition & ?) != 0 " // CHAIN_END |
| - "AND (transition & ?) NOT IN (?, ?, ?)" // NO SUBFRAME or |
| - // KEYWORD_GENERATED |
| + "AND (transition & ?) NOT IN (?, ?, ?) " // NO SUBFRAME or |
| + // KEYWORD_GENERATED |
| + "AND visit_time >= ? AND visit_time < ?" |
| ")")); |
| statement.BindInt64(0, base::Time::kTimeTToMicrosecondsOffset); |
|
lwchkg
2015/09/25 04:15:02
Just to remind that you have proposed to change th
msramek
2015/09/25 10:44:35
I keep it in mind, but I'll fix this in a separate
|
| @@ -559,6 +562,8 @@ bool VisitDatabase::GetHistoryCount(int* count) { |
| statement.BindInt(4, ui::PAGE_TRANSITION_AUTO_SUBFRAME); |
| statement.BindInt(5, ui::PAGE_TRANSITION_MANUAL_SUBFRAME); |
| statement.BindInt(6, ui::PAGE_TRANSITION_KEYWORD_GENERATED); |
| + statement.BindInt64(7, begin_time.ToInternalValue()); |
| + statement.BindInt64(8, end_time.ToInternalValue()); |
| if (!statement.Step()) |
| return false; |