| OLD | NEW |
| 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/loader/safe_browsing_resource_throttle.h" | 5 #include "chrome/browser/loader/safe_browsing_resource_throttle.h" |
| 6 | 6 |
| 7 #include <iterator> | 7 #include <iterator> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 resource_type_, content::RESOURCE_TYPE_LAST_TYPE); | 266 resource_type_, content::RESOURCE_TYPE_LAST_TYPE); |
| 267 return; | 267 return; |
| 268 } | 268 } |
| 269 | 269 |
| 270 UMA_HISTOGRAM_ENUMERATION("SB2.ResourceTypes2.Unsafe", resource_type_, | 270 UMA_HISTOGRAM_ENUMERATION("SB2.ResourceTypes2.Unsafe", resource_type_, |
| 271 content::RESOURCE_TYPE_LAST_TYPE); | 271 content::RESOURCE_TYPE_LAST_TYPE); |
| 272 | 272 |
| 273 const content::ResourceRequestInfo* info = | 273 const content::ResourceRequestInfo* info = |
| 274 content::ResourceRequestInfo::ForRequest(request_); | 274 content::ResourceRequestInfo::ForRequest(request_); |
| 275 | 275 |
| 276 SafeBrowsingUIManager::UnsafeResource resource; | 276 security_interstitials::UnsafeResource resource; |
| 277 resource.url = url; | 277 resource.url = url; |
| 278 resource.original_url = request_->original_url(); | 278 resource.original_url = request_->original_url(); |
| 279 resource.redirect_urls = redirect_urls_; | 279 resource.redirect_urls = redirect_urls_; |
| 280 resource.is_subresource = resource_type_ != content::RESOURCE_TYPE_MAIN_FRAME; | 280 resource.is_subresource = resource_type_ != content::RESOURCE_TYPE_MAIN_FRAME; |
| 281 resource.is_subframe = resource_type_ == content::RESOURCE_TYPE_SUB_FRAME; | 281 resource.is_subframe = resource_type_ == content::RESOURCE_TYPE_SUB_FRAME; |
| 282 resource.threat_type = threat_type; | 282 resource.threat_type = threat_type; |
| 283 resource.threat_metadata = metadata; | 283 resource.threat_metadata = metadata; |
| 284 resource.callback = base::Bind( | 284 resource.callback = base::Bind( |
| 285 &SafeBrowsingResourceThrottle::OnBlockingPageComplete, AsWeakPtr()); | 285 &SafeBrowsingResourceThrottle::OnBlockingPageComplete, AsWeakPtr()); |
| 286 resource.callback_thread = content::BrowserThread::GetTaskRunnerForThread( | 286 resource.callback_thread = content::BrowserThread::GetTaskRunnerForThread( |
| 287 content::BrowserThread::IO); | 287 content::BrowserThread::IO); |
| 288 resource.web_contents_getter = info->GetWebContentsGetterForRequest(); | 288 resource.web_contents_getter = info->GetWebContentsGetterForRequest(); |
| 289 resource.threat_source = database_manager_->GetThreatSource(); | 289 resource.threat_source = database_manager_->GetThreatSource(); |
| 290 | 290 |
| 291 state_ = STATE_DISPLAYING_BLOCKING_PAGE; | 291 state_ = STATE_DISPLAYING_BLOCKING_PAGE; |
| 292 | 292 |
| 293 content::BrowserThread::PostTask( | 293 content::BrowserThread::PostTask( |
| 294 content::BrowserThread::UI, FROM_HERE, | 294 content::BrowserThread::UI, FROM_HERE, |
| 295 base::Bind(&SafeBrowsingResourceThrottle::StartDisplayingBlockingPage, | 295 base::Bind(&SafeBrowsingResourceThrottle::StartDisplayingBlockingPage, |
| 296 AsWeakPtr(), ui_manager_, resource)); | 296 AsWeakPtr(), ui_manager_, resource)); |
| 297 } | 297 } |
| 298 | 298 |
| 299 void SafeBrowsingResourceThrottle::StartDisplayingBlockingPage( | 299 void SafeBrowsingResourceThrottle::StartDisplayingBlockingPage( |
| 300 const base::WeakPtr<SafeBrowsingResourceThrottle>& throttle, | 300 const base::WeakPtr<SafeBrowsingResourceThrottle>& throttle, |
| 301 scoped_refptr<SafeBrowsingUIManager> ui_manager, | 301 scoped_refptr<SafeBrowsingUIManager> ui_manager, |
| 302 const SafeBrowsingUIManager::UnsafeResource& resource) { | 302 const security_interstitials::UnsafeResource& resource) { |
| 303 content::WebContents* web_contents = resource.web_contents_getter.Run(); | 303 content::WebContents* web_contents = resource.web_contents_getter.Run(); |
| 304 if (web_contents) { | 304 if (web_contents) { |
| 305 prerender::PrerenderContents* prerender_contents = | 305 prerender::PrerenderContents* prerender_contents = |
| 306 prerender::PrerenderContents::FromWebContents(web_contents); | 306 prerender::PrerenderContents::FromWebContents(web_contents); |
| 307 | 307 |
| 308 // Once activated, the subresource filter will filters subresources, but is | 308 // Once activated, the subresource filter will filters subresources, but is |
| 309 // triggered when the main frame document matches Safe Browsing blacklists. | 309 // triggered when the main frame document matches Safe Browsing blacklists. |
| 310 if (!resource.is_subresource) { | 310 if (!resource.is_subresource) { |
| 311 using subresource_filter::ContentSubresourceFilterDriverFactory; | 311 using subresource_filter::ContentSubresourceFilterDriverFactory; |
| 312 ContentSubresourceFilterDriverFactory* driver_factory = | 312 ContentSubresourceFilterDriverFactory* driver_factory = |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 unchecked_redirect_url_, "defer_reason", | 429 unchecked_redirect_url_, "defer_reason", |
| 430 "resumed_redirect"); | 430 "resumed_redirect"); |
| 431 } | 431 } |
| 432 } | 432 } |
| 433 | 433 |
| 434 if (resume) { | 434 if (resume) { |
| 435 defer_state_ = DEFERRED_NONE; | 435 defer_state_ = DEFERRED_NONE; |
| 436 controller()->Resume(); | 436 controller()->Resume(); |
| 437 } | 437 } |
| 438 } | 438 } |
| OLD | NEW |