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 // windows.h must be first otherwise Win8 SDK breaks. | 5 // windows.h must be first otherwise Win8 SDK breaks. |
6 #include <windows.h> | 6 #include <windows.h> |
7 #include <LM.h> | 7 #include <LM.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <wincred.h> | 10 #include <wincred.h> |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 202 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
203 PrefService* local_state = g_browser_process->local_state(); | 203 PrefService* local_state = g_browser_process->local_state(); |
204 std::unique_ptr<PasswordCheckPrefs> prefs(new PasswordCheckPrefs); | 204 std::unique_ptr<PasswordCheckPrefs> prefs(new PasswordCheckPrefs); |
205 prefs->Read(local_state); | 205 prefs->Read(local_state); |
206 std::unique_ptr<OsPasswordStatus> status( | 206 std::unique_ptr<OsPasswordStatus> status( |
207 new OsPasswordStatus(PASSWORD_STATUS_UNKNOWN)); | 207 new OsPasswordStatus(PASSWORD_STATUS_UNKNOWN)); |
208 PasswordCheckPrefs* prefs_weak = prefs.get(); | 208 PasswordCheckPrefs* prefs_weak = prefs.get(); |
209 OsPasswordStatus* status_weak = status.get(); | 209 OsPasswordStatus* status_weak = status.get(); |
210 // This task calls ::LogonUser(), hence MayBlock(). | 210 // This task calls ::LogonUser(), hence MayBlock(). |
211 base::PostTaskWithTraitsAndReply( | 211 base::PostTaskWithTraitsAndReply( |
212 FROM_HERE, base::TaskTraits() | 212 FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, |
213 .WithPriority(base::TaskPriority::BACKGROUND) | |
214 .MayBlock(), | |
215 base::Bind(&GetOsPasswordStatusInternal, prefs_weak, status_weak), | 213 base::Bind(&GetOsPasswordStatusInternal, prefs_weak, status_weak), |
216 base::Bind(&ReplyOsPasswordStatus, base::Passed(&prefs), | 214 base::Bind(&ReplyOsPasswordStatus, base::Passed(&prefs), |
217 base::Passed(&status))); | 215 base::Passed(&status))); |
218 } | 216 } |
219 | 217 |
220 } // namespace | 218 } // namespace |
221 | 219 |
222 void DelayReportOsPassword() { | 220 void DelayReportOsPassword() { |
223 content::BrowserThread::PostDelayedTask(content::BrowserThread::UI, FROM_HERE, | 221 content::BrowserThread::PostDelayedTask(content::BrowserThread::UI, FROM_HERE, |
224 base::Bind(&GetOsPasswordStatus), | 222 base::Bind(&GetOsPasswordStatus), |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 } | 310 } |
313 } | 311 } |
314 SecureZeroMemory(password, sizeof(password)); | 312 SecureZeroMemory(password, sizeof(password)); |
315 } | 313 } |
316 } while (credErr == NO_ERROR && | 314 } while (credErr == NO_ERROR && |
317 (retval == false && tries < kMaxPasswordRetries)); | 315 (retval == false && tries < kMaxPasswordRetries)); |
318 return retval; | 316 return retval; |
319 } | 317 } |
320 | 318 |
321 } // namespace password_manager_util_win | 319 } // namespace password_manager_util_win |
OLD | NEW |