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

Side by Side Diff: apps/app_lifetime_monitor.cc

Issue 425303002: Move extension notifications to extensions/browser/notification_types.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: (extension-notifications) rebase Created 6 years, 4 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
« no previous file with comments | « no previous file | apps/app_load_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "apps/app_lifetime_monitor.h" 5 #include "apps/app_lifetime_monitor.h"
6 6
7 #include "apps/app_window.h" 7 #include "apps/app_window.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "content/public/browser/notification_details.h" 10 #include "content/public/browser/notification_details.h"
11 #include "content/public/browser/notification_service.h" 11 #include "content/public/browser/notification_service.h"
12 #include "extensions/browser/extension_host.h" 12 #include "extensions/browser/extension_host.h"
13 #include "extensions/browser/notification_types.h"
13 #include "extensions/common/extension.h" 14 #include "extensions/common/extension.h"
14 15
15 namespace apps { 16 namespace apps {
16 17
17 using extensions::Extension; 18 using extensions::Extension;
18 using extensions::ExtensionHost; 19 using extensions::ExtensionHost;
19 20
20 AppLifetimeMonitor::AppLifetimeMonitor(Profile* profile) 21 AppLifetimeMonitor::AppLifetimeMonitor(Profile* profile)
21 : profile_(profile) { 22 : profile_(profile) {
22 registrar_.Add( 23 registrar_.Add(this,
23 this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING, 24 extensions::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
24 content::NotificationService::AllSources()); 25 content::NotificationService::AllSources());
25 registrar_.Add( 26 registrar_.Add(this,
26 this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED, 27 extensions::NOTIFICATION_EXTENSION_HOST_DESTROYED,
27 content::NotificationService::AllSources()); 28 content::NotificationService::AllSources());
28 registrar_.Add( 29 registrar_.Add(
29 this, chrome::NOTIFICATION_APP_TERMINATING, 30 this, chrome::NOTIFICATION_APP_TERMINATING,
30 content::NotificationService::AllSources()); 31 content::NotificationService::AllSources());
31 32
32 AppWindowRegistry* app_window_registry = 33 AppWindowRegistry* app_window_registry =
33 AppWindowRegistry::Factory::GetForBrowserContext(profile_, 34 AppWindowRegistry::Factory::GetForBrowserContext(profile_,
34 false /* create */); 35 false /* create */);
35 DCHECK(app_window_registry); 36 DCHECK(app_window_registry);
36 app_window_registry->AddObserver(this); 37 app_window_registry->AddObserver(this);
37 } 38 }
38 39
39 AppLifetimeMonitor::~AppLifetimeMonitor() {} 40 AppLifetimeMonitor::~AppLifetimeMonitor() {}
40 41
41 void AppLifetimeMonitor::AddObserver(Observer* observer) { 42 void AppLifetimeMonitor::AddObserver(Observer* observer) {
42 observers_.AddObserver(observer); 43 observers_.AddObserver(observer);
43 } 44 }
44 45
45 void AppLifetimeMonitor::RemoveObserver(Observer* observer) { 46 void AppLifetimeMonitor::RemoveObserver(Observer* observer) {
46 observers_.RemoveObserver(observer); 47 observers_.RemoveObserver(observer);
47 } 48 }
48 49
49 void AppLifetimeMonitor::Observe(int type, 50 void AppLifetimeMonitor::Observe(int type,
50 const content::NotificationSource& source, 51 const content::NotificationSource& source,
51 const content::NotificationDetails& details) { 52 const content::NotificationDetails& details) {
52 switch (type) { 53 switch (type) {
53 case chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING: { 54 case extensions::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING: {
54 ExtensionHost* host = content::Details<ExtensionHost>(details).ptr(); 55 ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
55 const Extension* extension = host->extension(); 56 const Extension* extension = host->extension();
56 if (!extension || !extension->is_platform_app()) 57 if (!extension || !extension->is_platform_app())
57 return; 58 return;
58 59
59 NotifyAppStart(extension->id()); 60 NotifyAppStart(extension->id());
60 break; 61 break;
61 } 62 }
62 63
63 case chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED: { 64 case extensions::NOTIFICATION_EXTENSION_HOST_DESTROYED: {
64 ExtensionHost* host = content::Details<ExtensionHost>(details).ptr(); 65 ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
65 const Extension* extension = host->extension(); 66 const Extension* extension = host->extension();
66 if (!extension || !extension->is_platform_app()) 67 if (!extension || !extension->is_platform_app())
67 return; 68 return;
68 69
69 NotifyAppStop(extension->id()); 70 NotifyAppStop(extension->id());
70 break; 71 break;
71 } 72 }
72 73
73 case chrome::NOTIFICATION_APP_TERMINATING: { 74 case chrome::NOTIFICATION_APP_TERMINATING: {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 132
132 void AppLifetimeMonitor::NotifyAppStop(const std::string& app_id) { 133 void AppLifetimeMonitor::NotifyAppStop(const std::string& app_id) {
133 FOR_EACH_OBSERVER(Observer, observers_, OnAppStop(profile_, app_id)); 134 FOR_EACH_OBSERVER(Observer, observers_, OnAppStop(profile_, app_id));
134 } 135 }
135 136
136 void AppLifetimeMonitor::NotifyChromeTerminating() { 137 void AppLifetimeMonitor::NotifyChromeTerminating() {
137 FOR_EACH_OBSERVER(Observer, observers_, OnChromeTerminating()); 138 FOR_EACH_OBSERVER(Observer, observers_, OnChromeTerminating());
138 } 139 }
139 140
140 } // namespace apps 141 } // namespace apps
OLDNEW
« no previous file with comments | « no previous file | apps/app_load_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698