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

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

Issue 11419041: Add tests for redirect responses from SafeBrowsingProtocolManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reintroduce newline Created 8 years, 1 month 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/safe_browsing_service.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_service.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 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 522
523 void SafeBrowsingService::GetChunks(GetChunksCallback callback) { 523 void SafeBrowsingService::GetChunks(GetChunksCallback callback) {
524 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 524 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
525 DCHECK(enabled_); 525 DCHECK(enabled_);
526 DCHECK(!callback.is_null()); 526 DCHECK(!callback.is_null());
527 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 527 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
528 &SafeBrowsingService::GetAllChunksFromDatabase, this, callback)); 528 &SafeBrowsingService::GetAllChunksFromDatabase, this, callback));
529 } 529 }
530 530
531 void SafeBrowsingService::AddChunks(const std::string& list, 531 void SafeBrowsingService::AddChunks(const std::string& list,
532 SBChunkList* chunks) { 532 SBChunkList* chunks,
533 AddChunksCallback callback) {
533 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 534 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
534 DCHECK(enabled_); 535 DCHECK(enabled_);
535 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 536 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
536 &SafeBrowsingService::HandleChunkForDatabase, this, list, chunks)); 537 &SafeBrowsingService::HandleChunkForDatabase, this, list, chunks,
538 callback));
537 } 539 }
538 540
539 void SafeBrowsingService::DeleteChunks( 541 void SafeBrowsingService::DeleteChunks(
540 std::vector<SBChunkDelete>* chunk_deletes) { 542 std::vector<SBChunkDelete>* chunk_deletes) {
541 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 543 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
542 DCHECK(enabled_); 544 DCHECK(enabled_);
543 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind( 545 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
544 &SafeBrowsingService::DeleteDatabaseChunks, this, chunk_deletes)); 546 &SafeBrowsingService::DeleteDatabaseChunks, this, chunk_deletes));
545 } 547 }
546 548
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 } 897 }
896 898
897 void SafeBrowsingService::OnGetAllChunksFromDatabase( 899 void SafeBrowsingService::OnGetAllChunksFromDatabase(
898 const std::vector<SBListChunkRanges>& lists, bool database_error, 900 const std::vector<SBListChunkRanges>& lists, bool database_error,
899 GetChunksCallback callback) { 901 GetChunksCallback callback) {
900 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 902 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
901 if (enabled_) 903 if (enabled_)
902 callback.Run(lists, database_error); 904 callback.Run(lists, database_error);
903 } 905 }
904 906
905 void SafeBrowsingService::OnChunkInserted() { 907 void SafeBrowsingService::OnAddChunksComplete(AddChunksCallback callback) {
906 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 908 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
907 if (enabled_) 909 if (enabled_)
908 protocol_manager_->OnChunkInserted(); 910 callback.Run();
909 } 911 }
910 912
911 void SafeBrowsingService::DatabaseLoadComplete() { 913 void SafeBrowsingService::DatabaseLoadComplete() {
912 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 914 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
913 if (!enabled_) 915 if (!enabled_)
914 return; 916 return;
915 917
916 HISTOGRAM_COUNTS("SB.QueueDepth", queued_checks_.size()); 918 HISTOGRAM_COUNTS("SB.QueueDepth", queued_checks_.size());
917 if (queued_checks_.empty()) 919 if (queued_checks_.empty())
918 return; 920 return;
(...skipping 13 matching lines...) Expand all
932 sb_check.urls.push_back(check.url); 934 sb_check.urls.push_back(check.url);
933 sb_check.client = check.client; 935 sb_check.client = check.client;
934 sb_check.threat_type = SB_THREAT_TYPE_SAFE; 936 sb_check.threat_type = SB_THREAT_TYPE_SAFE;
935 check.client->OnSafeBrowsingResult(sb_check); 937 check.client->OnSafeBrowsingResult(sb_check);
936 } 938 }
937 queued_checks_.pop_front(); 939 queued_checks_.pop_front();
938 } 940 }
939 } 941 }
940 942
941 void SafeBrowsingService::HandleChunkForDatabase( 943 void SafeBrowsingService::HandleChunkForDatabase(
942 const std::string& list_name, SBChunkList* chunks) { 944 const std::string& list_name, SBChunkList* chunks,
945 AddChunksCallback callback) {
943 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); 946 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop());
944 if (chunks) { 947 if (chunks) {
945 GetDatabase()->InsertChunks(list_name, *chunks); 948 GetDatabase()->InsertChunks(list_name, *chunks);
946 delete chunks; 949 delete chunks;
947 } 950 }
948 BrowserThread::PostTask( 951 BrowserThread::PostTask(
949 BrowserThread::IO, FROM_HERE, 952 BrowserThread::IO, FROM_HERE,
950 base::Bind(&SafeBrowsingService::OnChunkInserted, this)); 953 base::Bind(&SafeBrowsingService::OnAddChunksComplete, this, callback));
951 } 954 }
952 955
953 void SafeBrowsingService::DeleteDatabaseChunks( 956 void SafeBrowsingService::DeleteDatabaseChunks(
954 std::vector<SBChunkDelete>* chunk_deletes) { 957 std::vector<SBChunkDelete>* chunk_deletes) {
955 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); 958 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop());
956 if (chunk_deletes) { 959 if (chunk_deletes) {
957 GetDatabase()->DeleteChunks(*chunk_deletes); 960 GetDatabase()->DeleteChunks(*chunk_deletes);
958 delete chunk_deletes; 961 delete chunk_deletes;
959 } 962 }
960 } 963 }
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1444 Stop(); 1447 Stop();
1445 1448
1446 if (csd_service_.get()) 1449 if (csd_service_.get())
1447 csd_service_->SetEnabledAndRefreshState(enable); 1450 csd_service_->SetEnabledAndRefreshState(enable);
1448 if (download_service_.get()) { 1451 if (download_service_.get()) {
1449 download_service_->SetEnabled( 1452 download_service_->SetEnabled(
1450 enable && !CommandLine::ForCurrentProcess()->HasSwitch( 1453 enable && !CommandLine::ForCurrentProcess()->HasSwitch(
1451 switches::kDisableImprovedDownloadProtection)); 1454 switches::kDisableImprovedDownloadProtection));
1452 } 1455 }
1453 } 1456 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698