Index: athena/content/content_app_model_builder.cc |
diff --git a/athena/content/content_app_model_builder.cc b/athena/content/content_app_model_builder.cc |
index a84d3c2901f44ca753cf220dbd584c2b77ceb640..06cb747c856a9a20a1f648e18df0c9f45ce6b4e6 100644 |
--- a/athena/content/content_app_model_builder.cc |
+++ b/athena/content/content_app_model_builder.cc |
@@ -6,26 +6,18 @@ |
#include "athena/activity/public/activity_factory.h" |
#include "athena/activity/public/activity_manager.h" |
+#include "athena/extensions/public/extensions_delegate.h" |
#include "extensions/browser/extension_icon_image.h" |
#include "extensions/common/constants.h" |
-#include "extensions/common/extension.h" |
+#include "extensions/common/extension_set.h" |
#include "extensions/common/manifest_handlers/icons_handler.h" |
-#include "extensions/shell/browser/shell_extension_system.h" |
#include "ui/app_list/app_list_item.h" |
#include "ui/app_list/app_list_model.h" |
-using extensions::ShellExtensionSystem; |
- |
namespace athena { |
namespace { |
-ShellExtensionSystem* GetShellExtensionSystem( |
- content::BrowserContext* context) { |
- return static_cast<ShellExtensionSystem*>( |
- extensions::ExtensionSystem::Get(context)); |
-} |
- |
gfx::ImageSkia CreateFlatColorImage(SkColor color) { |
SkBitmap bitmap; |
bitmap.allocN32Pixels(extension_misc::EXTENSION_ICON_MEDIUM, |
@@ -64,7 +56,7 @@ class DummyItem : public app_list::AppListItem { |
class AppItem : public app_list::AppListItem { |
public: |
- AppItem(scoped_refptr<extensions::Extension> extension, |
+ AppItem(scoped_refptr<const extensions::Extension> extension, |
content::BrowserContext* browser_context) |
: app_list::AppListItem(extension->id()), |
extension_(extension), |
@@ -84,12 +76,10 @@ class AppItem : public app_list::AppListItem { |
private: |
// Overridden from app_list::AppListItem: |
virtual void Activate(int event_flags) OVERRIDE { |
- // TODO(mukai): Pass |extension_| when the extension system supports |
- // multiple extensions. |
- GetShellExtensionSystem(browser_context_)->LaunchApp(); |
+ ExtensionsDelegate::Get(browser_context_)->LaunchApp(extension_->id()); |
} |
- scoped_refptr<extensions::Extension> extension_; |
+ scoped_refptr<const extensions::Extension> extension_; |
content::BrowserContext* browser_context_; |
extensions::IconImage icon_image_; |
@@ -107,11 +97,13 @@ ContentAppModelBuilder::~ContentAppModelBuilder() { |
} |
void ContentAppModelBuilder::PopulateApps(app_list::AppListModel* model) { |
- ShellExtensionSystem* extension_system = |
- GetShellExtensionSystem(browser_context_); |
- if (extension_system && extension_system->extension()) { |
+ ExtensionsDelegate* bridge = ExtensionsDelegate::Get(browser_context_); |
+ const extensions::ExtensionSet& extensions = bridge->GetInstalledExtensions(); |
+ for (extensions::ExtensionSet::const_iterator iter = extensions.begin(); |
+ iter != extensions.end(); |
+ ++iter) { |
model->AddItem(scoped_ptr<app_list::AppListItem>( |
- new AppItem(extension_system->extension(), browser_context_))); |
+ new AppItem(*iter, browser_context_))); |
} |
model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem( |