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

Side by Side Diff: chrome/browser/password_manager/native_backend_gnome_x.cc

Issue 269813012: [Password Manager] Remove PSL matching for non-HTML forms (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/password_manager/native_backend_gnome_x.h" 5 #include "chrome/browser/password_manager/native_backend_gnome_x.h"
6 6
7 #include <dlfcn.h> 7 #include <dlfcn.h>
8 #include <gnome-keyring.h> 8 #include <gnome-keyring.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 for (GList* element = g_list_first(found); element != NULL; 158 for (GList* element = g_list_first(found); element != NULL;
159 element = g_list_next(element)) { 159 element = g_list_next(element)) {
160 GnomeKeyringFound* data = static_cast<GnomeKeyringFound*>(element->data); 160 GnomeKeyringFound* data = static_cast<GnomeKeyringFound*>(element->data);
161 GnomeKeyringAttributeList* attrs = data->attributes; 161 GnomeKeyringAttributeList* attrs = data->attributes;
162 162
163 scoped_ptr<PasswordForm> form(FormFromAttributes(attrs)); 163 scoped_ptr<PasswordForm> form(FormFromAttributes(attrs));
164 if (form) { 164 if (form) {
165 if (lookup_form && form->signon_realm != lookup_form->signon_realm) { 165 if (lookup_form && form->signon_realm != lookup_form->signon_realm) {
166 // This is not an exact match, we try PSL matching. 166 // This is not an exact match, we try PSL matching.
167 if (!(PSLMatchingHelper::IsPublicSuffixDomainMatch( 167 if (!(PSLMatchingHelper::IsPublicSuffixDomainMatch(
168 lookup_form->signon_realm, form->signon_realm))) { 168 lookup_form->signon_realm, form->signon_realm)) ||
169 lookup_form->scheme != PasswordForm::SCHEME_HTML ||
vabr (Chromium) 2014/05/07 07:57:38 optional nit: the added tests are cheaper than the
Garrett Casto 2014/05/08 20:01:20 Done.
170 form->scheme != PasswordForm::SCHEME_HTML) {
169 continue; 171 continue;
170 } 172 }
171 psl_domain_match_metric = PSLMatchingHelper::PSL_DOMAIN_MATCH_FOUND; 173 psl_domain_match_metric = PSLMatchingHelper::PSL_DOMAIN_MATCH_FOUND;
172 form->original_signon_realm = form->signon_realm; 174 form->original_signon_realm = form->signon_realm;
173 form->signon_realm = lookup_form->signon_realm; 175 form->signon_realm = lookup_form->signon_realm;
174 form->origin = lookup_form->origin; 176 form->origin = lookup_form->origin;
175 form->action = lookup_form->action; 177 form->action = lookup_form->action;
176 } 178 }
177 if (data->secret) { 179 if (data->secret) {
178 form->password_value = UTF8ToUTF16(data->secret); 180 form->password_value = UTF8ToUTF16(data->secret);
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 } 738 }
737 return true; 739 return true;
738 } 740 }
739 741
740 std::string NativeBackendGnome::GetProfileSpecificAppString() const { 742 std::string NativeBackendGnome::GetProfileSpecificAppString() const {
741 // Originally, the application string was always just "chrome" and used only 743 // Originally, the application string was always just "chrome" and used only
742 // so that we had *something* to search for since GNOME Keyring won't search 744 // so that we had *something* to search for since GNOME Keyring won't search
743 // for nothing. Now we use it to distinguish passwords for different profiles. 745 // for nothing. Now we use it to distinguish passwords for different profiles.
744 return base::StringPrintf("%s-%d", kGnomeKeyringAppString, profile_id_); 746 return base::StringPrintf("%s-%d", kGnomeKeyringAppString, profile_id_);
745 } 747 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698