Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: athena/content/content_app_model_builder.cc

Issue 487843003: ExtensionDelegate to abstract extension implementation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix deps Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « athena/content/app_activity_unittest.cc ('k') | athena/extensions/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(
« no previous file with comments | « athena/content/app_activity_unittest.cc ('k') | athena/extensions/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698