OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ | 5 #ifndef EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ |
6 #define EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ | 6 #define EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 class BrowserContext; | 27 class BrowserContext; |
28 } | 28 } |
29 | 29 |
30 namespace extensions { | 30 namespace extensions { |
31 | 31 |
32 class ContentVerifier; | 32 class ContentVerifier; |
33 class EventRouter; | 33 class EventRouter; |
34 class Extension; | 34 class Extension; |
35 class ExtensionSet; | 35 class ExtensionSet; |
36 class InfoMap; | 36 class InfoMap; |
37 class LazyBackgroundTaskQueue; | |
38 class ManagementPolicy; | 37 class ManagementPolicy; |
39 class OneShotEvent; | 38 class OneShotEvent; |
40 class QuotaService; | 39 class QuotaService; |
41 class RuntimeData; | 40 class RuntimeData; |
42 class SharedUserScriptMaster; | 41 class SharedUserScriptMaster; |
43 class StateStore; | 42 class StateStore; |
44 | 43 |
45 // ExtensionSystem manages the lifetime of many of the services used by the | 44 // ExtensionSystem manages the lifetime of many of the services used by the |
46 // extensions and apps system, and it handles startup and shutdown as needed. | 45 // extensions and apps system, and it handles startup and shutdown as needed. |
47 // Eventually, we'd like to make more of these services into KeyedServices in | 46 // Eventually, we'd like to make more of these services into KeyedServices in |
(...skipping 28 matching lines...) Expand all Loading... |
76 | 75 |
77 // The StateStore is created at startup. | 76 // The StateStore is created at startup. |
78 virtual StateStore* state_store() = 0; | 77 virtual StateStore* state_store() = 0; |
79 | 78 |
80 // The rules store is created at startup. | 79 // The rules store is created at startup. |
81 virtual StateStore* rules_store() = 0; | 80 virtual StateStore* rules_store() = 0; |
82 | 81 |
83 // Returns the IO-thread-accessible extension data. | 82 // Returns the IO-thread-accessible extension data. |
84 virtual InfoMap* info_map() = 0; | 83 virtual InfoMap* info_map() = 0; |
85 | 84 |
86 // The LazyBackgroundTaskQueue is created at startup. | |
87 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() = 0; | |
88 | |
89 // The EventRouter is created at startup. | 85 // The EventRouter is created at startup. |
90 virtual EventRouter* event_router() = 0; | 86 virtual EventRouter* event_router() = 0; |
91 | 87 |
92 // Returns the QuotaService that limits calls to certain extension functions. | 88 // Returns the QuotaService that limits calls to certain extension functions. |
93 // Lives on the UI thread. Created at startup. | 89 // Lives on the UI thread. Created at startup. |
94 virtual QuotaService* quota_service() = 0; | 90 virtual QuotaService* quota_service() = 0; |
95 | 91 |
96 // Called by the ExtensionService that lives in this system. Gives the | 92 // Called by the ExtensionService that lives in this system. Gives the |
97 // info map a chance to react to the load event before the EXTENSION_LOADED | 93 // info map a chance to react to the load event before the EXTENSION_LOADED |
98 // notification has fired. The purpose for handling this event first is to | 94 // notification has fired. The purpose for handling this event first is to |
(...skipping 18 matching lines...) Expand all Loading... |
117 // Get a set of extensions that depend on the given extension. | 113 // Get a set of extensions that depend on the given extension. |
118 // TODO(elijahtaylor): Move SharedModuleService out of chrome/browser | 114 // TODO(elijahtaylor): Move SharedModuleService out of chrome/browser |
119 // so it can be retrieved from ExtensionSystem directly. | 115 // so it can be retrieved from ExtensionSystem directly. |
120 virtual scoped_ptr<ExtensionSet> GetDependentExtensions( | 116 virtual scoped_ptr<ExtensionSet> GetDependentExtensions( |
121 const Extension* extension) = 0; | 117 const Extension* extension) = 0; |
122 }; | 118 }; |
123 | 119 |
124 } // namespace extensions | 120 } // namespace extensions |
125 | 121 |
126 #endif // EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ | 122 #endif // EXTENSIONS_BROWSER_EXTENSION_SYSTEM_H_ |
OLD | NEW |