Index: chrome/browser/extensions/extension_protocols.cc |
diff --git a/chrome/browser/extensions/extension_protocols.cc b/chrome/browser/extensions/extension_protocols.cc |
index 217afa83238ef10c5bead8fe22719a03ab59f6de..80250c6a030bc64f934cbbdfd3ca4624070d6cb0 100644 |
--- a/chrome/browser/extensions/extension_protocols.cc |
+++ b/chrome/browser/extensions/extension_protocols.cc |
@@ -385,6 +385,12 @@ bool AllowExtensionResourceLoad(net::URLRequest* request, |
return true; |
} |
+ // If the request is for navigations outside of webviews, then it should be |
+ // allowed. The navigation logic in CrossSiteResourceHandler will properly |
+ // transfer the navigation to a privileged process before it commits. |
+ if (ResourceType::IsFrame(info->GetResourceType()) && !is_guest) |
+ return true; |
+ |
if (!content::PageTransitionIsWebTriggerable(info->GetPageTransition())) |
return false; |