OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "base/memory/singleton.h" | 11 #include "base/memory/singleton.h" |
12 #include "base/observer_list.h" | 12 #include "base/observer_list.h" |
13 #include "chrome/browser/profiles/profile_keyed_service.h" | 13 #include "chrome/browser/profiles/profile_keyed_service.h" |
14 #include "chrome/browser/profiles/profile_keyed_service_factory.h" | 14 #include "chrome/browser/profiles/profile_keyed_service_factory.h" |
15 #include "ui/gfx/native_widget_types.h" | 15 #include "ui/gfx/native_widget_types.h" |
16 | 16 |
17 class Profile; | 17 class Profile; |
18 class ShellWindow; | 18 class ShellWindow; |
19 | 19 |
20 namespace content { | 20 namespace content { |
21 class RenderViewHost; | 21 class RenderViewHost; |
22 } | 22 } |
23 | 23 |
| 24 namespace extensions { |
| 25 |
24 // The ShellWindowRegistry tracks the ShellWindows for all platform apps for a | 26 // The ShellWindowRegistry tracks the ShellWindows for all platform apps for a |
25 // particular profile. | 27 // particular profile. |
26 // This class is planned to evolve into tracking all PlatformApps for a | 28 // This class is planned to evolve into tracking all PlatformApps for a |
27 // particular profile, with a PlatformApp encapsulating all views (background | 29 // particular profile, with a PlatformApp encapsulating all views (background |
28 // page, shell windows, tray view, panels etc.) and other app level behaviour | 30 // page, shell windows, tray view, panels etc.) and other app level behaviour |
29 // (e.g. notifications the app is interested in, lifetime of the background | 31 // (e.g. notifications the app is interested in, lifetime of the background |
30 // page). | 32 // page). |
31 class ShellWindowRegistry : public ProfileKeyedService { | 33 class ShellWindowRegistry : public ProfileKeyedService { |
32 public: | 34 public: |
33 class Observer { | 35 class Observer { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 virtual ProfileKeyedService* BuildServiceInstanceFor( | 84 virtual ProfileKeyedService* BuildServiceInstanceFor( |
83 Profile* profile) const OVERRIDE; | 85 Profile* profile) const OVERRIDE; |
84 virtual bool ServiceIsCreatedWithProfile() OVERRIDE; | 86 virtual bool ServiceIsCreatedWithProfile() OVERRIDE; |
85 virtual bool ServiceIsNULLWhileTesting() OVERRIDE; | 87 virtual bool ServiceIsNULLWhileTesting() OVERRIDE; |
86 }; | 88 }; |
87 | 89 |
88 ShellWindowSet shell_windows_; | 90 ShellWindowSet shell_windows_; |
89 ObserverList<Observer> observers_; | 91 ObserverList<Observer> observers_; |
90 }; | 92 }; |
91 | 93 |
| 94 } // namespace extensions |
| 95 |
92 #endif // CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ | 96 #endif // CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ |
OLD | NEW |