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

Side by Side Diff: chrome/browser/notifications/desktop_notification_service_factory.cc

Issue 6803012: Profile shouldn't own DesktopNotificationService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Lint Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
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 void DesktopNotificationServiceFactory::ForceAssociationBetween(
22 Profile* profile,
23 DesktopNotificationService* service) {
24 GetInstance()->Associate(profile, service);
25 }
26
27 DesktopNotificationServiceFactory* DesktopNotificationServiceFactory::
28 GetInstance() {
29 return Singleton<DesktopNotificationServiceFactory>::get();
30 }
31
32 DesktopNotificationServiceFactory::DesktopNotificationServiceFactory()
33 : ProfileKeyedServiceFactory(ProfileDependencyManager::GetInstance())
34 {}
35
36 DesktopNotificationServiceFactory::~DesktopNotificationServiceFactory() {}
37
38 ProfileKeyedService* DesktopNotificationServiceFactory::BuildServiceInstanceFor(
39 Profile* profile) const {
40 DesktopNotificationService* service = new DesktopNotificationService(profile,
41 g_browser_process->notification_ui_manager());
42
43 return service;
44 }
45
46 bool DesktopNotificationServiceFactory::ServiceHasOwnInstanceInIncognito() {
47 return true;
48 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698