Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ | 5 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ |
| 6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ | 6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/gtest_prod_util.h" | 9 #include "base/gtest_prod_util.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "base/memory/scoped_vector.h" | 12 #include "base/memory/scoped_vector.h" |
| 13 #include "base/observer_list_threadsafe.h" | 13 #include "base/observer_list_threadsafe.h" |
| 14 #include "base/single_thread_task_runner.h" | 14 #include "base/single_thread_task_runner.h" |
| 15 #include "base/time/time.h" | 15 #include "base/time/time.h" |
| 16 #include "components/password_manager/core/browser/password_store_change.h" | 16 #include "components/password_manager/core/browser/password_store_change.h" |
| 17 #include "components/password_manager/core/browser/password_store_sync.h" | 17 #include "components/password_manager/core/browser/password_store_sync.h" |
| 18 #include "components/password_manager/core/browser/statistics_table.h" | 18 #include "components/password_manager/core/browser/statistics_table.h" |
| 19 #include "sync/api/syncable_service.h" | 19 #include "sync/api/syncable_service.h" |
| 20 | 20 |
| 21 namespace autofill { | 21 namespace autofill { |
| 22 struct PasswordForm; | 22 struct PasswordForm; |
| 23 } | 23 } |
| 24 | 24 |
| 25 namespace syncer { | 25 namespace syncer { |
| 26 class SyncableService; | 26 class SyncableService; |
| 27 } | 27 } |
| 28 | 28 |
| 29 class PasswordStoreProxyMac; | |
| 30 | |
| 29 namespace password_manager { | 31 namespace password_manager { |
| 30 | 32 |
| 31 class AffiliatedMatchHelper; | 33 class AffiliatedMatchHelper; |
| 32 class PasswordStoreConsumer; | 34 class PasswordStoreConsumer; |
| 33 class PasswordSyncableService; | 35 class PasswordSyncableService; |
| 34 | 36 |
| 35 // Interface for storing form passwords in a platform-specific secure way. | 37 // Interface for storing form passwords in a platform-specific secure way. |
| 36 // The login request/manipulation API is not threadsafe and must be used | 38 // The login request/manipulation API is not threadsafe and must be used |
| 37 // from the UI thread. | 39 // from the UI thread. |
| 38 // Implementations, however, should carry out most tasks asynchronously on a | 40 // Implementations, however, should carry out most tasks asynchronously on a |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 283 scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner_; | 285 scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner_; |
| 284 | 286 |
| 285 // TaskRunner for the DB thread. By default, this is the task runner used for | 287 // TaskRunner for the DB thread. By default, this is the task runner used for |
| 286 // background tasks -- see |GetBackgroundTaskRunner|. | 288 // background tasks -- see |GetBackgroundTaskRunner|. |
| 287 scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner_; | 289 scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner_; |
| 288 | 290 |
| 289 private: | 291 private: |
| 290 FRIEND_TEST_ALL_PREFIXES(PasswordStoreTest, GetLoginImpl); | 292 FRIEND_TEST_ALL_PREFIXES(PasswordStoreTest, GetLoginImpl); |
| 291 FRIEND_TEST_ALL_PREFIXES(PasswordStoreTest, | 293 FRIEND_TEST_ALL_PREFIXES(PasswordStoreTest, |
| 292 UpdatePasswordsStoredForAffiliatedWebsites); | 294 UpdatePasswordsStoredForAffiliatedWebsites); |
| 295 // TODO(vasilii): remove this together with PasswordStoreProxyMac. | |
| 296 friend class ::PasswordStoreProxyMac; | |
|
vabr (Chromium)
2015/06/19 20:19:09
One thing I did not understand -- why do you need
vasilii
2015/06/22 13:34:17
Actually forwarding the protected calls is most im
| |
| 293 | 297 |
| 294 // Schedule the given |func| to be run in the PasswordStore's own thread with | 298 // Schedule the given |func| to be run in the PasswordStore's own thread with |
| 295 // responses delivered to |consumer| on the current thread. | 299 // responses delivered to |consumer| on the current thread. |
| 296 void Schedule(void (PasswordStore::*func)(scoped_ptr<GetLoginsRequest>), | 300 void Schedule(void (PasswordStore::*func)(scoped_ptr<GetLoginsRequest>), |
| 297 PasswordStoreConsumer* consumer); | 301 PasswordStoreConsumer* consumer); |
| 298 | 302 |
| 299 // Wrapper method called on the destination thread (DB for non-mac) that | 303 // Wrapper method called on the destination thread (DB for non-mac) that |
| 300 // invokes |task| and then calls back into the source thread to notify | 304 // invokes |task| and then calls back into the source thread to notify |
| 301 // observers that the password store may have been modified via | 305 // observers that the password store may have been modified via |
| 302 // NotifyLoginsChanged(). Note that there is no guarantee that the called | 306 // NotifyLoginsChanged(). Note that there is no guarantee that the called |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 383 bool is_propagating_password_changes_to_web_credentials_enabled_; | 387 bool is_propagating_password_changes_to_web_credentials_enabled_; |
| 384 | 388 |
| 385 bool shutdown_called_; | 389 bool shutdown_called_; |
| 386 | 390 |
| 387 DISALLOW_COPY_AND_ASSIGN(PasswordStore); | 391 DISALLOW_COPY_AND_ASSIGN(PasswordStore); |
| 388 }; | 392 }; |
| 389 | 393 |
| 390 } // namespace password_manager | 394 } // namespace password_manager |
| 391 | 395 |
| 392 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ | 396 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_STORE_H_ |
| OLD | NEW |