Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Unified Diff: components/history/core/browser/history_backend_db_unittest.cc

Issue 1924773002: TopSites: filter out non-WebSafe URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@topsites_cleanup
Patch Set: comment Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/history/core/browser/history_backend_db_unittest.cc
diff --git a/components/history/core/browser/history_backend_db_unittest.cc b/components/history/core/browser/history_backend_db_unittest.cc
index 972491fd2221b566c3cc94a2c8d0b1b7732aeb55..9090fd7ca29b9bd2f90427657a859f4f2114a6a7 100644
--- a/components/history/core/browser/history_backend_db_unittest.cc
+++ b/components/history/core/browser/history_backend_db_unittest.cc
@@ -1004,8 +1004,8 @@ TEST_F(HistoryBackendDBTest, MigratePresentations) {
// Re-open the db, triggering migration.
CreateBackendAndDatabase();
- std::vector<std::unique_ptr<PageUsageData>> results =
- db_->QuerySegmentUsage(segment_time, 10);
+ std::vector<std::unique_ptr<PageUsageData>> results = db_->QuerySegmentUsage(
+ segment_time, 10, base::Callback<bool(const GURL&)>());
ASSERT_EQ(1u, results.size());
EXPECT_EQ(url, results[0]->GetURL());
EXPECT_EQ(segment_id, results[0]->GetID());
@@ -1049,5 +1049,49 @@ TEST_F(HistoryBackendDBTest, CheckLastCompatibleVersion) {
}
}
+bool FilterURL(const GURL& url) {
+ return url.SchemeIsHTTPOrHTTPS();
+}
+
+TEST_F(HistoryBackendDBTest, QuerySegmentUsage) {
+ CreateBackendAndDatabase();
+
+ const GURL url1("file://bar");
+ const GURL url2("http://www.foo.com");
+ const int visit_count1 = 10;
+ const int visit_count2 = 5;
+ const base::Time time(base::Time::Now());
+
+ URLID url_id1 = db_->AddURL(URLRow(url1));
+ ASSERT_NE(0, url_id1);
+ URLID url_id2 = db_->AddURL(URLRow(url2));
+ ASSERT_NE(0, url_id2);
+
+ SegmentID segment_id1 = db_->CreateSegment(
+ url_id1, VisitSegmentDatabase::ComputeSegmentName(url1));
+ ASSERT_NE(0, segment_id1);
+ SegmentID segment_id2 = db_->CreateSegment(
+ url_id2, VisitSegmentDatabase::ComputeSegmentName(url2));
+ ASSERT_NE(0, segment_id2);
+
+ ASSERT_TRUE(db_->IncreaseSegmentVisitCount(segment_id1, time, visit_count1));
+ ASSERT_TRUE(db_->IncreaseSegmentVisitCount(segment_id2, time, visit_count2));
+
+ // Without a filter, the "file://" URL should win.
+ std::vector<std::unique_ptr<PageUsageData>> results =
+ db_->QuerySegmentUsage(time, 1, base::Callback<bool(const GURL&)>());
+ ASSERT_EQ(1u, results.size());
+ EXPECT_EQ(url1, results[0]->GetURL());
+ EXPECT_EQ(segment_id1, results[0]->GetID());
+
+ // With the filter, the "file://" URL should be filtered out, so the "http://"
+ // URL should win instead.
+ std::vector<std::unique_ptr<PageUsageData>> results2 =
+ db_->QuerySegmentUsage(time, 1, base::Bind(&FilterURL));
+ ASSERT_EQ(1u, results2.size());
+ EXPECT_EQ(url2, results2[0]->GetURL());
+ EXPECT_EQ(segment_id2, results2[0]->GetID());
+}
+
} // namespace
} // namespace history
« no previous file with comments | « components/history/core/browser/history_backend_client.h ('k') | components/history/core/browser/visitsegment_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698