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

Side by Side Diff: chrome/browser/renderer_host/safe_browsing_resource_throttle.cc

Issue 2241673002: Make UnsafeResource hold a WebContents getter instead of RenderFrame ids (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: android Created 4 years, 4 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 #include "chrome/browser/renderer_host/safe_browsing_resource_throttle.h" 5 #include "chrome/browser/renderer_host/safe_browsing_resource_throttle.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 resource.original_url = request_->original_url(); 255 resource.original_url = request_->original_url();
256 resource.redirect_urls = redirect_urls_; 256 resource.redirect_urls = redirect_urls_;
257 resource.is_subresource = resource_type_ != content::RESOURCE_TYPE_MAIN_FRAME; 257 resource.is_subresource = resource_type_ != content::RESOURCE_TYPE_MAIN_FRAME;
258 resource.is_subframe = resource_type_ == content::RESOURCE_TYPE_SUB_FRAME; 258 resource.is_subframe = resource_type_ == content::RESOURCE_TYPE_SUB_FRAME;
259 resource.threat_type = threat_type; 259 resource.threat_type = threat_type;
260 resource.threat_metadata = metadata; 260 resource.threat_metadata = metadata;
261 resource.callback = base::Bind( 261 resource.callback = base::Bind(
262 &SafeBrowsingResourceThrottle::OnBlockingPageComplete, AsWeakPtr()); 262 &SafeBrowsingResourceThrottle::OnBlockingPageComplete, AsWeakPtr());
263 resource.callback_thread = content::BrowserThread::GetTaskRunnerForThread( 263 resource.callback_thread = content::BrowserThread::GetTaskRunnerForThread(
264 content::BrowserThread::IO); 264 content::BrowserThread::IO);
265 resource.render_process_host_id = info->GetChildID(); 265 resource.web_contents_getter = info->GetWebContentsGetterForRequest();
266 resource.render_frame_id = info->GetRenderFrameID();
267 resource.threat_source = database_manager_->GetThreatSource(); 266 resource.threat_source = database_manager_->GetThreatSource();
268 267
269 state_ = STATE_DISPLAYING_BLOCKING_PAGE; 268 state_ = STATE_DISPLAYING_BLOCKING_PAGE;
270 269
271 content::BrowserThread::PostTask( 270 content::BrowserThread::PostTask(
272 content::BrowserThread::UI, 271 content::BrowserThread::UI, FROM_HERE,
273 FROM_HERE,
274 base::Bind(&SafeBrowsingResourceThrottle::StartDisplayingBlockingPage, 272 base::Bind(&SafeBrowsingResourceThrottle::StartDisplayingBlockingPage,
275 AsWeakPtr(), ui_manager_, resource)); 273 AsWeakPtr(), ui_manager_, resource, info->GetChildID(),
274 info->GetRenderFrameID()));
276 } 275 }
277 276
278 void SafeBrowsingResourceThrottle::StartDisplayingBlockingPage( 277 void SafeBrowsingResourceThrottle::StartDisplayingBlockingPage(
279 const base::WeakPtr<SafeBrowsingResourceThrottle>& throttle, 278 const base::WeakPtr<SafeBrowsingResourceThrottle>& throttle,
280 scoped_refptr<SafeBrowsingUIManager> ui_manager, 279 scoped_refptr<SafeBrowsingUIManager> ui_manager,
281 const SafeBrowsingUIManager::UnsafeResource& resource) { 280 const SafeBrowsingUIManager::UnsafeResource& resource,
282 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID( 281 int child_id,
283 resource.render_process_host_id, resource.render_frame_id); 282 int render_frame_id) {
283 content::RenderFrameHost* rfh =
284 content::RenderFrameHost::FromID(child_id, render_frame_id);
284 if (rfh) { 285 if (rfh) {
jam 2016/08/15 19:49:10 nit: no need to pass in the two IDs, just call the
scottmg 2016/08/15 19:57:18 Done.
285 content::WebContents* web_contents = 286 content::WebContents* web_contents = resource.web_contents_getter.Run();
286 content::WebContents::FromRenderFrameHost(rfh);
287 prerender::PrerenderContents* prerender_contents = 287 prerender::PrerenderContents* prerender_contents =
288 prerender::PrerenderContents::FromWebContents(web_contents); 288 prerender::PrerenderContents::FromWebContents(web_contents);
289 289
290 subresource_filter::ContentSubresourceFilterDriverFactory* driver_factory = 290 subresource_filter::ContentSubresourceFilterDriverFactory* driver_factory =
291 subresource_filter::ContentSubresourceFilterDriverFactory:: 291 subresource_filter::ContentSubresourceFilterDriverFactory::
292 FromWebContents(web_contents); 292 FromWebContents(web_contents);
293 DCHECK(driver_factory); 293 DCHECK(driver_factory);
294 driver_factory->OnMainResourceMatchedSafeBrowsingBlacklist( 294 driver_factory->OnMainResourceMatchedSafeBrowsingBlacklist(
295 resource.url, resource.redirect_urls, 295 resource.url, resource.redirect_urls,
296 resource.threat_metadata.threat_pattern_type); 296 resource.threat_metadata.threat_pattern_type);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 unchecked_redirect_url_, "defer_reason", 393 unchecked_redirect_url_, "defer_reason",
394 "resumed_redirect"); 394 "resumed_redirect");
395 } 395 }
396 } 396 }
397 397
398 if (resume) { 398 if (resume) {
399 defer_state_ = DEFERRED_NONE; 399 defer_state_ = DEFERRED_NONE;
400 controller()->Resume(); 400 controller()->Resume();
401 } 401 }
402 } 402 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698