[go: nahoru, domu]

blob: 72d88b421f82628dba0dc4743ecdd1abac862a1d [file] [log] [blame]
Avi Drissmanda6cecbc2022-09-07 18:10:301// Copyright 2013 The Chromium Authors
sammc@chromium.org961745f2013-05-25 14:09:242// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "apps/saved_files_service_factory.h"
6
7#include "apps/saved_files_service.h"
blundell@chromium.org12b7af32014-03-13 05:28:208#include "components/keyed_service/content/browser_context_dependency_manager.h"
michaelpg4d80e562017-04-04 01:48:149#include "content/public/browser/browser_context.h"
Devlin Cronin82564152021-09-15 00:05:5010#include "extensions/browser/extension_host_registry.h"
Toni Barzic453665352018-01-12 04:18:3711#include "extensions/browser/extensions_browser_client.h"
sammc@chromium.org961745f2013-05-25 14:09:2412
13namespace apps {
14
15// static
michaelpg4d80e562017-04-04 01:48:1416SavedFilesService* SavedFilesServiceFactory::GetForBrowserContext(
17 content::BrowserContext* context) {
sammc@chromium.org961745f2013-05-25 14:09:2418 return static_cast<SavedFilesService*>(
michaelpg4d80e562017-04-04 01:48:1419 GetInstance()->GetServiceForBrowserContext(context, true));
sammc@chromium.org961745f2013-05-25 14:09:2420}
21
22// static
michaelpgdbdcdcc2017-04-06 01:40:5623SavedFilesService* SavedFilesServiceFactory::GetForBrowserContextIfExists(
24 content::BrowserContext* context) {
25 return static_cast<SavedFilesService*>(
26 GetInstance()->GetServiceForBrowserContext(context, false));
27}
28
29// static
sammc@chromium.org961745f2013-05-25 14:09:2430SavedFilesServiceFactory* SavedFilesServiceFactory::GetInstance() {
olli.raula36aa8be2015-09-10 11:14:2231 return base::Singleton<SavedFilesServiceFactory>::get();
sammc@chromium.org961745f2013-05-25 14:09:2432}
33
34SavedFilesServiceFactory::SavedFilesServiceFactory()
35 : BrowserContextKeyedServiceFactory(
36 "SavedFilesService",
Devlin Cronin82564152021-09-15 00:05:5037 BrowserContextDependencyManager::GetInstance()) {
38 DependsOn(extensions::ExtensionHostRegistry::GetFactory());
39}
sammc@chromium.org961745f2013-05-25 14:09:2440
Chris Watkinsee8488b2017-11-27 04:06:5641SavedFilesServiceFactory::~SavedFilesServiceFactory() = default;
sammc@chromium.org961745f2013-05-25 14:09:2442
blundell@chromium.org12b7af32014-03-13 05:28:2043KeyedService* SavedFilesServiceFactory::BuildServiceInstanceFor(
michaelpg4d80e562017-04-04 01:48:1444 content::BrowserContext* context) const {
45 return new SavedFilesService(context);
sammc@chromium.org961745f2013-05-25 14:09:2446}
47
Toni Barzic453665352018-01-12 04:18:3748content::BrowserContext* SavedFilesServiceFactory::GetBrowserContextToUse(
49 content::BrowserContext* context) const {
50 // Make sure that the service is created even for incognito profile. The goal
51 // is to make this service available in guest sessions, where it could be used
52 // when apps white-listed in guest sessions attempt to use chrome.fileSystem
53 // API.
Ryan Sultanem64fc9832023-07-21 10:14:5154 return extensions::ExtensionsBrowserClient::Get()
55 ->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
Toni Barzic453665352018-01-12 04:18:3756}
57
sammc@chromium.org961745f2013-05-25 14:09:2458} // namespace apps