OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "components/autofill/core/browser/autofill_experiments.h" | 5 #include "components/autofill/core/browser/autofill_experiments.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
44 switches::kDisableOfferStoreUnmaskedWalletCards)) | 44 switches::kDisableOfferStoreUnmaskedWalletCards)) |
45 return false; | 45 return false; |
46 | 46 |
47 // Otherwise use the field trial to show the checkbox or not. | 47 // Otherwise use the field trial to show the checkbox or not. |
48 return group_name != "Disabled"; | 48 return group_name != "Disabled"; |
49 #endif | 49 #endif |
50 } | 50 } |
51 | 51 |
52 bool IsCreditCardUploadEnabled(const PrefService* pref_service, | 52 bool IsCreditCardUploadEnabled(const PrefService* pref_service, |
53 const std::string& user_email) { | 53 const std::string& user_email) { |
54 // Query the field trial before checking command line flags to ensure UMA | 54 // Query the field trial first to ensure UMA always reports the correct group. |
55 // reports the correct group. | |
56 std::string group_name = | 55 std::string group_name = |
57 base::FieldTrialList::FindFullName("OfferUploadCreditCards"); | 56 base::FieldTrialList::FindFullName("OfferUploadCreditCards"); |
58 | 57 |
58 // Check user settings. | |
59 if (!pref_service->GetBoolean(prefs::kAutofillWalletSyncExperimentEnabled) || | |
60 !pref_service->GetBoolean(prefs::kAutofillWalletImportEnabled)) { | |
61 return false; | |
62 } | |
63 | |
64 // Check that the user is logged into a supported domain. | |
65 if (user_email.empty()) | |
66 return false; | |
67 std::string domain = gaia::ExtractDomainName(user_email); | |
68 if (!(domain == "googlemail.com" || domain == "gmail.com" || | |
69 domain == "google.com")) { | |
70 return false; | |
71 } | |
Ilya Sherman
2015/12/22 21:32:05
What Finch/variations group do you expect to be re
Justin Donnelly
2015/12/22 21:38:29
My (limited, possibly incorrect) understanding is
Ilya Sherman
2015/12/22 21:52:02
Yes, your understanding is correct, and I see your
| |
72 | |
73 // With the user settings and logged in state verified, now we can consult the | |
74 // command-line flags and experiment settings. | |
59 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 75 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
60 switches::kEnableOfferUploadCreditCards)) | 76 switches::kEnableOfferUploadCreditCards)) { |
61 return true; | 77 return true; |
78 } | |
62 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 79 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
Evan Stade
2015/12/29 17:46:44
this one can still be above
Justin Donnelly
2015/12/29 18:35:19
True. But I prefer to keep it with the other comma
| |
63 switches::kDisableOfferUploadCreditCards)) | 80 switches::kDisableOfferUploadCreditCards)) { |
64 return false; | 81 return false; |
82 } | |
65 | 83 |
66 if (group_name.empty() || group_name == "Disabled") | 84 return !group_name.empty() && group_name != "Disabled"; |
67 return false; | |
68 | |
69 if (!pref_service->GetBoolean(prefs::kAutofillWalletSyncExperimentEnabled) || | |
70 !pref_service->GetBoolean(prefs::kAutofillWalletImportEnabled)) | |
71 return false; | |
72 | |
73 std::string domain = gaia::ExtractDomainName(user_email); | |
74 return domain == "googlemail.com" || domain == "gmail.com" || | |
75 domain == "google.com"; | |
76 } | 85 } |
77 | 86 |
78 } // namespace autofill | 87 } // namespace autofill |
OLD | NEW |