translate_ranker_factory.cc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 "weblayer/browser/translate_ranker_factory.h"
  5. #include "base/files/file_path.h"
  6. #include "base/no_destructor.h"
  7. #include "components/keyed_service/content/browser_context_dependency_manager.h"
  8. #include "components/translate/core/browser/translate_ranker_impl.h"
  9. #include "content/public/browser/browser_context.h"
  10. #include "services/metrics/public/cpp/ukm_recorder.h"
  11. namespace weblayer {
  12. // static
  13. translate::TranslateRanker* TranslateRankerFactory::GetForBrowserContext(
  14. content::BrowserContext* browser_context) {
  15. return static_cast<translate::TranslateRanker*>(
  16. GetInstance()->GetServiceForBrowserContext(browser_context, true));
  17. }
  18. // static
  19. TranslateRankerFactory* TranslateRankerFactory::GetInstance() {
  20. static base::NoDestructor<TranslateRankerFactory> factory;
  21. return factory.get();
  22. }
  23. TranslateRankerFactory::TranslateRankerFactory()
  24. : BrowserContextKeyedServiceFactory(
  25. "TranslateRanker",
  26. BrowserContextDependencyManager::GetInstance()) {}
  27. TranslateRankerFactory::~TranslateRankerFactory() = default;
  28. KeyedService* TranslateRankerFactory::BuildServiceInstanceFor(
  29. content::BrowserContext* browser_context) const {
  30. return new translate::TranslateRankerImpl(
  31. translate::TranslateRankerImpl::GetModelPath(browser_context->GetPath()),
  32. translate::TranslateRankerImpl::GetModelURL(), ukm::UkmRecorder::Get());
  33. }
  34. content::BrowserContext* TranslateRankerFactory::GetBrowserContextToUse(
  35. content::BrowserContext* context) const {
  36. return context;
  37. }
  38. } // namespace weblayer