Commit 75105e41 authored by Nela Kaczmarek's avatar Nela Kaczmarek Committed by Commit Bot

[Passwords] Affiliation Service - change SchemeHostPort to GURL type for...

[Passwords] Affiliation Service - change SchemeHostPort to GURL type for parameters in public methods.

Changes type of parameters in public methods of Affiliation Service from SchemeHostPort to GURL. This change makes AffiliationService compliant with the public interface of ChangePasswordUrlService.

Bug: 1108279
Change-Id: I2b59560f991176ac94ac9a57cc2db5577bd72ab6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2379717Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Nela Kaczmarek <nelakaczmarek@google.com>
Cr-Commit-Position: refs/heads/master@{#803171}
parent 6a89ade8
......@@ -11,24 +11,18 @@
class GURL;
namespace url {
class SchemeHostPort;
}
namespace password_manager {
class AffiliationService : public KeyedService {
public:
// Prefetches change password URLs for sites requested.
virtual void PrefetchChangePasswordURLs(
const std::vector<url::SchemeHostPort>& tuple_origins) = 0;
virtual void PrefetchChangePasswordURLs(const std::vector<GURL>& urls) = 0;
// Clears the result of URLs fetch.
virtual void Clear() = 0;
// Returns a URL with change password form for a site requested.
virtual GURL GetChangePasswordURL(
const url::SchemeHostPort& scheme_host_port) const = 0;
virtual GURL GetChangePasswordURL(const GURL& url) const = 0;
};
} // namespace password_manager
......
......@@ -54,11 +54,10 @@ AffiliationServiceImpl::AffiliationServiceImpl(
AffiliationServiceImpl::~AffiliationServiceImpl() = default;
void AffiliationServiceImpl::PrefetchChangePasswordURLs(
const std::vector<url::SchemeHostPort>& tuple_origins) {
const std::vector<GURL>& urls) {
if (ShouldAffiliationBasedMatchingBeActive(sync_service_)) {
RequestFacetsAffiliations(
ConvertMissingSchemeHostPortsToFacets(tuple_origins),
{.change_password_info = true});
RequestFacetsAffiliations(ConvertMissingURLsToFacets(urls),
{.change_password_info = true});
}
}
......@@ -67,9 +66,8 @@ void AffiliationServiceImpl::Clear() {
change_password_urls_.clear();
}
GURL AffiliationServiceImpl::GetChangePasswordURL(
const url::SchemeHostPort& tuple) const {
auto it = change_password_urls_.find(tuple);
GURL AffiliationServiceImpl::GetChangePasswordURL(const GURL& url) const {
auto it = change_password_urls_.find(url::SchemeHostPort(url));
return it != change_password_urls_.end() ? it->second : GURL();
}
......@@ -99,14 +97,16 @@ void AffiliationServiceImpl::OnMalformedResponse() {
requested_tuple_origins_.clear();
}
std::vector<FacetURI>
AffiliationServiceImpl::ConvertMissingSchemeHostPortsToFacets(
const std::vector<url::SchemeHostPort>& tuple_origins) {
std::vector<FacetURI> AffiliationServiceImpl::ConvertMissingURLsToFacets(
const std::vector<GURL>& urls) {
std::vector<FacetURI> facets;
for (const auto& tuple : tuple_origins) {
if (tuple.IsValid() && !base::Contains(change_password_urls_, tuple)) {
requested_tuple_origins_.push_back(tuple);
facets.push_back(FacetURI::FromCanonicalSpec(tuple.Serialize()));
for (const auto& url : urls) {
if (url.is_valid()) {
url::SchemeHostPort scheme_host_port(url);
if (!base::Contains(change_password_urls_, scheme_host_port)) {
requested_tuple_origins_.push_back(std::move(scheme_host_port));
facets.push_back(FacetURI::FromCanonicalSpec(url.spec()));
}
}
}
return facets;
......@@ -117,8 +117,10 @@ AffiliationServiceImpl::ConvertMissingSchemeHostPortsToFacets(
void AffiliationServiceImpl::RequestFacetsAffiliations(
const std::vector<FacetURI>& facets,
const AffiliationFetcherInterface::RequestInfo request_info) {
fetcher_ = AffiliationFetcher::Create(url_loader_factory_, this);
fetcher_->StartRequest(facets, request_info);
if (!facets.empty()) {
fetcher_ = AffiliationFetcher::Create(url_loader_factory_, this);
fetcher_->StartRequest(facets, request_info);
}
}
} // namespace password_manager
......@@ -23,6 +23,10 @@ namespace syncer {
class SyncService;
}
namespace url {
class SchemeHostPort;
}
namespace password_manager {
class AffiliationServiceImpl : public AffiliationService,
......@@ -36,16 +40,14 @@ class AffiliationServiceImpl : public AffiliationService,
// Prefetches change password URLs and saves them to |change_password_urls_|
// map. The verification if affiliation based matching is enabled must be
// performed.
void PrefetchChangePasswordURLs(
const std::vector<url::SchemeHostPort>& tuple_origins) override;
void PrefetchChangePasswordURLs(const std::vector<GURL>& urls) override;
// Clears the |change_password_urls_| map and cancels prefetch if still
// running.
void Clear() override;
// In case no valid URL was found, a method returns an empty URL.
GURL GetChangePasswordURL(
const url::SchemeHostPort& scheme_host_port) const override;
GURL GetChangePasswordURL(const GURL& url) const override;
AffiliationFetcherInterface* GetFetcherForTesting() { return fetcher_.get(); }
......@@ -56,10 +58,10 @@ class AffiliationServiceImpl : public AffiliationService,
void OnFetchFailed() override;
void OnMalformedResponse() override;
// Converts new |tuple_origins| to facets and inserts them to the
// Converts new |urls| to facets and inserts them to the
// |change_password_urls_|.
std::vector<FacetURI> ConvertMissingSchemeHostPortsToFacets(
const std::vector<url::SchemeHostPort>& tuple_origins);
std::vector<FacetURI> ConvertMissingURLsToFacets(
const std::vector<GURL>& urls);
// Calls Affiliation Fetcher and starts a request for |facets| affiliations.
void RequestFacetsAffiliations(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment