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

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

Issue 1488423002: Don't collect safebrowsing DOM details if the warning was main page load blocking. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove log lines Created 5 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
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 ThreatDetails class. 5 // Implementation of the ThreatDetails class.
6 6
7 #include "chrome/browser/safe_browsing/threat_details.h" 7 #include "chrome/browser/safe_browsing/threat_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 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 // Set the previous redirect url as the parent of the next one 220 // Set the previous redirect url as the parent of the next one
221 for (size_t i = 0; i < resource_.redirect_urls.size(); ++i) { 221 for (size_t i = 0; i < resource_.redirect_urls.size(); ++i) {
222 AddUrl(resource_.redirect_urls[i], parent_url, std::string(), NULL); 222 AddUrl(resource_.redirect_urls[i], parent_url, std::string(), NULL);
223 parent_url = resource_.redirect_urls[i]; 223 parent_url = resource_.redirect_urls[i];
224 } 224 }
225 225
226 // Add the referrer url. 226 // Add the referrer url.
227 if (nav_entry && !referrer_url.is_empty()) 227 if (nav_entry && !referrer_url.is_empty())
228 AddUrl(referrer_url, GURL(), std::string(), NULL); 228 AddUrl(referrer_url, GURL(), std::string(), NULL);
229 229
230 // Get URLs of frames, scripts etc from the DOM. 230 if (!resource_.IsMainPageLoadBlocked()) {
231 // OnReceivedThreatDOMDetails will be called when the renderer replies. 231 // Get URLs of frames, scripts etc from the DOM.
232 content::RenderViewHost* view = web_contents()->GetRenderViewHost(); 232 // OnReceivedThreatDOMDetails will be called when the renderer replies.
233 view->Send(new SafeBrowsingMsg_GetThreatDOMDetails(view->GetRoutingID())); 233 // TODO(mattm): In theory, if the user proceeds through the warning DOM
234 // detail collection could be started once the page loads.
235 content::RenderViewHost* view = web_contents()->GetRenderViewHost();
236 view->Send(new SafeBrowsingMsg_GetThreatDOMDetails(view->GetRoutingID()));
237 }
234 } 238 }
235 239
236 // When the renderer is done, this is called. 240 // When the renderer is done, this is called.
237 void ThreatDetails::OnReceivedThreatDOMDetails( 241 void ThreatDetails::OnReceivedThreatDOMDetails(
238 const std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node>& params) { 242 const std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node>& params) {
239 // Schedule this in IO thread, so it doesn't conflict with future users 243 // Schedule this in IO thread, so it doesn't conflict with future users
240 // of our data structures (eg GetSerializedReport). 244 // of our data structures (eg GetSerializedReport).
241 BrowserThread::PostTask( 245 BrowserThread::PostTask(
242 BrowserThread::IO, FROM_HERE, 246 BrowserThread::IO, FROM_HERE,
243 base::Bind(&ThreatDetails::AddDOMDetails, this, params)); 247 base::Bind(&ThreatDetails::AddDOMDetails, this, params));
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 // Send the report, using the SafeBrowsingService. 339 // Send the report, using the SafeBrowsingService.
336 std::string serialized; 340 std::string serialized;
337 if (!report_->SerializeToString(&serialized)) { 341 if (!report_->SerializeToString(&serialized)) {
338 DLOG(ERROR) << "Unable to serialize the threat report."; 342 DLOG(ERROR) << "Unable to serialize the threat report.";
339 return; 343 return;
340 } 344 }
341 ui_manager_->SendSerializedThreatDetails(serialized); 345 ui_manager_->SendSerializedThreatDetails(serialized);
342 } 346 }
343 347
344 } // namespace safe_browsing 348 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc ('k') | chrome/browser/safe_browsing/ui_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698