Index: chrome/browser/extensions/extension_system.h |
diff --git a/chrome/browser/extensions/extension_system.h b/chrome/browser/extensions/extension_system.h |
index c2bdc609f84d2d17dc27648ae4ca335c980aac9a..0ed70e09012ff911b37d42c97fe12e3a5dab8a0d 100644 |
--- a/chrome/browser/extensions/extension_system.h |
+++ b/chrome/browser/extensions/extension_system.h |
@@ -15,6 +15,7 @@ |
#include "chrome/browser/extensions/api/usb/usb_device_resource.h" |
#include "chrome/browser/profiles/profile_keyed_service.h" |
#include "chrome/common/extensions/extension_constants.h" |
+#include "extensions/common/async_event.h" |
class ExtensionInfoMap; |
class ExtensionProcessManager; |
@@ -140,6 +141,8 @@ class ExtensionSystem : public ProfileKeyedService { |
virtual void UnregisterExtensionWithRequestContexts( |
const std::string& extension_id, |
const extension_misc::UnloadedExtensionReason reason) {} |
+ |
+ virtual const AsyncEvent& ready() const = 0; |
}; |
// The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. |
@@ -189,6 +192,8 @@ class ExtensionSystemImpl : public ExtensionSystem { |
const std::string& extension_id, |
const extension_misc::UnloadedExtensionReason reason) OVERRIDE; |
+ virtual const AsyncEvent& ready() const OVERRIDE; |
+ |
private: |
friend class ExtensionSystemSharedFactory; |
@@ -220,6 +225,7 @@ class ExtensionSystemImpl : public ExtensionSystem { |
LazyBackgroundTaskQueue* lazy_background_task_queue(); |
EventRouter* event_router(); |
ExtensionWarningService* warning_service(); |
+ const AsyncEvent& ready() const { return ready_; } |
private: |
Profile* profile_; |
@@ -249,6 +255,8 @@ class ExtensionSystemImpl : public ExtensionSystem { |
scoped_refptr<ExtensionInfoMap> extension_info_map_; |
scoped_ptr<ExtensionWarningService> extension_warning_service_; |
scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; |
+ |
+ AsyncEvent ready_; |
}; |
Profile* profile_; |