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 4f4174df73ad34e26fb4e9da4ceb1b8bf8b1d938..601f059fb1acf5714928819310307852258181e8 100644 |
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc |
@@ -253,11 +253,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( |