Chromium Code Reviews| Index: chrome/browser/safe_browsing/database_manager.cc |
| diff --git a/chrome/browser/safe_browsing/database_manager.cc b/chrome/browser/safe_browsing/database_manager.cc |
| index f2da285818686c0ed101da419ded4d3093dc202d..76be8e593a759e01c7d84192d64b477e101a03ec 100644 |
| --- a/chrome/browser/safe_browsing/database_manager.cc |
| +++ b/chrome/browser/safe_browsing/database_manager.cc |
| @@ -317,12 +317,13 @@ void SafeBrowsingDatabaseManager::GetChunks(GetChunksCallback callback) { |
| } |
| void SafeBrowsingDatabaseManager::AddChunks(const std::string& list, |
| - SBChunkList* chunks) { |
| + SBChunkList* chunks, |
| + AddChunksCallback callback) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| DCHECK(enabled_); |
| safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( |
| - &SafeBrowsingDatabaseManager::HandleChunkForDatabase, this, list, |
| - chunks)); |
| + &SafeBrowsingDatabaseManager::AddDatabaseChunks, this, list, |
| + chunks, callback)); |
| } |
| void SafeBrowsingDatabaseManager::DeleteChunks( |
| @@ -601,10 +602,11 @@ void SafeBrowsingDatabaseManager::OnGetAllChunksFromDatabase( |
| callback.Run(lists, database_error); |
| } |
| -void SafeBrowsingDatabaseManager::OnChunkInserted() { |
| +void SafeBrowsingDatabaseManager::OnAddChunksComplete( |
| + AddChunksCallback callback) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| if (enabled_) |
|
mattm
2012/12/19 03:58:48
Just for weakptr safety, these callback.Run() call
cbentzel
2012/12/19 13:18:34
I am confused about which weakptr you mean.
a) Th
|
| - sb_service_->protocol_manager()->OnChunkInserted(); |
| + callback.Run(); |
| } |
| void SafeBrowsingDatabaseManager::DatabaseLoadComplete() { |
| @@ -637,8 +639,9 @@ void SafeBrowsingDatabaseManager::DatabaseLoadComplete() { |
| } |
| } |
| -void SafeBrowsingDatabaseManager::HandleChunkForDatabase( |
| - const std::string& list_name, SBChunkList* chunks) { |
| +void SafeBrowsingDatabaseManager::AddDatabaseChunks( |
| + const std::string& list_name, SBChunkList* chunks, |
| + AddChunksCallback callback) { |
| DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); |
| if (chunks) { |
| GetDatabase()->InsertChunks(list_name, *chunks); |
| @@ -646,7 +649,8 @@ void SafeBrowsingDatabaseManager::HandleChunkForDatabase( |
| } |
| BrowserThread::PostTask( |
| BrowserThread::IO, FROM_HERE, |
| - base::Bind(&SafeBrowsingDatabaseManager::OnChunkInserted, this)); |
| + base::Bind(&SafeBrowsingDatabaseManager::OnAddChunksComplete, this, |
| + callback)); |
| } |
| void SafeBrowsingDatabaseManager::DeleteDatabaseChunks( |