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

Side by Side Diff: chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc

Issue 2869253002: Add UMA metrics to phishguard pings (Closed)
Patch Set: resolve comments on histograms.xml Created 3 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 #include "chrome/browser/safe_browsing/chrome_password_protection_service.h" 4 #include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
5 5
6 #include "base/test/scoped_feature_list.h" 6 #include "base/test/scoped_feature_list.h"
7 #include "components/variations/variations_params_manager.h" 7 #include "components/variations/variations_params_manager.h"
8 #include "content/public/test/test_browser_thread_bundle.h" 8 #include "content/public/test/test_browser_thread_bundle.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 protected: 68 protected:
69 content::TestBrowserThreadBundle thread_bundle_; 69 content::TestBrowserThreadBundle thread_bundle_;
70 variations::testing::VariationParamsManager params_manager_; 70 variations::testing::VariationParamsManager params_manager_;
71 base::test::ScopedFeatureList scoped_feature_list_; 71 base::test::ScopedFeatureList scoped_feature_list_;
72 }; 72 };
73 73
74 TEST_F(ChromePasswordProtectionServiceTest, 74 TEST_F(ChromePasswordProtectionServiceTest,
75 VerifyFinchControlForLowReputationPingSBEROnlyNoIncognito) { 75 VerifyFinchControlForLowReputationPingSBEROnlyNoIncognito) {
76 MockChromePasswordProtectionService service; 76 MockChromePasswordProtectionService service;
77 PasswordProtectionService::RequestOutcome reason;
78
77 // By default kPasswordFieldOnFocusPinging feature is disabled. 79 // By default kPasswordFieldOnFocusPinging feature is disabled.
78 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 80 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
81 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_FEATURE_DISABLED,
82 reason);
79 83
80 // Enables kPasswordFieldOnFocusPinging feature. 84 // Enables kPasswordFieldOnFocusPinging feature.
81 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging); 85 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging);
82 // Creates finch trial parameters correspond to the following experiment: 86 // Creates finch trial parameters correspond to the following experiment:
83 // "name": "SBEROnlyNoIncognito", 87 // "name": "SBEROnlyNoIncognito",
84 // "params": { 88 // "params": {
85 // "incognito": "false", 89 // "incognito": "false",
86 // "extended_reporting": "true", 90 // "extended_reporting": "true",
87 // "history_sync": "false" 91 // "history_sync": "false"
88 // }, 92 // },
89 // "enable_features": [ 93 // "enable_features": [
90 // "PasswordFieldOnFocusPinging" 94 // "PasswordFieldOnFocusPinging"
91 // ] 95 // ]
92 Parameters sber_and_no_incognito = 96 Parameters sber_and_no_incognito =
93 CreateParameters(false, false, true, false); 97 CreateParameters(false, false, true, false);
94 SetFeatureParams(kPasswordFieldOnFocusPinging, "SBEROnlyNoIncognito", 98 SetFeatureParams(kPasswordFieldOnFocusPinging, "SBEROnlyNoIncognito",
95 sber_and_no_incognito); 99 sber_and_no_incognito);
100
96 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/); 101 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/);
97 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 102 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
103 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_USER_POPULATION, reason);
104
98 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/); 105 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/);
99 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 106 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
107 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_USER_POPULATION, reason);
108
100 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/); 109 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/);
101 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 110 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
111
102 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/); 112 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/);
103 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 113 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
114
104 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/); 115 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/);
105 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 116 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
117 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
118
106 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/); 119 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/);
107 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 120 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
121 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
122
108 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/); 123 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/);
109 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 124 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
125 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
126
110 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/); 127 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/);
111 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 128 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
129 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
112 } 130 }
113 131
114 TEST_F(ChromePasswordProtectionServiceTest, 132 TEST_F(ChromePasswordProtectionServiceTest,
115 VerifyFinchControlForLowReputationPingSBERAndHistorySyncNoIncognito) { 133 VerifyFinchControlForLowReputationPingSBERAndHistorySyncNoIncognito) {
116 MockChromePasswordProtectionService service; 134 MockChromePasswordProtectionService service;
117 // By default kPasswordFieldOnFocusPinging feature is disabled. 135 PasswordProtectionService::RequestOutcome reason;
118 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging));
119 136
120 // Enables kPasswordFieldOnFocusPinging feature. 137 // Enables kPasswordFieldOnFocusPinging feature.
121 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging); 138 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging);
122 // Creates finch trial parameters correspond to the following experiment: 139 // Creates finch trial parameters correspond to the following experiment:
123 // "name": "SBERAndHistorySyncNoIncognito", 140 // "name": "SBERAndHistorySyncNoIncognito",
124 // "params": { 141 // "params": {
125 // "incognito": "false", 142 // "incognito": "false",
126 // "extended_reporting": "true", 143 // "extended_reporting": "true",
127 // "history_sync": "true" 144 // "history_sync": "true"
128 // }, 145 // },
129 // "enable_features": [ 146 // "enable_features": [
130 // "PasswordFieldOnFocusPinging" 147 // "PasswordFieldOnFocusPinging"
131 // ] 148 // ]
132 Parameters sber_and_sync_no_incognito = 149 Parameters sber_and_sync_no_incognito =
133 CreateParameters(false, false, true, true); 150 CreateParameters(false, false, true, true);
134 SetFeatureParams(kPasswordFieldOnFocusPinging, 151 SetFeatureParams(kPasswordFieldOnFocusPinging,
135 "SBERAndHistorySyncNoIncognito", sber_and_sync_no_incognito); 152 "SBERAndHistorySyncNoIncognito", sber_and_sync_no_incognito);
136 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/); 153 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/);
137 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 154 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
155 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_USER_POPULATION, reason);
156
138 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/); 157 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/);
139 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 158 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
159
140 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/); 160 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/);
141 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 161 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
162
142 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/); 163 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/);
143 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 164 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
165
144 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/); 166 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/);
145 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 167 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
168 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
169
146 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/); 170 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/);
147 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 171 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
172 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
173
148 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/); 174 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/);
149 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 175 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
176 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
177
150 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/); 178 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/);
151 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 179 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
180 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
152 } 181 }
153 182
154 TEST_F(ChromePasswordProtectionServiceTest, 183 TEST_F(ChromePasswordProtectionServiceTest,
155 VerifyFinchControlForLowReputationPingAllButNoIncognito) { 184 VerifyFinchControlForLowReputationPingAllButNoIncognito) {
156 MockChromePasswordProtectionService service; 185 MockChromePasswordProtectionService service;
157 // By default kPasswordFieldOnFocusPinging feature is disabled. 186 PasswordProtectionService::RequestOutcome reason;
158 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging));
159 187
160 // Enables kPasswordFieldOnFocusPinging feature. 188 // Enables kPasswordFieldOnFocusPinging feature.
161 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging); 189 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging);
162 // Creates finch trial parameters correspond to the following experiment: 190 // Creates finch trial parameters correspond to the following experiment:
163 // "name": "AllButNoIncognito", 191 // "name": "AllButNoIncognito",
164 // "params": { 192 // "params": {
165 // "all_population": "true", 193 // "all_population": "true",
166 // "incongito": "false" 194 // "incongito": "false"
167 // }, 195 // },
168 // "enable_features": [ 196 // "enable_features": [
169 // "PasswordFieldOnFocusPinging" 197 // "PasswordFieldOnFocusPinging"
170 // ] 198 // ]
171 Parameters all_users = CreateParameters(false, true, true, true); 199 Parameters all_users = CreateParameters(false, true, true, true);
172 SetFeatureParams(kPasswordFieldOnFocusPinging, "AllButNoIncognito", 200 SetFeatureParams(kPasswordFieldOnFocusPinging, "AllButNoIncognito",
173 all_users); 201 all_users);
174 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/); 202 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/);
175 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 203 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
204
176 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/); 205 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/);
177 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 206 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
207
178 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/); 208 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/);
179 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 209 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
210
180 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/); 211 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/);
181 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 212 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
213
182 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/); 214 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/);
183 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 215 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
216 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
217
184 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/); 218 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/);
185 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 219 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
220 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
221
186 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/); 222 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/);
187 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 223 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
224 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
225
188 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/); 226 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/);
189 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 227 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
228 EXPECT_EQ(PasswordProtectionService::DISABLED_DUE_TO_INCOGNITO, reason);
190 } 229 }
191 230
192 TEST_F(ChromePasswordProtectionServiceTest, 231 TEST_F(ChromePasswordProtectionServiceTest,
193 VerifyFinchControlForLowReputationPingAll) { 232 VerifyFinchControlForLowReputationPingAll) {
194 MockChromePasswordProtectionService service; 233 MockChromePasswordProtectionService service;
195 // By default kPasswordFieldOnFocusPinging feature is disabled. 234 PasswordProtectionService::RequestOutcome reason;
196 EXPECT_FALSE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging));
197 235
198 // Enables kPasswordFieldOnFocusPinging feature. 236 // Enables kPasswordFieldOnFocusPinging feature.
199 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging); 237 scoped_feature_list_.InitAndEnableFeature(kPasswordFieldOnFocusPinging);
200 // Creates finch trial parameters correspond to the following experiment: 238 // Creates finch trial parameters correspond to the following experiment:
201 // "name": "All", 239 // "name": "All",
202 // "params": { 240 // "params": {
203 // "all_population": "true", 241 // "all_population": "true",
204 // "incognito": "true" 242 // "incognito": "true"
205 // }, 243 // },
206 // "enable_features": [ 244 // "enable_features": [
207 // "PasswordFieldOnFocusPinging" 245 // "PasswordFieldOnFocusPinging"
208 // ] 246 // ]
209 Parameters all_users = CreateParameters(true, true, true, true); 247 Parameters all_users = CreateParameters(true, true, true, true);
210 SetFeatureParams(kPasswordFieldOnFocusPinging, "All", all_users); 248 SetFeatureParams(kPasswordFieldOnFocusPinging, "All", all_users);
211 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/); 249 service.ConfigService(false /*incognito*/, false /*SBER*/, false /*sync*/);
212 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 250 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
213 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/); 251 service.ConfigService(false /*incognito*/, false /*SBER*/, true /*sync*/);
214 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 252 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
215 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/); 253 service.ConfigService(false /*incognito*/, true /*SBER*/, false /*sync*/);
216 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 254 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
217 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/); 255 service.ConfigService(false /*incognito*/, true /*SBER*/, true /*sync*/);
218 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 256 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
219 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/); 257 service.ConfigService(true /*incognito*/, false /*SBER*/, false /*sync*/);
220 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 258 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
221 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/); 259 service.ConfigService(true /*incognito*/, false /*SBER*/, true /*sync*/);
222 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 260 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
223 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/); 261 service.ConfigService(true /*incognito*/, true /*SBER*/, false /*sync*/);
224 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 262 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
225 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/); 263 service.ConfigService(true /*incognito*/, true /*SBER*/, true /*sync*/);
226 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging)); 264 EXPECT_TRUE(service.IsPingingEnabled(kPasswordFieldOnFocusPinging, &reason));
227 } 265 }
228 266
229 } // namespace safe_browsing 267 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698