Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/autofill/core/browser/autofill_manager.h" | 5 #include "components/autofill/core/browser/autofill_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 215 download_manager_.reset(new AutofillDownloadManager(driver, this)); | 215 download_manager_.reset(new AutofillDownloadManager(driver, this)); |
| 216 } | 216 } |
| 217 CountryNames::SetLocaleString(app_locale_); | 217 CountryNames::SetLocaleString(app_locale_); |
| 218 } | 218 } |
| 219 | 219 |
| 220 AutofillManager::~AutofillManager() {} | 220 AutofillManager::~AutofillManager() {} |
| 221 | 221 |
| 222 // static | 222 // static |
| 223 void AutofillManager::RegisterProfilePrefs( | 223 void AutofillManager::RegisterProfilePrefs( |
| 224 user_prefs::PrefRegistrySyncable* registry) { | 224 user_prefs::PrefRegistrySyncable* registry) { |
| 225 // This pref is not synced because it's for a signin promo, which by | |
| 226 // definition will not be synced. | |
| 227 registry->RegisterIntegerPref( | |
| 228 prefs::kAutofillCreditCardSigninPromoImpressionCount, 0); | |
| 225 registry->RegisterBooleanPref( | 229 registry->RegisterBooleanPref( |
| 226 prefs::kAutofillEnabled, | 230 prefs::kAutofillEnabled, |
| 227 true, | 231 true, |
| 228 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 232 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 229 registry->RegisterBooleanPref( | 233 registry->RegisterBooleanPref( |
| 230 prefs::kAutofillProfileUseDatesFixed, false, | 234 prefs::kAutofillProfileUseDatesFixed, false, |
| 231 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 235 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 232 registry->RegisterIntegerPref( | 236 registry->RegisterIntegerPref( |
| 233 prefs::kAutofillLastVersionDeduped, 0, | 237 prefs::kAutofillLastVersionDeduped, 0, |
| 234 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 238 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 268 | 272 |
| 269 static const int kShowScanCreditCardMaxValueLength = 6; | 273 static const int kShowScanCreditCardMaxValueLength = 6; |
| 270 return field.value.size() <= kShowScanCreditCardMaxValueLength && | 274 return field.value.size() <= kShowScanCreditCardMaxValueLength && |
| 271 base::ContainsOnlyChars(CreditCard::StripSeparators(field.value), | 275 base::ContainsOnlyChars(CreditCard::StripSeparators(field.value), |
| 272 base::ASCIIToUTF16("0123456789")); | 276 base::ASCIIToUTF16("0123456789")); |
| 273 } | 277 } |
| 274 | 278 |
| 275 bool AutofillManager::ShouldShowCreditCardSigninPromo( | 279 bool AutofillManager::ShouldShowCreditCardSigninPromo( |
| 276 const FormData& form, | 280 const FormData& form, |
| 277 const FormFieldData& field) { | 281 const FormFieldData& field) { |
| 282 if (!IsAutofillCreditCardSigninPromoEnabled()) | |
| 283 return false; | |
| 284 | |
| 278 // Check whether we are dealing with a credit card field and whether it's | 285 // Check whether we are dealing with a credit card field and whether it's |
| 279 // appropriate to show the promo (e.g. the platform is supported). | 286 // appropriate to show the promo (e.g. the platform is supported). |
| 280 AutofillField* autofill_field = GetAutofillField(form, field); | 287 AutofillField* autofill_field = GetAutofillField(form, field); |
| 281 return autofill_field && autofill_field->Type().group() == CREDIT_CARD && | 288 if (!autofill_field || autofill_field->Type().group() != CREDIT_CARD || |
| 282 client_->ShouldShowSigninPromo(); | 289 !client_->ShouldShowSigninPromo()) |
| 290 return false; | |
| 291 | |
| 292 // The last step is checking if we are under the limit of impressions (a limit | |
| 293 // of 0 means there is no limit); | |
| 294 int impression_limit = GetCreditCardSigninPromoImpressionLimit(); | |
| 295 int impression_count = client_->GetPrefs()->GetInteger( | |
| 296 prefs::kAutofillCreditCardSigninPromoImpressionCount); | |
| 297 if (impression_limit == 0 || impression_count < impression_limit) { | |
| 298 // The promo is guaranteed to be shown. Increment the impression count. | |
|
sebsg
2016/07/14 15:32:13
Nit: I'm not sure about the phrasing. From what I
Mathieu
2016/07/14 21:51:44
Done.
| |
| 299 client_->GetPrefs()->SetInteger( | |
| 300 prefs::kAutofillCreditCardSigninPromoImpressionCount, | |
| 301 impression_count + 1); | |
| 302 return true; | |
| 303 } | |
| 304 | |
| 305 return false; | |
| 283 } | 306 } |
| 284 | 307 |
| 285 void AutofillManager::OnFormsSeen(const std::vector<FormData>& forms, | 308 void AutofillManager::OnFormsSeen(const std::vector<FormData>& forms, |
| 286 const TimeTicks& timestamp) { | 309 const TimeTicks& timestamp) { |
| 287 if (!IsValidFormDataVector(forms)) | 310 if (!IsValidFormDataVector(forms)) |
| 288 return; | 311 return; |
| 289 | 312 |
| 290 if (!driver_->RendererIsAvailable()) | 313 if (!driver_->RendererIsAvailable()) |
| 291 return; | 314 return; |
| 292 | 315 |
| (...skipping 1737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2030 if (i > 0) | 2053 if (i > 0) |
| 2031 fputs("Next oldest form:\n", file); | 2054 fputs("Next oldest form:\n", file); |
| 2032 } | 2055 } |
| 2033 fputs("\n", file); | 2056 fputs("\n", file); |
| 2034 | 2057 |
| 2035 fclose(file); | 2058 fclose(file); |
| 2036 } | 2059 } |
| 2037 #endif // ENABLE_FORM_DEBUG_DUMP | 2060 #endif // ENABLE_FORM_DEBUG_DUMP |
| 2038 | 2061 |
| 2039 } // namespace autofill | 2062 } // namespace autofill |
| OLD | NEW |