summaryrefslogtreecommitdiffstats
path: root/chrome/browser/password_manager
diff options
context:
space:
mode:
authorpiatek@google.com <piatek@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-28 21:31:51 +0000
committerpiatek@google.com <piatek@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-28 21:31:51 +0000
commitec44ee042fce7da026a118154dfa68567421eba5 (patch)
treea9e6160006ac0008b5f5a361d337a94909210548 /chrome/browser/password_manager
parent08c8df6704580ae200df4defc158c03e92817c70 (diff)
downloadchromium_src-ec44ee042fce7da026a118154dfa68567421eba5.zip
chromium_src-ec44ee042fce7da026a118154dfa68567421eba5.tar.gz
chromium_src-ec44ee042fce7da026a118154dfa68567421eba5.tar.bz2
SPDY proxy authentication support.
BUG=147591 Review URL: https://chromiumcodereview.appspot.com/10913238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159342 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/password_manager')
-rw-r--r--chrome/browser/password_manager/password_manager.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/password_manager/password_manager.cc b/chrome/browser/password_manager/password_manager.cc
index b3a2a53..fdd0138 100644
--- a/chrome/browser/password_manager/password_manager.cc
+++ b/chrome/browser/password_manager/password_manager.cc
@@ -6,6 +6,7 @@
#include "base/metrics/histogram.h"
#include "base/threading/platform_thread.h"
+#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/password_manager/password_form_manager.h"
#include "chrome/browser/password_manager/password_manager_delegate.h"
@@ -25,6 +26,8 @@ using webkit::forms::PasswordFormMap;
namespace {
+const char kSpdyProxyRealm[] = "/SpdyProxy";
+
// This routine is called when PasswordManagers are constructed.
//
// Currently we report metrics only once at startup. We require
@@ -212,6 +215,11 @@ void PasswordManager::OnPasswordFormsParsed(
for (std::vector<PasswordForm>::const_iterator iter = forms.begin();
iter != forms.end(); ++iter) {
+ // Don't involve the password manager if this form corresponds to
+ // SpdyProxy authentication, as indicated by the realm.
+ if (EndsWith(iter->signon_realm, kSpdyProxyRealm, true))
+ continue;
+
bool ssl_valid = iter->origin.SchemeIsSecure() && !had_ssl_error;
PasswordFormManager* manager =
new PasswordFormManager(delegate_->GetProfile(),