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

Unified Diff: content/browser/renderer_host/resource_dispatcher_host.cc

Issue 9406001: Factor out ResourceDispatcherHost dependent code around SSLManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix an error on merging tpayne's change Created 8 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/renderer_host/resource_dispatcher_host.cc
diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc
index 10b3bf8f436d836715ef83692298d49a7c0e4a43..f11f48d57445fde866fb24991c32e6f3c29e6a75 100644
--- a/content/browser/renderer_host/resource_dispatcher_host.cc
+++ b/content/browser/renderer_host/resource_dispatcher_host.cc
@@ -380,6 +380,62 @@ ResourceDispatcherHost::CreateResourceHandlerForDownload(
return handler;
}
+ResourceType::Type ResourceDispatcherHost::ResourceTypeForSSLRequest(
+ const GlobalRequestID& id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ net::URLRequest* request = GetURLRequest(id);
+ DCHECK(request);
+ ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
+ DCHECK(info);
+ return info->resource_type();
+}
+
+const GURL& ResourceDispatcherHost::URLForSSLRequest(
+ const GlobalRequestID& id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ net::URLRequest* request = GetURLRequest(id);
+ DCHECK(request);
+ return request->url();
+}
+
+bool ResourceDispatcherHost::RenderViewForSSLRequest(
+ const GlobalRequestID& id,
+ int* render_process_host_id,
+ int* render_view_host_id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ return RenderViewForRequest(
+ GetURLRequest(id), render_process_host_id, render_view_host_id);
+}
+
+void ResourceDispatcherHost::CancelSSLRequest(
+ const GlobalRequestID& id,
+ int error,
+ const net::SSLInfo* ssl_info) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ net::URLRequest* request = GetURLRequest(id);
+ // The request can be NULL if it was cancelled by the renderer (as the
+ // request of the user navigating to a new page from the location bar).
+ if (!request || !request->is_pending())
darin (slow to review) 2012/02/28 23:36:44 NOTE: The request switches to no longer being pen
Takashi Toyoshima 2012/02/29 00:15:24 Can I keep this as is for now? Do you mean pending
+ return;
+ DVLOG(1) << "CancelRequestForInstance() url: " << request->url().spec();
+ if (ssl_info)
+ request->SimulateSSLError(error, *ssl_info);
+ else
+ request->SimulateError(error);
+}
+
+void ResourceDispatcherHost::ContinueSSLRequest(
+ const GlobalRequestID& id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ net::URLRequest* request = GetURLRequest(id);
+ // The request can be NULL if it was cancelled by the renderer (as the
+ // request of the user navigating to a new page from the location bar).
+ if (!request)
+ return;
+ DVLOG(1) << "ContinueRequestForInstance() url: " << request->url().spec();
+ request->ContinueDespiteLastError();
+}
+
void ResourceDispatcherHost::SetRequestInfo(
net::URLRequest* request,
ResourceDispatcherHostRequestInfo* info) {
@@ -1420,7 +1476,10 @@ void ResourceDispatcherHost::OnSSLCertificateError(
const net::SSLInfo& ssl_info,
bool is_hsts_host) {
DCHECK(request);
- SSLManager::OnSSLCertificateError(this, request, ssl_info, is_hsts_host);
+ ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
+ DCHECK(info);
+ GlobalRequestID request_id(info->child_id(), info->request_id());
+ SSLManager::OnSSLCertificateError(this, request_id, ssl_info, is_hsts_host);
}
bool ResourceDispatcherHost::CanGetCookies(

Powered by Google App Engine
This is Rietveld 408576698