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

Side by Side Diff: chrome/browser/safe_browsing/database_manager.cc

Issue 11419041: Add tests for redirect responses from SafeBrowsingProtocolManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/safe_browsing/database_manager.h" 5 #include "chrome/browser/safe_browsing/database_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 310
311 void SafeBrowsingDatabaseManager::GetChunks(GetChunksCallback callback) { 311 void SafeBrowsingDatabaseManager::GetChunks(GetChunksCallback callback) {
312 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 312 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
313 DCHECK(enabled_); 313 DCHECK(enabled_);
314 DCHECK(!callback.is_null()); 314 DCHECK(!callback.is_null());
315 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 315 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
316 &SafeBrowsingDatabaseManager::GetAllChunksFromDatabase, this, callback)); 316 &SafeBrowsingDatabaseManager::GetAllChunksFromDatabase, this, callback));
317 } 317 }
318 318
319 void SafeBrowsingDatabaseManager::AddChunks(const std::string& list, 319 void SafeBrowsingDatabaseManager::AddChunks(const std::string& list,
320 SBChunkList* chunks) { 320 SBChunkList* chunks,
321 AddChunksCallback callback) {
321 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 322 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
322 DCHECK(enabled_); 323 DCHECK(enabled_);
323 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 324 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
324 &SafeBrowsingDatabaseManager::HandleChunkForDatabase, this, list, 325 &SafeBrowsingDatabaseManager::AddDatabaseChunks, this, list,
325 chunks)); 326 chunks, callback));
326 } 327 }
327 328
328 void SafeBrowsingDatabaseManager::DeleteChunks( 329 void SafeBrowsingDatabaseManager::DeleteChunks(
329 std::vector<SBChunkDelete>* chunk_deletes) { 330 std::vector<SBChunkDelete>* chunk_deletes) {
330 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 331 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
331 DCHECK(enabled_); 332 DCHECK(enabled_);
332 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 333 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
333 &SafeBrowsingDatabaseManager::DeleteDatabaseChunks, this, chunk_deletes)); 334 &SafeBrowsingDatabaseManager::DeleteDatabaseChunks, this, chunk_deletes));
334 } 335 }
335 336
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 } 595 }
595 596
596 void SafeBrowsingDatabaseManager::OnGetAllChunksFromDatabase( 597 void SafeBrowsingDatabaseManager::OnGetAllChunksFromDatabase(
597 const std::vector<SBListChunkRanges>& lists, bool database_error, 598 const std::vector<SBListChunkRanges>& lists, bool database_error,
598 GetChunksCallback callback) { 599 GetChunksCallback callback) {
599 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 600 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
600 if (enabled_) 601 if (enabled_)
601 callback.Run(lists, database_error); 602 callback.Run(lists, database_error);
602 } 603 }
603 604
604 void SafeBrowsingDatabaseManager::OnChunkInserted() { 605 void SafeBrowsingDatabaseManager::OnAddChunksComplete(
606 AddChunksCallback callback) {
605 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 607 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
606 if (enabled_) 608 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
607 sb_service_->protocol_manager()->OnChunkInserted(); 609 callback.Run();
608 } 610 }
609 611
610 void SafeBrowsingDatabaseManager::DatabaseLoadComplete() { 612 void SafeBrowsingDatabaseManager::DatabaseLoadComplete() {
611 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 613 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
612 if (!enabled_) 614 if (!enabled_)
613 return; 615 return;
614 616
615 HISTOGRAM_COUNTS("SB.QueueDepth", queued_checks_.size()); 617 HISTOGRAM_COUNTS("SB.QueueDepth", queued_checks_.size());
616 if (queued_checks_.empty()) 618 if (queued_checks_.empty())
617 return; 619 return;
(...skipping 12 matching lines...) Expand all
630 SafeBrowsingCheck sb_check; 632 SafeBrowsingCheck sb_check;
631 sb_check.urls.push_back(check.url); 633 sb_check.urls.push_back(check.url);
632 sb_check.client = check.client; 634 sb_check.client = check.client;
633 sb_check.threat_type = SB_THREAT_TYPE_SAFE; 635 sb_check.threat_type = SB_THREAT_TYPE_SAFE;
634 check.client->OnSafeBrowsingResult(sb_check); 636 check.client->OnSafeBrowsingResult(sb_check);
635 } 637 }
636 queued_checks_.pop_front(); 638 queued_checks_.pop_front();
637 } 639 }
638 } 640 }
639 641
640 void SafeBrowsingDatabaseManager::HandleChunkForDatabase( 642 void SafeBrowsingDatabaseManager::AddDatabaseChunks(
641 const std::string& list_name, SBChunkList* chunks) { 643 const std::string& list_name, SBChunkList* chunks,
644 AddChunksCallback callback) {
642 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); 645 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop());
643 if (chunks) { 646 if (chunks) {
644 GetDatabase()->InsertChunks(list_name, *chunks); 647 GetDatabase()->InsertChunks(list_name, *chunks);
645 delete chunks; 648 delete chunks;
646 } 649 }
647 BrowserThread::PostTask( 650 BrowserThread::PostTask(
648 BrowserThread::IO, FROM_HERE, 651 BrowserThread::IO, FROM_HERE,
649 base::Bind(&SafeBrowsingDatabaseManager::OnChunkInserted, this)); 652 base::Bind(&SafeBrowsingDatabaseManager::OnAddChunksComplete, this,
653 callback));
650 } 654 }
651 655
652 void SafeBrowsingDatabaseManager::DeleteDatabaseChunks( 656 void SafeBrowsingDatabaseManager::DeleteDatabaseChunks(
653 std::vector<SBChunkDelete>* chunk_deletes) { 657 std::vector<SBChunkDelete>* chunk_deletes) {
654 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); 658 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop());
655 if (chunk_deletes) { 659 if (chunk_deletes) {
656 GetDatabase()->DeleteChunks(*chunk_deletes); 660 GetDatabase()->DeleteChunks(*chunk_deletes);
657 delete chunk_deletes; 661 delete chunk_deletes;
658 } 662 }
659 } 663 }
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 new base::WeakPtrFactory<SafeBrowsingDatabaseManager>(this)); 892 new base::WeakPtrFactory<SafeBrowsingDatabaseManager>(this));
889 checks_.insert(check); 893 checks_.insert(check);
890 894
891 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, task); 895 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, task);
892 896
893 MessageLoop::current()->PostDelayedTask(FROM_HERE, 897 MessageLoop::current()->PostDelayedTask(FROM_HERE,
894 base::Bind(&SafeBrowsingDatabaseManager::TimeoutCallback, 898 base::Bind(&SafeBrowsingDatabaseManager::TimeoutCallback,
895 check->timeout_factory_->GetWeakPtr(), check), 899 check->timeout_factory_->GetWeakPtr(), check),
896 base::TimeDelta::FromMilliseconds(timeout_ms)); 900 base::TimeDelta::FromMilliseconds(timeout_ms));
897 } 901 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/database_manager.h ('k') | chrome/browser/safe_browsing/protocol_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698