| Index: content/browser/frame_host/interstitial_page_impl.cc
|
| diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc
|
| index 9e63d829f1ae2fa5b32dbb9a8aeae248441e0e42..5aef7e185165a95d392c2618d3010cb11aeedd86 100644
|
| --- a/content/browser/frame_host/interstitial_page_impl.cc
|
| +++ b/content/browser/frame_host/interstitial_page_impl.cc
|
| @@ -53,28 +53,6 @@ using blink::WebDragOperation;
|
| using blink::WebDragOperationsMask;
|
|
|
| namespace content {
|
| -namespace {
|
| -
|
| -void ResourceRequestHelper(ResourceDispatcherHostImpl* rdh,
|
| - int process_id,
|
| - int render_view_host_id,
|
| - ResourceRequestAction action) {
|
| - switch (action) {
|
| - case BLOCK:
|
| - rdh->BlockRequestsForRoute(process_id, render_view_host_id);
|
| - break;
|
| - case RESUME:
|
| - rdh->ResumeBlockedRequestsForRoute(process_id, render_view_host_id);
|
| - break;
|
| - case CANCEL:
|
| - rdh->CancelBlockedRequestsForRoute(process_id, render_view_host_id);
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - }
|
| -}
|
| -
|
| -} // namespace
|
|
|
| class InterstitialPageImpl::InterstitialPageRVHDelegateView
|
| : public RenderViewHostDelegateView {
|
| @@ -839,22 +817,27 @@ void InterstitialPageImpl::TakeActionOnResourceDispatcher(
|
| // The tab might not have a render_view_host if it was closed (in which case,
|
| // we have taken care of the blocked requests when processing
|
| // NOTIFY_RENDER_WIDGET_HOST_DESTROYED.
|
| - // Also we need to test there is a ResourceDispatcherHostImpl, as when unit-
|
| - // tests we don't have one.
|
| + // ResourceDispatcherHostImpl tests its own existence, as unit-tests don't
|
| + // have one.
|
| RenderViewHostImpl* rvh = RenderViewHostImpl::FromID(original_child_id_,
|
| original_rvh_id_);
|
| - if (!rvh || !ResourceDispatcherHostImpl::Get())
|
| + if (!rvh)
|
| return;
|
|
|
| - BrowserThread::PostTask(
|
| - BrowserThread::IO,
|
| - FROM_HERE,
|
| - base::Bind(
|
| - &ResourceRequestHelper,
|
| - ResourceDispatcherHostImpl::Get(),
|
| - original_child_id_,
|
| - original_rvh_id_,
|
| - action));
|
| + base::Callback<void(ResourceDispatcherHostImpl*, const GlobalFrameRoutingId&)>
|
| + frame_callback = base::Bind([](ResourceRequestAction action) {
|
| + switch (action) {
|
| + case BLOCK:
|
| + return &ResourceDispatcherHostImpl::BlockRequestsForRoute;
|
| + case RESUME:
|
| + return &ResourceDispatcherHostImpl::ResumeBlockedRequestsForRoute;
|
| + default:
|
| + DCHECK_EQ(action, CANCEL);
|
| + return &ResourceDispatcherHostImpl::CancelBlockedRequestsForRoute;
|
| + }
|
| + }(action));
|
| + ResourceDispatcherHostImpl::NotifyForEachFrame(
|
| + rvh->GetDelegate()->GetFrameTree(), frame_callback);
|
| }
|
|
|
| void InterstitialPageImpl::OnDomOperationResponse(
|
|
|