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

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

Issue 1734193003: CREDENTIAL: Disable auto sign-in by default for existing credentials. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ugh. Created 4 years, 10 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
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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_libsecret.h" 5 #include "chrome/browser/password_manager/native_backend_libsecret.h"
6 6
7 #include <dlfcn.h> 7 #include <dlfcn.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 {"preferred", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 115 {"preferred", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
116 {"date_created", SECRET_SCHEMA_ATTRIBUTE_STRING}, 116 {"date_created", SECRET_SCHEMA_ATTRIBUTE_STRING},
117 {"blacklisted_by_user", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 117 {"blacklisted_by_user", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
118 {"scheme", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 118 {"scheme", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
119 {"type", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 119 {"type", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
120 {"times_used", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 120 {"times_used", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
121 {"date_synced", SECRET_SCHEMA_ATTRIBUTE_STRING}, 121 {"date_synced", SECRET_SCHEMA_ATTRIBUTE_STRING},
122 {"display_name", SECRET_SCHEMA_ATTRIBUTE_STRING}, 122 {"display_name", SECRET_SCHEMA_ATTRIBUTE_STRING},
123 {"avatar_url", SECRET_SCHEMA_ATTRIBUTE_STRING}, 123 {"avatar_url", SECRET_SCHEMA_ATTRIBUTE_STRING},
124 {"federation_url", SECRET_SCHEMA_ATTRIBUTE_STRING}, 124 {"federation_url", SECRET_SCHEMA_ATTRIBUTE_STRING},
125 {"skip_zero_click", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 125 {"should_skip_zero_click", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
126 {"generation_upload_status", SECRET_SCHEMA_ATTRIBUTE_INTEGER}, 126 {"generation_upload_status", SECRET_SCHEMA_ATTRIBUTE_INTEGER},
127 {"form_data", SECRET_SCHEMA_ATTRIBUTE_STRING}, 127 {"form_data", SECRET_SCHEMA_ATTRIBUTE_STRING},
128 // This field is always "chrome-profile_id" so that we can search for it. 128 // This field is always "chrome-profile_id" so that we can search for it.
129 {"application", SECRET_SCHEMA_ATTRIBUTE_STRING}, 129 {"application", SECRET_SCHEMA_ATTRIBUTE_STRING},
130 {nullptr, SECRET_SCHEMA_ATTRIBUTE_STRING}}}; 130 {nullptr, SECRET_SCHEMA_ATTRIBUTE_STRING}}};
131 131
132 const char* GetStringFromAttributes(GHashTable* attrs, const char* keyname) { 132 const char* GetStringFromAttributes(GHashTable* attrs, const char* keyname) {
133 gpointer value = g_hash_table_lookup(attrs, keyname); 133 gpointer value = g_hash_table_lookup(attrs, keyname);
134 return value ? static_cast<char*>(value) : kEmptyString; 134 return value ? static_cast<char*>(value) : kEmptyString;
135 } 135 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 static_cast<PasswordForm::Scheme>(GetUintFromAttributes(attrs, "scheme")); 188 static_cast<PasswordForm::Scheme>(GetUintFromAttributes(attrs, "scheme"));
189 int64_t date_synced = 0; 189 int64_t date_synced = 0;
190 base::StringToInt64(GetStringFromAttributes(attrs, "date_synced"), 190 base::StringToInt64(GetStringFromAttributes(attrs, "date_synced"),
191 &date_synced); 191 &date_synced);
192 form->date_synced = base::Time::FromInternalValue(date_synced); 192 form->date_synced = base::Time::FromInternalValue(date_synced);
193 form->display_name = 193 form->display_name =
194 UTF8ToUTF16(GetStringFromAttributes(attrs, "display_name")); 194 UTF8ToUTF16(GetStringFromAttributes(attrs, "display_name"));
195 form->icon_url = GURL(GetStringFromAttributes(attrs, "avatar_url")); 195 form->icon_url = GURL(GetStringFromAttributes(attrs, "avatar_url"));
196 form->federation_origin = 196 form->federation_origin =
197 url::Origin(GURL(GetStringFromAttributes(attrs, "federation_url"))); 197 url::Origin(GURL(GetStringFromAttributes(attrs, "federation_url")));
198 form->skip_zero_click = GetUintFromAttributes(attrs, "skip_zero_click"); 198 form->skip_zero_click =
199 g_hash_table_lookup(attrs, "should_skip_zero_click")
200 ? GetUintFromAttributes(attrs, "should_skip_zero_click")
201 : true;
199 form->generation_upload_status = 202 form->generation_upload_status =
200 static_cast<PasswordForm::GenerationUploadStatus>( 203 static_cast<PasswordForm::GenerationUploadStatus>(
201 GetUintFromAttributes(attrs, "generation_upload_status")); 204 GetUintFromAttributes(attrs, "generation_upload_status"));
202 base::StringPiece encoded_form_data = 205 base::StringPiece encoded_form_data =
203 GetStringFromAttributes(attrs, "form_data"); 206 GetStringFromAttributes(attrs, "form_data");
204 if (!encoded_form_data.empty()) { 207 if (!encoded_form_data.empty()) {
205 bool success = DeserializeFormDataFromBase64String(encoded_form_data, 208 bool success = DeserializeFormDataFromBase64String(encoded_form_data,
206 &form->form_data); 209 &form->form_data);
207 password_manager::metrics_util::FormDeserializationStatus status = 210 password_manager::metrics_util::FormDeserializationStatus status =
208 success ? password_manager::metrics_util::GNOME_SUCCESS 211 success ? password_manager::metrics_util::GNOME_SUCCESS
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 "preferred", form.preferred, 472 "preferred", form.preferred,
470 "date_created", base::Int64ToString(date_created).c_str(), 473 "date_created", base::Int64ToString(date_created).c_str(),
471 "blacklisted_by_user", form.blacklisted_by_user, 474 "blacklisted_by_user", form.blacklisted_by_user,
472 "type", form.type, 475 "type", form.type,
473 "times_used", form.times_used, 476 "times_used", form.times_used,
474 "scheme", form.scheme, 477 "scheme", form.scheme,
475 "date_synced", base::Int64ToString(date_synced).c_str(), 478 "date_synced", base::Int64ToString(date_synced).c_str(),
476 "display_name", UTF16ToUTF8(form.display_name).c_str(), 479 "display_name", UTF16ToUTF8(form.display_name).c_str(),
477 "avatar_url", form.icon_url.spec().c_str(), 480 "avatar_url", form.icon_url.spec().c_str(),
478 "federation_url", form.federation_origin.Serialize().c_str(), 481 "federation_url", form.federation_origin.Serialize().c_str(),
479 "skip_zero_click", form.skip_zero_click, 482 "should_skip_zero_click", form.skip_zero_click,
480 "generation_upload_status", form.generation_upload_status, 483 "generation_upload_status", form.generation_upload_status,
481 "form_data", form_data.c_str(), 484 "form_data", form_data.c_str(),
482 "application", app_string_.c_str(), 485 "application", app_string_.c_str(),
483 nullptr); 486 nullptr);
484 // clang-format on 487 // clang-format on
485 488
486 if (error) { 489 if (error) {
487 LOG(ERROR) << "Libsecret add raw login failed: " << error->message; 490 LOG(ERROR) << "Libsecret add raw login failed: " << error->message;
488 g_error_free(error); 491 g_error_free(error);
489 return false; 492 return false;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 UMA_HISTOGRAM_ENUMERATION( 655 UMA_HISTOGRAM_ENUMERATION(
653 "PasswordManager.PslDomainMatchTriggering", 656 "PasswordManager.PslDomainMatchTriggering",
654 password_manager::ShouldPSLDomainMatchingApply(registered_domain) 657 password_manager::ShouldPSLDomainMatchingApply(registered_domain)
655 ? psl_domain_match_metric 658 ? psl_domain_match_metric
656 : password_manager::PSL_DOMAIN_MATCH_NOT_USED, 659 : password_manager::PSL_DOMAIN_MATCH_NOT_USED,
657 password_manager::PSL_DOMAIN_MATCH_COUNT); 660 password_manager::PSL_DOMAIN_MATCH_COUNT);
658 } 661 }
659 g_list_free(found); 662 g_list_free(found);
660 return forms; 663 return forms;
661 } 664 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698