diff options
-rw-r--r-- | content/browser/loader/cross_site_resource_handler.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc index 44d24ce..ccdd321 100644 --- a/content/browser/loader/cross_site_resource_handler.cc +++ b/content/browser/loader/cross_site_resource_handler.cc @@ -68,6 +68,13 @@ void OnCrossSiteResponseHelper(const CrossSiteResponseParams& params) { RenderFrameHostImpl::FromID(params.global_request_id.child_id, params.render_frame_id); if (rfh) { + if (rfh->GetParent()) { + // We should only swap processes for subframes in --site-per-process mode. + // CrossSiteResourceHandler is not installed on subframe requests in + // default Chrome. + CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kSitePerProcess)); + } rfh->OnCrossSiteResponse( params.global_request_id, cross_site_transferring_request.Pass(), params.transfer_url_chain, params.referrer, |