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

Unified Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 2646683002: Implement OOPIFs within Devtools Extensions (Closed)
Patch Set: finish rough draft of tests without popup.html Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_manager.cc
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 6de0f24d8ae81b9428617f5287e1fd7fc76a9562..c8e666e33a8f7b63939b7b889c6a660a9d90861f 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -1507,11 +1507,15 @@ bool RenderFrameHostManager::IsRendererTransferNeededForNavigation(
if (rfh->GetSiteInstance()->GetSiteURL().SchemeIs(kGuestScheme))
return false;
- // Don't swap processes for extensions embedded in DevTools. See
- // https://crbug.com/564216.
+ // Don't swap processes for extensions embedded in DevTools, except for
+ // external navigations in iframes. See https://crbug.com/564216.
+
if (rfh->GetSiteInstance()->GetSiteURL().SchemeIs(kChromeDevToolsScheme)) {
- // TODO(nick): https://crbug.com/570483 Check to see if |dest_url| is a
- // devtools extension, and swap processes if not.
+ // TODO(davidsac): add more unsafe schemes, or restrict scheme by default
+ if (dest_url.SchemeIs(url::kHttpScheme) ||
+ dest_url.SchemeIs(url::kHttpsScheme)) {
+ return true;
+ }
return false;
}

Powered by Google App Engine
This is Rietveld 408576698