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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_database_unittest.cc

Issue 1870003002: Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address comments 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: chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc b/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
index 7eb3ddd2f6ebc1867428edc5583aa88df01fbcf1..01bba17d283ea1b7589758c084490edabb9ab394 100644
--- a/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
@@ -7,11 +7,13 @@
#include "chrome/browser/safe_browsing/safe_browsing_database.h"
#include <stddef.h>
+
#include <utility>
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/sha1.h"
#include "base/strings/string_number_conversions.h"
@@ -65,13 +67,14 @@ std::string HashedIpPrefix(const std::string& ip_prefix, size_t prefix_size) {
}
// Helper to build a chunk. Caller takes ownership.
-scoped_ptr<SBChunkData> BuildChunk(int chunk_number,
- ChunkData::ChunkType chunk_type,
- ChunkData::PrefixType prefix_type,
- const void* data,
- size_t data_size,
- const std::vector<int>& add_chunk_numbers) {
- scoped_ptr<ChunkData> raw_data(new ChunkData);
+std::unique_ptr<SBChunkData> BuildChunk(
+ int chunk_number,
+ ChunkData::ChunkType chunk_type,
+ ChunkData::PrefixType prefix_type,
+ const void* data,
+ size_t data_size,
+ const std::vector<int>& add_chunk_numbers) {
+ std::unique_ptr<ChunkData> raw_data(new ChunkData);
raw_data->set_chunk_number(chunk_number);
raw_data->set_chunk_type(chunk_type);
raw_data->set_prefix_type(prefix_type);
@@ -81,25 +84,25 @@ scoped_ptr<SBChunkData> BuildChunk(int chunk_number,
raw_data->add_add_numbers(add_chunk_numbers[i]);
}
- return make_scoped_ptr(new SBChunkData(std::move(raw_data)));
+ return base::WrapUnique(new SBChunkData(std::move(raw_data)));
}
// Create add chunk with a single prefix.
-scoped_ptr<SBChunkData> AddChunkPrefix(int chunk_number, SBPrefix prefix) {
+std::unique_ptr<SBChunkData> AddChunkPrefix(int chunk_number, SBPrefix prefix) {
return BuildChunk(chunk_number, ChunkData::ADD, ChunkData::PREFIX_4B, &prefix,
sizeof(prefix), std::vector<int>());
}
// Create add chunk with a single prefix generated from |value|.
-scoped_ptr<SBChunkData> AddChunkPrefixValue(int chunk_number,
- const std::string& value) {
+std::unique_ptr<SBChunkData> AddChunkPrefixValue(int chunk_number,
+ const std::string& value) {
return AddChunkPrefix(chunk_number, SBPrefixForString(value));
}
// Generate an add chunk with two prefixes.
-scoped_ptr<SBChunkData> AddChunkPrefix2Value(int chunk_number,
- const std::string& value1,
- const std::string& value2) {
+std::unique_ptr<SBChunkData> AddChunkPrefix2Value(int chunk_number,
+ const std::string& value1,
+ const std::string& value2) {
const SBPrefix prefixes[2] = {
SBPrefixForString(value1),
SBPrefixForString(value2),
@@ -109,11 +112,11 @@ scoped_ptr<SBChunkData> AddChunkPrefix2Value(int chunk_number,
}
// Generate an add chunk with four prefixes.
-scoped_ptr<SBChunkData> AddChunkPrefix4Value(int chunk_number,
- const std::string& value1,
- const std::string& value2,
- const std::string& value3,
- const std::string& value4) {
+std::unique_ptr<SBChunkData> AddChunkPrefix4Value(int chunk_number,
+ const std::string& value1,
+ const std::string& value2,
+ const std::string& value3,
+ const std::string& value4) {
const SBPrefix prefixes[4] = {
SBPrefixForString(value1),
SBPrefixForString(value2),
@@ -125,23 +128,23 @@ scoped_ptr<SBChunkData> AddChunkPrefix4Value(int chunk_number,
}
// Generate an add chunk with a full hash.
-scoped_ptr<SBChunkData> AddChunkFullHash(int chunk_number,
- SBFullHash full_hash) {
+std::unique_ptr<SBChunkData> AddChunkFullHash(int chunk_number,
+ SBFullHash full_hash) {
return BuildChunk(chunk_number, ChunkData::ADD, ChunkData::FULL_32B,
&full_hash, sizeof(full_hash), std::vector<int>());
}
// Generate an add chunk with a full hash generated from |value|.
-scoped_ptr<SBChunkData> AddChunkFullHashValue(int chunk_number,
- const std::string& value) {
+std::unique_ptr<SBChunkData> AddChunkFullHashValue(int chunk_number,
+ const std::string& value) {
return AddChunkFullHash(chunk_number,
SBFullHashForString(value));
}
// Generate an add chunk with two full hashes.
-scoped_ptr<SBChunkData> AddChunkFullHash2Value(int chunk_number,
- const std::string& value1,
- const std::string& value2) {
+std::unique_ptr<SBChunkData> AddChunkFullHash2Value(int chunk_number,
+ const std::string& value1,
+ const std::string& value2) {
const SBFullHash full_hashes[2] = {
SBFullHashForString(value1),
SBFullHashForString(value2),
@@ -151,20 +154,20 @@ scoped_ptr<SBChunkData> AddChunkFullHash2Value(int chunk_number,
}
// Generate a sub chunk with a prefix generated from |value|.
-scoped_ptr<SBChunkData> SubChunkPrefixValue(int chunk_number,
- const std::string& value,
- int add_chunk_number) {
+std::unique_ptr<SBChunkData> SubChunkPrefixValue(int chunk_number,
+ const std::string& value,
+ int add_chunk_number) {
const SBPrefix prefix = SBPrefixForString(value);
return BuildChunk(chunk_number, ChunkData::SUB, ChunkData::PREFIX_4B, &prefix,
sizeof(prefix), std::vector<int>(1, add_chunk_number));
}
// Generate a sub chunk with two prefixes.
-scoped_ptr<SBChunkData> SubChunkPrefix2Value(int chunk_number,
- const std::string& value1,
- int add_chunk_number1,
- const std::string& value2,
- int add_chunk_number2) {
+std::unique_ptr<SBChunkData> SubChunkPrefix2Value(int chunk_number,
+ const std::string& value1,
+ int add_chunk_number1,
+ const std::string& value2,
+ int add_chunk_number2) {
const SBPrefix prefixes[2] = {
SBPrefixForString(value1),
SBPrefixForString(value2),
@@ -177,27 +180,27 @@ scoped_ptr<SBChunkData> SubChunkPrefix2Value(int chunk_number,
}
// Generate a sub chunk with a full hash.
-scoped_ptr<SBChunkData> SubChunkFullHash(int chunk_number,
- SBFullHash full_hash,
- int add_chunk_number) {
+std::unique_ptr<SBChunkData> SubChunkFullHash(int chunk_number,
+ SBFullHash full_hash,
+ int add_chunk_number) {
return BuildChunk(chunk_number, ChunkData::SUB, ChunkData::FULL_32B,
&full_hash, sizeof(full_hash),
std::vector<int>(1, add_chunk_number));
}
// Generate a sub chunk with a full hash generated from |value|.
-scoped_ptr<SBChunkData> SubChunkFullHashValue(int chunk_number,
- const std::string& value,
- int add_chunk_number) {
+std::unique_ptr<SBChunkData> SubChunkFullHashValue(int chunk_number,
+ const std::string& value,
+ int add_chunk_number) {
return SubChunkFullHash(chunk_number,
SBFullHashForString(value),
add_chunk_number);
}
// Generate an add chunk with a single full hash for the ip blacklist.
-scoped_ptr<SBChunkData> AddChunkHashedIpValue(int chunk_number,
- const std::string& ip_str,
- size_t prefix_size) {
+std::unique_ptr<SBChunkData> AddChunkHashedIpValue(int chunk_number,
+ const std::string& ip_str,
+ size_t prefix_size) {
const std::string full_hash_str = HashedIpPrefix(ip_str, prefix_size);
EXPECT_EQ(sizeof(SBFullHash), full_hash_str.size());
SBFullHash full_hash;
@@ -341,7 +344,7 @@ class SafeBrowsingDatabaseTest : public PlatformTest {
void PopulateDatabaseForCacheTest();
scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
- scoped_ptr<SafeBrowsingDatabaseNew> database_;
+ std::unique_ptr<SafeBrowsingDatabaseNew> database_;
base::FilePath database_filename_;
base::ScopedTempDir temp_dir_;
};
@@ -349,7 +352,7 @@ class SafeBrowsingDatabaseTest : public PlatformTest {
// Tests retrieving list name information.
TEST_F(SafeBrowsingDatabaseTest, BrowseListsInfo) {
std::vector<SBListChunkRanges> lists;
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefixValue(1, "www.evil.com/malware.html"));
chunks.push_back(AddChunkPrefixValue(2, "www.foo.com/malware.html"));
@@ -410,7 +413,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseListsInfo) {
}
TEST_F(SafeBrowsingDatabaseTest, ListNames) {
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
std::vector<SBListChunkRanges> lists;
ASSERT_TRUE(database_->UpdateStarted(&lists));
@@ -575,7 +578,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseAndUnwantedDatabasesAndPrefixSets) {
test_case.test_list_name);
std::vector<SBListChunkRanges> lists;
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix2Value(1,
"www.evil.com/phishing.html",
@@ -812,7 +815,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseAndUnwantedDatabasesAndPrefixSets) {
// Test adding zero length chunks to the database.
TEST_F(SafeBrowsingDatabaseTest, ZeroSizeChunk) {
std::vector<SBListChunkRanges> lists;
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
// Populate with a couple of normal chunks.
chunks.push_back(AddChunkPrefix2Value(1,
@@ -899,7 +902,7 @@ TEST_F(SafeBrowsingDatabaseTest, ZeroSizeChunk) {
// Utility function for setting up the database for the caching test.
void SafeBrowsingDatabaseTest::PopulateDatabaseForCacheTest() {
// Add a couple prefixes.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix2Value(1,
"www.evil.com/phishing.html",
"www.evil.com/malware.html"));
@@ -967,7 +970,7 @@ TEST_F(SafeBrowsingDatabaseTest, HashCaching) {
cache_hits.clear();
// Test removing a prefix via a sub chunk.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(SubChunkPrefixValue(2, "www.evil.com/phishing.html", 1));
std::vector<SBListChunkRanges> lists;
@@ -1141,7 +1144,7 @@ TEST_F(SafeBrowsingDatabaseTest, HashCaching) {
SBPrefixForString(kExampleCollision));
ASSERT_TRUE(database_->UpdateStarted(&lists));
{
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefixValue(21, kExampleCollision));
database_->InsertChunks(kMalwareList, chunks);
}
@@ -1192,7 +1195,7 @@ TEST_F(SafeBrowsingDatabaseTest, DISABLED_FileCorruptionHandling) {
database_->UpdateFinished(true);
// Create a sub chunk to insert.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(SubChunkPrefixValue(7,
"www.subbed.com/notevil1.html",
19));
@@ -1242,7 +1245,7 @@ TEST_F(SafeBrowsingDatabaseTest, ContainsDownloadUrlPrefixes) {
const char kEvil1Url2[] = "www.evil1.com/download2.html";
// Add a simple chunk with one hostkey for download url list.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix2Value(1, kEvil1Url1, kEvil1Url2));
std::vector<SBListChunkRanges> lists;
@@ -1331,7 +1334,7 @@ TEST_F(SafeBrowsingDatabaseTest, ContainsResourceUrlPrefixes) {
const SBPrefix kBadPrefix2 = SBPrefixForString(kBadUrl2);
// Populate database
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix2Value(1, kBadUrl1, kBadUrl2));
std::vector<SBListChunkRanges> lists;
@@ -1474,7 +1477,7 @@ TEST_F(SafeBrowsingDatabaseTest, Whitelists) {
}
}
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
// Add a few test chunks to the whitelist under test.
if (test_case.TestUrls()) {
@@ -1650,7 +1653,7 @@ TEST_F(SafeBrowsingDatabaseTest, Whitelists) {
// Test to make sure we could insert chunk list that
// contains entries for the same host.
TEST_F(SafeBrowsingDatabaseTest, SameHostEntriesOkay) {
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
// Add a malware add chunk with two entries of the same host.
chunks.push_back(AddChunkPrefix2Value(1,
@@ -1730,7 +1733,7 @@ TEST_F(SafeBrowsingDatabaseTest, SameHostEntriesOkay) {
// This isn't a functionality requirement, but it is a useful
// optimization.
TEST_F(SafeBrowsingDatabaseTest, EmptyUpdate) {
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
base::FilePath filename = database_->BrowseDBFilename(database_filename_);
@@ -1788,7 +1791,7 @@ TEST_F(SafeBrowsingDatabaseTest, FilterFile) {
std::vector<SBListChunkRanges> lists;
ASSERT_TRUE(database_->UpdateStarted(&lists));
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefixValue(1, "www.evil.com/malware.html"));
database_->InsertChunks(kMalwareList, chunks);
database_->UpdateFinished(true);
@@ -1834,7 +1837,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedFullMiss) {
SBFullHashForPrefixAndSuffix(kPrefix2, "\x01");
// Insert prefix kPrefix1 and kPrefix2 into database.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix(1, kPrefix1));
chunks.push_back(AddChunkPrefix(2, kPrefix2));
@@ -1889,7 +1892,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
SBFullHashForPrefixAndSuffix(kPrefix3, "\x01");
// Insert prefix kPrefix1 and kPrefix2 into database.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefix(1, kPrefix1));
chunks.push_back(AddChunkPrefix(2, kPrefix2));
@@ -2034,7 +2037,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
SBFullHashForPrefixAndSuffix(kPrefix1, "\x03");
// Insert two full hashes with a shared prefix.
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkFullHash(1, kFullHash1_1));
chunks.push_back(AddChunkFullHash(2, kFullHash1_2));
@@ -2183,7 +2186,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashAndPrefixMatching) {
const SBFullHash kFullHash1_2 =
SBFullHashForPrefixAndSuffix(kPrefix1, "\x02");
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkFullHash(1, kFullHash1_1));
std::vector<SBListChunkRanges> lists;
@@ -2245,7 +2248,7 @@ TEST_F(SafeBrowsingDatabaseTest, MalwareIpBlacklist) {
std::vector<SBListChunkRanges> lists;
ASSERT_TRUE(database_->UpdateStarted(&lists));
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
// IPv4 prefix match for ::ffff:192.168.1.0/120.
chunks.push_back(AddChunkHashedIpValue(1, "::ffff:192.168.1.0", 120));
@@ -2313,7 +2316,7 @@ TEST_F(SafeBrowsingDatabaseTest, ContainsBrowseURL) {
// Add a host-level hit.
{
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkPrefixValue(1, "www.evil.com/"));
database_->InsertChunks(kMalwareList, chunks);
}
@@ -2321,7 +2324,7 @@ TEST_F(SafeBrowsingDatabaseTest, ContainsBrowseURL) {
// Add a specific fullhash.
static const char kWhateverMalware[] = "www.whatever.com/malware.html";
{
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkFullHashValue(2, kWhateverMalware));
database_->InsertChunks(kMalwareList, chunks);
}
@@ -2333,7 +2336,7 @@ TEST_F(SafeBrowsingDatabaseTest, ContainsBrowseURL) {
ASSERT_EQ(SBPrefixForString(kExampleFine),
SBPrefixForString(kExampleCollision));
{
- std::vector<scoped_ptr<SBChunkData>> chunks;
+ std::vector<std::unique_ptr<SBChunkData>> chunks;
chunks.push_back(AddChunkFullHashValue(3, kExampleCollision));
database_->InsertChunks(kMalwareList, chunks);
}
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_database.cc ('k') | chrome/browser/safe_browsing/safe_browsing_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698