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

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: Created 4 years, 9 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 // Only overwrite the default value of 'skip_zero_click' if we can read a
199 // value from the backend. Otherwise, leave it alone.
vasilii 2016/02/26 11:46:31 Any reason not to assign the member in all the cas
Mike West 2016/02/26 12:29:34 *shrug* I can add an assignment.
200 if (g_hash_table_lookup(attrs, "should_skip_zero_click")) {
201 form->skip_zero_click = GetUintFromAttributes(attrs,
202 "should_skip_zero_click");
203 }
199 form->generation_upload_status = 204 form->generation_upload_status =
200 static_cast<PasswordForm::GenerationUploadStatus>( 205 static_cast<PasswordForm::GenerationUploadStatus>(
201 GetUintFromAttributes(attrs, "generation_upload_status")); 206 GetUintFromAttributes(attrs, "generation_upload_status"));
202 base::StringPiece encoded_form_data = 207 base::StringPiece encoded_form_data =
203 GetStringFromAttributes(attrs, "form_data"); 208 GetStringFromAttributes(attrs, "form_data");
204 if (!encoded_form_data.empty()) { 209 if (!encoded_form_data.empty()) {
205 bool success = DeserializeFormDataFromBase64String(encoded_form_data, 210 bool success = DeserializeFormDataFromBase64String(encoded_form_data,
206 &form->form_data); 211 &form->form_data);
207 password_manager::metrics_util::FormDeserializationStatus status = 212 password_manager::metrics_util::FormDeserializationStatus status =
208 success ? password_manager::metrics_util::GNOME_SUCCESS 213 success ? password_manager::metrics_util::GNOME_SUCCESS
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 "preferred", form.preferred, 474 "preferred", form.preferred,
470 "date_created", base::Int64ToString(date_created).c_str(), 475 "date_created", base::Int64ToString(date_created).c_str(),
471 "blacklisted_by_user", form.blacklisted_by_user, 476 "blacklisted_by_user", form.blacklisted_by_user,
472 "type", form.type, 477 "type", form.type,
473 "times_used", form.times_used, 478 "times_used", form.times_used,
474 "scheme", form.scheme, 479 "scheme", form.scheme,
475 "date_synced", base::Int64ToString(date_synced).c_str(), 480 "date_synced", base::Int64ToString(date_synced).c_str(),
476 "display_name", UTF16ToUTF8(form.display_name).c_str(), 481 "display_name", UTF16ToUTF8(form.display_name).c_str(),
477 "avatar_url", form.icon_url.spec().c_str(), 482 "avatar_url", form.icon_url.spec().c_str(),
478 "federation_url", form.federation_origin.Serialize().c_str(), 483 "federation_url", form.federation_origin.Serialize().c_str(),
479 "skip_zero_click", form.skip_zero_click, 484 "should_skip_zero_click", form.skip_zero_click,
480 "generation_upload_status", form.generation_upload_status, 485 "generation_upload_status", form.generation_upload_status,
481 "form_data", form_data.c_str(), 486 "form_data", form_data.c_str(),
482 "application", app_string_.c_str(), 487 "application", app_string_.c_str(),
483 nullptr); 488 nullptr);
484 // clang-format on 489 // clang-format on
485 490
486 if (error) { 491 if (error) {
487 LOG(ERROR) << "Libsecret add raw login failed: " << error->message; 492 LOG(ERROR) << "Libsecret add raw login failed: " << error->message;
488 g_error_free(error); 493 g_error_free(error);
489 return false; 494 return false;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 UMA_HISTOGRAM_ENUMERATION( 657 UMA_HISTOGRAM_ENUMERATION(
653 "PasswordManager.PslDomainMatchTriggering", 658 "PasswordManager.PslDomainMatchTriggering",
654 password_manager::ShouldPSLDomainMatchingApply(registered_domain) 659 password_manager::ShouldPSLDomainMatchingApply(registered_domain)
655 ? psl_domain_match_metric 660 ? psl_domain_match_metric
656 : password_manager::PSL_DOMAIN_MATCH_NOT_USED, 661 : password_manager::PSL_DOMAIN_MATCH_NOT_USED,
657 password_manager::PSL_DOMAIN_MATCH_COUNT); 662 password_manager::PSL_DOMAIN_MATCH_COUNT);
658 } 663 }
659 g_list_free(found); 664 g_list_free(found);
660 return forms; 665 return forms;
661 } 666 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698