Index: chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
index 094ad36d1d50d83749d9d5bfccd19cdb8e1cf1c6..55680e0addb590205c7201c9d5b1e7f3faeb8a91 100644 |
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
@@ -526,8 +526,13 @@ bool ChromeResourceDispatcherHostDelegate::HandleExternalProtocol( |
ui::PageTransition page_transition, |
bool has_user_gesture) { |
#if defined(ENABLE_EXTENSIONS) |
- if (extensions::WebViewRendererState::GetInstance()->IsGuest(child_id)) |
+ // External protocols are disabled for guests. An exception is made for the |
+ // "mailto" protocol, so that pages that utilize it work properly in a |
+ // WebView. |
+ if (extensions::WebViewRendererState::GetInstance()->IsGuest(child_id) && |
+ !url.SchemeIs("mailto")) { |
lazyboy
2015/07/07 19:32:11
use url::kMailToScheme
paulmeyer
2015/07/08 17:20:15
Done.
|
return false; |
+ } |
#endif // defined(ENABLE_EXTENSIONS) |
#if defined(OS_ANDROID) |