| Index: components/password_manager/core/browser/suppressed_form_fetcher.cc
|
| diff --git a/components/password_manager/core/browser/suppressed_form_fetcher.cc b/components/password_manager/core/browser/suppressed_form_fetcher.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1a52b08999eed6b16512b6680193a5c63b66947a
|
| --- /dev/null
|
| +++ b/components/password_manager/core/browser/suppressed_form_fetcher.cc
|
| @@ -0,0 +1,41 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "components/password_manager/core/browser/suppressed_form_fetcher.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "base/stl_util.h"
|
| +#include "components/password_manager/core/browser/password_manager_client.h"
|
| +#include "components/password_manager/core/browser/password_store.h"
|
| +#include "url/gurl.h"
|
| +
|
| +namespace password_manager {
|
| +
|
| +SuppressedFormFetcher::SuppressedFormFetcher(
|
| + const std::string& observed_signon_realm,
|
| + const PasswordManagerClient* client,
|
| + Consumer* consumer)
|
| + : client_(client),
|
| + consumer_(consumer),
|
| + observed_signon_realm_(observed_signon_realm) {
|
| + DCHECK(client_);
|
| + DCHECK(consumer_);
|
| + DCHECK(GURL(observed_signon_realm_).SchemeIsHTTPOrHTTPS());
|
| + client_->GetPasswordStore()->GetLoginsForSameOrganizationName(
|
| + observed_signon_realm_, this);
|
| +}
|
| +
|
| +SuppressedFormFetcher::~SuppressedFormFetcher() = default;
|
| +
|
| +void SuppressedFormFetcher::OnGetPasswordStoreResults(
|
| + std::vector<std::unique_ptr<autofill::PasswordForm>> results) {
|
| + base::EraseIf(results,
|
| + [this](const std::unique_ptr<autofill::PasswordForm>& form) {
|
| + return form->signon_realm == observed_signon_realm_;
|
| + });
|
| +
|
| + consumer_->ProcessSuppressedForms(std::move(results));
|
| +}
|
| +
|
| +} // namespace password_manager
|
|
|