browsing_data_remover_delegate_factory.cc 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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/browsing_data_remover_delegate_factory.h"
  5. #include "base/no_destructor.h"
  6. #include "components/keyed_service/content/browser_context_dependency_manager.h"
  7. #include "weblayer/browser/browsing_data_remover_delegate.h"
  8. namespace weblayer {
  9. // static
  10. BrowsingDataRemoverDelegate*
  11. BrowsingDataRemoverDelegateFactory::GetForBrowserContext(
  12. content::BrowserContext* browser_context) {
  13. return static_cast<BrowsingDataRemoverDelegate*>(
  14. GetInstance()->GetServiceForBrowserContext(browser_context, true));
  15. }
  16. // static
  17. BrowsingDataRemoverDelegateFactory*
  18. BrowsingDataRemoverDelegateFactory::GetInstance() {
  19. static base::NoDestructor<BrowsingDataRemoverDelegateFactory> factory;
  20. return factory.get();
  21. }
  22. BrowsingDataRemoverDelegateFactory::BrowsingDataRemoverDelegateFactory()
  23. : BrowserContextKeyedServiceFactory(
  24. "BrowsingDataRemoverDelegate",
  25. BrowserContextDependencyManager::GetInstance()) {}
  26. BrowsingDataRemoverDelegateFactory::~BrowsingDataRemoverDelegateFactory() =
  27. default;
  28. KeyedService* BrowsingDataRemoverDelegateFactory::BuildServiceInstanceFor(
  29. content::BrowserContext* context) const {
  30. return new BrowsingDataRemoverDelegate(context);
  31. }
  32. content::BrowserContext*
  33. BrowsingDataRemoverDelegateFactory::GetBrowserContextToUse(
  34. content::BrowserContext* context) const {
  35. return context;
  36. }
  37. } // namespace weblayer