| OLD | NEW | 
|    1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2009 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  |    5  | 
|    6 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |    6 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 
|    7  |    7  | 
|    8 #include "base/command_line.h" |    8 #include "base/command_line.h" | 
|    9 #include "base/histogram.h" |    9 #include "base/histogram.h" | 
|   10 #include "base/logging.h" |   10 #include "base/logging.h" | 
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  203       ChromeThread::IO, FROM_HERE, |  203       ChromeThread::IO, FROM_HERE, | 
|  204       NewRunnableMethod(this, &SafeBrowsingService::OnCheckDone, check)); |  204       NewRunnableMethod(this, &SafeBrowsingService::OnCheckDone, check)); | 
|  205  |  205  | 
|  206   return false; |  206   return false; | 
|  207 } |  207 } | 
|  208  |  208  | 
|  209 void SafeBrowsingService::DisplayBlockingPage(const GURL& url, |  209 void SafeBrowsingService::DisplayBlockingPage(const GURL& url, | 
|  210                                               ResourceType::Type resource_type, |  210                                               ResourceType::Type resource_type, | 
|  211                                               UrlCheckResult result, |  211                                               UrlCheckResult result, | 
|  212                                               Client* client, |  212                                               Client* client, | 
|  213                                               MessageLoop* ui_loop, |  | 
|  214                                               int render_process_host_id, |  213                                               int render_process_host_id, | 
|  215                                               int render_view_id) { |  214                                               int render_view_id) { | 
|  216   // Check if the user has already ignored our warning for this render_view |  215   // Check if the user has already ignored our warning for this render_view | 
|  217   // and domain. |  216   // and domain. | 
|  218   for (size_t i = 0; i < white_listed_entries_.size(); ++i) { |  217   for (size_t i = 0; i < white_listed_entries_.size(); ++i) { | 
|  219     const WhiteListedEntry& entry = white_listed_entries_[i]; |  218     const WhiteListedEntry& entry = white_listed_entries_[i]; | 
|  220     if (entry.render_process_host_id == render_process_host_id && |  219     if (entry.render_process_host_id == render_process_host_id && | 
|  221         entry.render_view_id == render_view_id && |  220         entry.render_view_id == render_view_id && | 
|  222         entry.result == result && |  221         entry.result == result && | 
|  223         entry.domain == |  222         entry.domain == | 
|  224         net::RegistryControlledDomainService::GetDomainAndRegistry(url)) { |  223         net::RegistryControlledDomainService::GetDomainAndRegistry(url)) { | 
|  225       MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod( |  224       MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod( | 
|  226           this, &SafeBrowsingService::NotifyClientBlockingComplete, |  225           this, &SafeBrowsingService::NotifyClientBlockingComplete, | 
|  227           client, true)); |  226           client, true)); | 
|  228       return; |  227       return; | 
|  229     } |  228     } | 
|  230   } |  229   } | 
|  231  |  230  | 
|  232   UnsafeResource resource; |  231   UnsafeResource resource; | 
|  233   resource.url = url; |  232   resource.url = url; | 
|  234   resource.resource_type = resource_type; |  233   resource.resource_type = resource_type; | 
|  235   resource.threat_type= result; |  234   resource.threat_type= result; | 
|  236   resource.client = client; |  235   resource.client = client; | 
|  237   resource.render_process_host_id = render_process_host_id; |  236   resource.render_process_host_id = render_process_host_id; | 
|  238   resource.render_view_id = render_view_id; |  237   resource.render_view_id = render_view_id; | 
|  239  |  238  | 
|  240   // The blocking page must be created from the UI thread. |  239   // The blocking page must be created from the UI thread. | 
|  241   ui_loop->PostTask(FROM_HERE, NewRunnableMethod(this, |  240   ChromeThread::PostTask( | 
|  242       &SafeBrowsingService::DoDisplayBlockingPage, |  241       ChromeThread::UI, FROM_HERE, | 
|  243       resource)); |  242       NewRunnableMethod( | 
 |  243           this, &SafeBrowsingService::DoDisplayBlockingPage, resource)); | 
|  244 } |  244 } | 
|  245  |  245  | 
|  246 // Invoked on the UI thread. |  246 // Invoked on the UI thread. | 
|  247 void SafeBrowsingService::DoDisplayBlockingPage( |  247 void SafeBrowsingService::DoDisplayBlockingPage( | 
|  248     const UnsafeResource& resource) { |  248     const UnsafeResource& resource) { | 
|  249   // The tab might have been closed. |  249   // The tab might have been closed. | 
|  250   TabContents* wc = |  250   TabContents* wc = | 
|  251       tab_util::GetTabContentsByID(resource.render_process_host_id, |  251       tab_util::GetTabContentsByID(resource.render_process_host_id, | 
|  252                                    resource.render_view_id); |  252                                    resource.render_view_id); | 
|  253  |  253  | 
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  673   // report if it's not there. |  673   // report if it's not there. | 
|  674   std::string list; |  674   std::string list; | 
|  675   std::vector<SBPrefix> prefix_hits; |  675   std::vector<SBPrefix> prefix_hits; | 
|  676   std::vector<SBFullHashResult> full_hits; |  676   std::vector<SBFullHashResult> full_hits; | 
|  677   database_->ContainsUrl(page_url, &list, &prefix_hits, &full_hits, |  677   database_->ContainsUrl(page_url, &list, &prefix_hits, &full_hits, | 
|  678                          protocol_manager_->last_update()); |  678                          protocol_manager_->last_update()); | 
|  679  |  679  | 
|  680   if (full_hits.empty()) |  680   if (full_hits.empty()) | 
|  681     protocol_manager_->ReportMalware(malware_url, page_url, referrer_url); |  681     protocol_manager_->ReportMalware(malware_url, page_url, referrer_url); | 
|  682 } |  682 } | 
| OLD | NEW |