hints_fetcher_factory.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2020 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.
  4. #include "components/optimization_guide/core/hints_fetcher_factory.h"
  5. #include "components/optimization_guide/core/hints_fetcher.h"
  6. #include "components/prefs/pref_service.h"
  7. #include "services/network/public/cpp/shared_url_loader_factory.h"
  8. namespace optimization_guide {
  9. HintsFetcherFactory::HintsFetcherFactory(
  10. scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
  11. const GURL& optimization_guide_service_url,
  12. PrefService* pref_service)
  13. : url_loader_factory_(url_loader_factory),
  14. optimization_guide_service_url_(optimization_guide_service_url),
  15. pref_service_(pref_service) {}
  16. HintsFetcherFactory::~HintsFetcherFactory() = default;
  17. std::unique_ptr<HintsFetcher> HintsFetcherFactory::BuildInstance(
  18. OptimizationGuideLogger* optimization_guide_logger) {
  19. return std::make_unique<HintsFetcher>(
  20. url_loader_factory_, optimization_guide_service_url_, pref_service_,
  21. optimization_guide_logger);
  22. }
  23. void HintsFetcherFactory::OverrideOptimizationGuideServiceUrlForTesting(
  24. const GURL& optimization_guide_service_url) {
  25. optimization_guide_service_url_ = optimization_guide_service_url;
  26. }
  27. } // namespace optimization_guide