summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/safe_browsing_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/safe_browsing/safe_browsing_service.cc')
-rw-r--r--chrome/browser/safe_browsing/safe_browsing_service.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
index 43a2e27..be02dba 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -192,7 +192,7 @@ void SafeBrowsingService::HandleGetHashResults(
}
void SafeBrowsingService::HandleChunk(const std::string& list,
- std::deque<SBChunk>* chunks) {
+ SBChunkList* chunks) {
DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
DCHECK(enabled_);
safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
@@ -428,9 +428,7 @@ SafeBrowsingDatabase* SafeBrowsingService::GetDatabase() {
Time before = Time::Now();
SafeBrowsingDatabase* database = SafeBrowsingDatabase::Create();
- Callback0::Type* chunk_callback =
- NewCallback(this, &SafeBrowsingService::ChunkInserted);
- database->Init(path, chunk_callback);
+ database->Init(path);
{
// Acquiring the lock here guarantees correct ordering between the writes to
// the new database object above, and the setting of |databse_| below.
@@ -514,13 +512,6 @@ void SafeBrowsingService::OnGetAllChunksFromDatabase(
protocol_manager_->OnGetChunksComplete(lists, database_error);
}
-void SafeBrowsingService::ChunkInserted() {
- DCHECK(MessageLoop::current() == safe_browsing_thread_->message_loop());
- ChromeThread::PostTask(
- ChromeThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnChunkInserted));
-}
-
void SafeBrowsingService::OnChunkInserted() {
DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
if (enabled_)
@@ -553,15 +544,24 @@ void SafeBrowsingService::DatabaseLoadComplete() {
void SafeBrowsingService::HandleChunkForDatabase(
const std::string& list_name,
- std::deque<SBChunk>* chunks) {
+ SBChunkList* chunks) {
DCHECK(MessageLoop::current() == safe_browsing_thread_->message_loop());
- GetDatabase()->InsertChunks(list_name, chunks);
+ if (chunks) {
+ GetDatabase()->InsertChunks(list_name, *chunks);
+ delete chunks;
+ }
+ ChromeThread::PostTask(
+ ChromeThread::IO, FROM_HERE,
+ NewRunnableMethod(this, &SafeBrowsingService::OnChunkInserted));
}
void SafeBrowsingService::DeleteChunks(
std::vector<SBChunkDelete>* chunk_deletes) {
DCHECK(MessageLoop::current() == safe_browsing_thread_->message_loop());
- GetDatabase()->DeleteChunks(chunk_deletes);
+ if (chunk_deletes) {
+ GetDatabase()->DeleteChunks(*chunk_deletes);
+ delete chunk_deletes;
+ }
}
SafeBrowsingService::UrlCheckResult SafeBrowsingService::GetResultFromListname(