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_;