Popular sites on the NTP: check that experiment group StartsWith (rather than IS...
[chromium-blink-merge.git] / chrome / browser / browsing_data / passwords_counter.h
blob85ed1e6a31a2ceb3fcca6b89b6ee4d028c869715
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_BROWSING_DATA_PASSWORDS_COUNTER_H_
6 #define CHROME_BROWSER_BROWSING_DATA_PASSWORDS_COUNTER_H_
8 #include "chrome/browser/browsing_data/browsing_data_counter.h"
9 #include "components/password_manager/core/browser/password_store.h"
10 #include "components/password_manager/core/browser/password_store_consumer.h"
12 class PasswordsCounter: public BrowsingDataCounter,
13 public password_manager::PasswordStoreConsumer,
14 public password_manager::PasswordStore::Observer {
15 public:
16 PasswordsCounter();
17 ~PasswordsCounter() override;
19 const std::string& GetPrefName() const override;
21 private:
22 const std::string pref_name_;
23 base::CancelableTaskTracker cancelable_task_tracker_;
24 password_manager::PasswordStore* store_ = nullptr;
26 void OnInitialized() override;
28 // Counting is done asynchronously in a request to PasswordStore.
29 // This callback returns the results, which are subsequently reported.
30 void OnGetPasswordStoreResults(
31 ScopedVector<autofill::PasswordForm> results) override;
33 // Called when the contents of the password store change. Triggers new
34 // counting.
35 void OnLoginsChanged(
36 const password_manager::PasswordStoreChangeList& changes) override;
38 void Count() override;
41 #endif // CHROME_BROWSER_BROWSING_DATA_PASSWORDS_COUNTER_H_