Index: content/browser/loader/cross_site_resource_handler.cc |
diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc |
index 44d24ce8a36984fcb8afdb94f50dfe05a1a1613d..ccdd321ef3362af8fe3dcca1c08eb856a004ad93 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, |