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

Unified Diff: chrome/browser/ssl/ssl_manager.cc

Issue 6025009: Get rid of RenderViewHostDelegate::Resource and dispatch the IPC messages dir... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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: chrome/browser/ssl/ssl_manager.cc
===================================================================
--- chrome/browser/ssl/ssl_manager.cc (revision 70223)
+++ chrome/browser/ssl/ssl_manager.cc (working copy)
@@ -10,13 +10,17 @@
#include "chrome/browser/load_from_memory_cache_details.h"
#include "chrome/browser/net/url_request_tracking.h"
#include "chrome/browser/prefs/pref_service.h"
+#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/renderer_host/resource_request_details.h"
+#include "chrome/browser/renderer_host/resource_dispatcher_host.h"
+#include "chrome/browser/renderer_host/resource_dispatcher_host_request_info.h"
#include "chrome/browser/ssl/ssl_cert_error_handler.h"
#include "chrome/browser/ssl/ssl_policy.h"
#include "chrome/browser/ssl/ssl_request_info.h"
#include "chrome/browser/tab_contents/navigation_controller.h"
#include "chrome/browser/tab_contents/navigation_entry.h"
#include "chrome/browser/tab_contents/provisional_load_details.h"
+#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/common/notification_service.h"
#include "chrome/common/pref_names.h"
#include "grit/generated_resources.h"
@@ -118,9 +122,9 @@
registrar_.Add(this, NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR,
Source<NavigationController>(controller_));
registrar_.Add(this, NotificationType::RESOURCE_RESPONSE_STARTED,
- Source<NavigationController>(controller_));
+ NotificationService::AllSources());
registrar_.Add(this, NotificationType::RESOURCE_RECEIVED_REDIRECT,
- Source<NavigationController>(controller_));
+ NotificationService::AllSources());
registrar_.Add(this, NotificationType::LOAD_FROM_MEMORY_CACHE,
Source<NavigationController>(controller_));
registrar_.Add(this, NotificationType::SSL_INTERNAL_STATE_CHANGED,
@@ -204,8 +208,6 @@
}
void SSLManager::DidLoadFromMemoryCache(LoadFromMemoryCacheDetails* details) {
- DCHECK(details);
-
// Simulate loading this resource through the usual path.
// Note that we specify SUB_RESOURCE as the resource type as WebCore only
// caches sub-resources.
@@ -225,7 +227,10 @@
}
void SSLManager::DidStartResourceResponse(ResourceRequestDetails* details) {
- DCHECK(details);
+ RenderViewHost* rvh = RenderViewHost::FromID(
+ details->render_process_id(), details->render_view_id());
+ if (rvh != controller_->tab_contents()->render_view_host())
+ return;
scoped_refptr<SSLRequestInfo> info(new SSLRequestInfo(
details->url(),
@@ -243,6 +248,11 @@
}
void SSLManager::DidReceiveResourceRedirect(ResourceRedirectDetails* details) {
+ RenderViewHost* rvh = RenderViewHost::FromID(
+ details->render_process_id(), details->render_view_id());
+ if (rvh != controller_->tab_contents()->render_view_host())
+ return;
+
// TODO(abarth): Make sure our redirect behavior is correct. If we ever see a
// non-HTTPS resource in the redirect chain, we want to trigger
// insecure content, even if the redirect chain goes back to

Powered by Google App Engine
This is Rietveld 408576698