Fix SSL client auth selector multi-profile handling.
The NotificationSource is changed to be the HttpNetworkSession the request is associated with, so that the observer can watch only NOTIFICATION_SSL_CLIENT_AUTH_CERT_SELECTED notifications from the same session.
BUG=99385
TEST=Open same site in two profiles (or normal and incognito window) and try authenticating. The window(s) for the other profile should be unaffected.
Review URL: http://codereview.chromium.org/8227035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106609 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/ssl/ssl_client_auth_handler.h b/content/browser/ssl/ssl_client_auth_handler.h
index 3a6468a..f5a0997 100644
--- a/content/browser/ssl/ssl_client_auth_handler.h
+++ b/content/browser/ssl/ssl_client_auth_handler.h
@@ -15,6 +15,7 @@
#include "net/base/ssl_cert_request_info.h"
namespace net {
+class HttpNetworkSession;
class URLRequest;
class X509Certificate;
} // namespace net
@@ -51,6 +52,11 @@
// Returns the SSLCertRequestInfo for this handler.
net::SSLCertRequestInfo* cert_request_info() { return cert_request_info_; }
+ // Returns the session the URL request is associated with.
+ const net::HttpNetworkSession* http_network_session() const {
+ return http_network_session_;
+ }
+
protected:
virtual ~SSLClientAuthHandler();
@@ -71,6 +77,9 @@
// The net::URLRequest that triggered this client auth.
net::URLRequest* request_;
+ // The HttpNetworkSession |request_| is associated with.
+ const net::HttpNetworkSession* http_network_session_;
+
// The certs to choose from.
scoped_refptr<net::SSLCertRequestInfo> cert_request_info_;