Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: chrome/browser/chromeos/printer_detector/printer_detector_factory.cc

Issue 2945653002: Remove the legacy (extension-notifier) usb printer detector. Rename the remaining printerdetector … (Closed)
Patch Set: Remove the legacy (extension-notifier) usb printer detector. Rename the remaining printerdetector … Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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
5 #include "chrome/browser/chromeos/printer_detector/printer_detector_factory.h"
6
7 #include "base/command_line.h"
8 #include "chrome/browser/chromeos/printer_detector/printer_detector.h"
9 #include "chrome/browser/chromeos/printing/printers_manager_factory.h"
10 #include "chrome/browser/profiles/incognito_helpers.h"
11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/common/chrome_switches.h"
13 #include "components/keyed_service/content/browser_context_dependency_manager.h"
14 #include "extensions/browser/extensions_browser_client.h"
15
16 namespace chromeos {
17
18 namespace {
19
20 static base::LazyInstance<PrinterDetectorFactory>::DestructorAtExit g_factory =
21 LAZY_INSTANCE_INITIALIZER;
22
23 } // namespace
24
25 // static
26 PrinterDetectorFactory* PrinterDetectorFactory::GetInstance() {
27 return g_factory.Pointer();
28 }
29
30 PrinterDetector* PrinterDetectorFactory::Get(content::BrowserContext* context) {
31 return static_cast<PrinterDetector*>(
32 GetServiceForBrowserContext(context, false));
33 }
34
35 PrinterDetectorFactory::PrinterDetectorFactory()
36 : BrowserContextKeyedServiceFactory(
37 "PrinterDetectorFactory",
38 BrowserContextDependencyManager::GetInstance()) {
39 DependsOn(
40 extensions::ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
41 DependsOn(PrintersManagerFactory::GetInstance());
42 }
43
44 PrinterDetectorFactory::~PrinterDetectorFactory() {
45 }
46
47 content::BrowserContext* PrinterDetectorFactory::GetBrowserContextToUse(
48 content::BrowserContext* context) const {
49 return chrome::GetBrowserContextRedirectedInIncognito(context);
50 }
51
52 KeyedService* PrinterDetectorFactory::BuildServiceInstanceFor(
53 content::BrowserContext* context) const {
54 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
55 ::switches::kDisableNativeCups)) {
56 return PrinterDetector::CreateLegacy(Profile::FromBrowserContext(context))
57 .release();
58 }
59
60 return PrinterDetector::CreateCups(Profile::FromBrowserContext(context))
61 .release();
62 }
63
64 bool PrinterDetectorFactory::ServiceIsCreatedWithBrowserContext() const {
65 return true;
66 }
67
68 bool PrinterDetectorFactory::ServiceIsNULLWhileTesting() const {
69 return true;
70 }
71
72 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698