• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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/notifications/desktop_notification_service_factory.h"
6 
7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/notifications/desktop_notification_service.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/profiles/profile_dependency_manager.h"
11 #include "content/browser/browser_thread.h"
12 
13 // static
GetForProfile(Profile * profile)14 DesktopNotificationService* DesktopNotificationServiceFactory::GetForProfile(
15     Profile* profile) {
16   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
17   return static_cast<DesktopNotificationService*>(
18       GetInstance()->GetServiceForProfile(profile));
19 }
20 
21 // static
22 DesktopNotificationServiceFactory* DesktopNotificationServiceFactory::
GetInstance()23     GetInstance() {
24   return Singleton<DesktopNotificationServiceFactory>::get();
25 }
26 
DesktopNotificationServiceFactory()27 DesktopNotificationServiceFactory::DesktopNotificationServiceFactory()
28     : ProfileKeyedServiceFactory(ProfileDependencyManager::GetInstance()) {
29 }
30 
~DesktopNotificationServiceFactory()31 DesktopNotificationServiceFactory::~DesktopNotificationServiceFactory() {
32 }
33 
BuildServiceInstanceFor(Profile * profile) const34 ProfileKeyedService* DesktopNotificationServiceFactory::BuildServiceInstanceFor(
35     Profile* profile) const {
36   DesktopNotificationService* service = new DesktopNotificationService(profile,
37       g_browser_process->notification_ui_manager());
38 
39   return service;
40 }
41 
ServiceHasOwnInstanceInIncognito()42 bool DesktopNotificationServiceFactory::ServiceHasOwnInstanceInIncognito() {
43   return true;
44 }
45