| Index: chrome/browser/chromeos/launcher_search_provider/service.h
|
| diff --git a/chrome/browser/chromeos/launcher_search_provider/service.h b/chrome/browser/chromeos/launcher_search_provider/service.h
|
| index 17ebf97ce8d989bf33403f8666cbdf10e10f3779..8ff5c850ee94b8308e140a186ac416a0b884a134 100644
|
| --- a/chrome/browser/chromeos/launcher_search_provider/service.h
|
| +++ b/chrome/browser/chromeos/launcher_search_provider/service.h
|
| @@ -12,6 +12,7 @@
|
| #include "components/keyed_service/core/keyed_service.h"
|
| #include "content/public/browser/browser_context.h"
|
| #include "extensions/browser/event_router.h"
|
| +#include "extensions/browser/extension_registry_observer.h"
|
| #include "extensions/common/extension.h"
|
|
|
| namespace app_list {
|
| @@ -31,7 +32,8 @@ const int kMaxSearchResultScore = 4;
|
| // This service provides access control for it.
|
| //
|
| // TODO(yawano): Implement opt-in control (crbug.com/440649).
|
| -class Service : public KeyedService {
|
| +class Service : public KeyedService,
|
| + public extensions::ExtensionRegistryObserver {
|
| public:
|
| Service(Profile* profile, extensions::ExtensionRegistry* extension_registry);
|
| ~Service() override;
|
| @@ -60,15 +62,25 @@ class Service : public KeyedService {
|
| // Returns true if there is a running query.
|
| bool IsQueryRunning() const;
|
|
|
| + // extensions::ExtensionRegistryObserver override.
|
| + void OnExtensionLoaded(content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension) override;
|
| + void OnExtensionUnloaded(
|
| + content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension,
|
| + extensions::UnloadedExtensionInfo::Reason reason) override;
|
| +
|
| private:
|
| - // Returns extension ids of listener extensions.
|
| - std::set<extensions::ExtensionId> GetListenerExtensionIds();
|
| + // Cache listener extension ids and set them to
|
| + // |cached_listener_extension_ids_|.
|
| + void CacheListenerExtensionIds();
|
|
|
| Profile* const profile_;
|
| extensions::ExtensionRegistry* extension_registry_;
|
| app_list::LauncherSearchProvider* provider_;
|
| int query_id_;
|
| bool is_query_running_;
|
| + scoped_ptr<std::set<extensions::ExtensionId>> cached_listener_extension_ids_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Service);
|
| };
|
|
|