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 053417238c01599cdefcb6d26c956c5301dbccc6..c99452382986b316a7ca7b8703e34c1a5731cfce 100644 |
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
@@ -240,11 +240,18 @@ ResourceDispatcherHostLoginDelegate* |
return CreateLoginPrompt(auth_info, request); |
} |
-void ChromeResourceDispatcherHostDelegate::HandleExternalProtocol( |
+bool ChromeResourceDispatcherHostDelegate::HandleExternalProtocol( |
const GURL& url, int child_id, int route_id) { |
+#if defined(OS_ANDROID) |
+ // Android use a resource throttle to handle external as well as internal |
+ // protocols. |
+ return false; |
+#else |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
base::Bind(&ExternalProtocolHandler::LaunchUrl, url, child_id, route_id)); |
+ return true; |
+#endif |
} |
void ChromeResourceDispatcherHostDelegate::AppendStandardResourceThrottles( |