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

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

Issue 1060033003: [chrome/browser/safe_browsing] favor DCHECK_CURRENTLY_ON for better logs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit test break now Created 5 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 unified diff | Download patch
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 // Implementation of the MalwareDetails class. 5 // Implementation of the MalwareDetails class.
6 6
7 #include "chrome/browser/safe_browsing/malware_details.h" 7 #include "chrome/browser/safe_browsing/malware_details.h"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 has_started_ = true; 49 has_started_ = true;
50 50
51 // Post a task in the message loop, so the callers don't need to 51 // Post a task in the message loop, so the callers don't need to
52 // check if we call their callback immediately. 52 // check if we call their callback immediately.
53 BrowserThread::PostTask( 53 BrowserThread::PostTask(
54 BrowserThread::IO, FROM_HERE, 54 BrowserThread::IO, FROM_HERE,
55 base::Bind(&MalwareDetailsCacheCollector::OpenEntry, this)); 55 base::Bind(&MalwareDetailsCacheCollector::OpenEntry, this));
56 } 56 }
57 57
58 bool MalwareDetailsCacheCollector::HasStarted() { 58 bool MalwareDetailsCacheCollector::HasStarted() {
59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 59 DCHECK_CURRENTLY_ON(BrowserThread::IO);
60 return has_started_; 60 return has_started_;
61 } 61 }
62 62
63 MalwareDetailsCacheCollector::~MalwareDetailsCacheCollector() {} 63 MalwareDetailsCacheCollector::~MalwareDetailsCacheCollector() {}
64 64
65 // Fetch a URL and advance to the next one when done. 65 // Fetch a URL and advance to the next one when done.
66 void MalwareDetailsCacheCollector::OpenEntry() { 66 void MalwareDetailsCacheCollector::OpenEntry() {
67 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 67 DCHECK_CURRENTLY_ON(BrowserThread::IO);
68 DVLOG(1) << "OpenEntry"; 68 DVLOG(1) << "OpenEntry";
69 69
70 if (resources_it_ == resources_->end()) { 70 if (resources_it_ == resources_->end()) {
71 AllDone(true); 71 AllDone(true);
72 return; 72 return;
73 } 73 }
74 74
75 if (!request_context_getter_.get()) { 75 if (!request_context_getter_.get()) {
76 DVLOG(1) << "Missing request context getter"; 76 DVLOG(1) << "Missing request context getter";
77 AllDone(false); 77 AllDone(false);
(...skipping 15 matching lines...) Expand all
93 safe_browsing::ResourceMap::iterator it = resources_->find(url.spec()); 93 safe_browsing::ResourceMap::iterator it = resources_->find(url.spec());
94 if (it != resources_->end()) { 94 if (it != resources_->end()) {
95 return it->second.get(); 95 return it->second.get();
96 } 96 }
97 return NULL; 97 return NULL;
98 } 98 }
99 99
100 void MalwareDetailsCacheCollector::OnURLFetchComplete( 100 void MalwareDetailsCacheCollector::OnURLFetchComplete(
101 const net::URLFetcher* source) { 101 const net::URLFetcher* source) {
102 DVLOG(1) << "OnUrlFetchComplete"; 102 DVLOG(1) << "OnUrlFetchComplete";
103 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 103 DCHECK_CURRENTLY_ON(BrowserThread::IO);
104 DCHECK(current_fetch_.get()); 104 DCHECK(current_fetch_.get());
105 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS && 105 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS &&
106 source->GetStatus().error() == net::ERR_CACHE_MISS) { 106 source->GetStatus().error() == net::ERR_CACHE_MISS) {
107 // Cache miss, skip this resource. 107 // Cache miss, skip this resource.
108 DVLOG(1) << "Cache miss for url: " << source->GetURL(); 108 DVLOG(1) << "Cache miss for url: " << source->GetURL();
109 AdvanceEntry(); 109 AdvanceEntry();
110 return; 110 return;
111 } 111 }
112 112
113 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS) { 113 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS) {
(...skipping 18 matching lines...) Expand all
132 std::string data; 132 std::string data;
133 source->GetResponseAsString(&data); 133 source->GetResponseAsString(&data);
134 ReadData(resource, data); 134 ReadData(resource, data);
135 AdvanceEntry(); 135 AdvanceEntry();
136 } 136 }
137 137
138 void MalwareDetailsCacheCollector::ReadResponse( 138 void MalwareDetailsCacheCollector::ReadResponse(
139 ClientMalwareReportRequest::Resource* pb_resource, 139 ClientMalwareReportRequest::Resource* pb_resource,
140 const net::URLFetcher* source) { 140 const net::URLFetcher* source) {
141 DVLOG(1) << "ReadResponse"; 141 DVLOG(1) << "ReadResponse";
142 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 142 DCHECK_CURRENTLY_ON(BrowserThread::IO);
143 net::HttpResponseHeaders* headers = source->GetResponseHeaders(); 143 net::HttpResponseHeaders* headers = source->GetResponseHeaders();
144 if (!headers) { 144 if (!headers) {
145 DVLOG(1) << "Missing response headers."; 145 DVLOG(1) << "Missing response headers.";
146 return; 146 return;
147 } 147 }
148 148
149 ClientMalwareReportRequest::HTTPResponse* pb_response = 149 ClientMalwareReportRequest::HTTPResponse* pb_response =
150 pb_resource->mutable_response(); 150 pb_resource->mutable_response();
151 pb_response->mutable_firstline()->set_code(headers->response_code()); 151 pb_response->mutable_firstline()->set_code(headers->response_code());
152 void* iter = NULL; 152 void* iter = NULL;
(...skipping 12 matching lines...) Expand all
165 165
166 if (!source->WasFetchedViaProxy()) { 166 if (!source->WasFetchedViaProxy()) {
167 pb_response->set_remote_ip(source->GetSocketAddress().ToString()); 167 pb_response->set_remote_ip(source->GetSocketAddress().ToString());
168 } 168 }
169 } 169 }
170 170
171 void MalwareDetailsCacheCollector::ReadData( 171 void MalwareDetailsCacheCollector::ReadData(
172 ClientMalwareReportRequest::Resource* pb_resource, 172 ClientMalwareReportRequest::Resource* pb_resource,
173 const std::string& data) { 173 const std::string& data) {
174 DVLOG(1) << "ReadData"; 174 DVLOG(1) << "ReadData";
175 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 175 DCHECK_CURRENTLY_ON(BrowserThread::IO);
176 ClientMalwareReportRequest::HTTPResponse* pb_response = 176 ClientMalwareReportRequest::HTTPResponse* pb_response =
177 pb_resource->mutable_response(); 177 pb_resource->mutable_response();
178 if (data.size() <= kMaxBodySizeBytes) { // Only send small bodies for now. 178 if (data.size() <= kMaxBodySizeBytes) { // Only send small bodies for now.
179 pb_response->set_body(data); 179 pb_response->set_body(data);
180 } 180 }
181 pb_response->set_bodylength(data.size()); 181 pb_response->set_bodylength(data.size());
182 pb_response->set_bodydigest(base::MD5String(data)); 182 pb_response->set_bodydigest(base::MD5String(data));
183 } 183 }
184 184
185 void MalwareDetailsCacheCollector::AdvanceEntry() { 185 void MalwareDetailsCacheCollector::AdvanceEntry() {
186 DVLOG(1) << "AdvanceEntry"; 186 DVLOG(1) << "AdvanceEntry";
187 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 187 DCHECK_CURRENTLY_ON(BrowserThread::IO);
188 // Advance to the next resource. 188 // Advance to the next resource.
189 ++resources_it_; 189 ++resources_it_;
190 current_fetch_.reset(NULL); 190 current_fetch_.reset(NULL);
191 191
192 // Create a task so we don't take over the IO thread for too long. 192 // Create a task so we don't take over the IO thread for too long.
193 BrowserThread::PostTask( 193 BrowserThread::PostTask(
194 BrowserThread::IO, FROM_HERE, 194 BrowserThread::IO, FROM_HERE,
195 base::Bind(&MalwareDetailsCacheCollector::OpenEntry, this)); 195 base::Bind(&MalwareDetailsCacheCollector::OpenEntry, this));
196 } 196 }
197 197
198 void MalwareDetailsCacheCollector::AllDone(bool success) { 198 void MalwareDetailsCacheCollector::AllDone(bool success) {
199 DVLOG(1) << "AllDone"; 199 DVLOG(1) << "AllDone";
200 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 200 DCHECK_CURRENTLY_ON(BrowserThread::IO);
201 *result_ = success; 201 *result_ = success;
202 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, callback_); 202 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, callback_);
203 callback_.Reset(); 203 callback_.Reset();
204 } 204 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/download_protection_service.cc ('k') | chrome/browser/safe_browsing/malware_details_history.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698