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

Unified Diff: chrome/browser/ui/app_list/apps_model_builder.cc

Issue 12298015: Change NotifyAppList*() functions into observers on a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix mac Created 7 years, 10 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
Index: chrome/browser/ui/app_list/apps_model_builder.cc
diff --git a/chrome/browser/ui/app_list/apps_model_builder.cc b/chrome/browser/ui/app_list/apps_model_builder.cc
index 4bacc0a56eb637382f3489a835243896899052a5..904787a7fab414bd0882bcc36fdbe03000a058a6 100644
--- a/chrome/browser/ui/app_list/apps_model_builder.cc
+++ b/chrome/browser/ui/app_list/apps_model_builder.cc
@@ -11,6 +11,8 @@
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
+#include "chrome/browser/extensions/install_tracker.h"
+#include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/app_list/extension_app_item.h"
#include "chrome/common/chrome_notification_types.h"
@@ -43,6 +45,9 @@ AppsModelBuilder::AppsModelBuilder(Profile* profile,
controller_(controller),
model_(model),
ignore_changes_(false) {
+ extensions::InstallTracker* tracker =
+ extensions::InstallTrackerFactory::GetForProfile(profile_);
+ tracker->AddObserver(this);
extensions::ExtensionPrefs* extension_prefs =
extensions::ExtensionSystem::Get(profile_)->extension_service()->
extension_prefs();
@@ -65,6 +70,9 @@ AppsModelBuilder::AppsModelBuilder(Profile* profile,
}
AppsModelBuilder::~AppsModelBuilder() {
+ extensions::InstallTracker* tracker =
+ extensions::InstallTrackerFactory::GetForProfile(profile_);
+ tracker->RemoveObserver(this);
model_->RemoveObserver(this);
}
@@ -78,7 +86,10 @@ void AppsModelBuilder::Build() {
void AppsModelBuilder::OnBeginExtensionInstall(
const std::string& extension_id,
const std::string& extension_name,
- const gfx::ImageSkia& installing_icon) {
+ const gfx::ImageSkia& installing_icon,
+ bool is_app) {
+ if (!is_app)
+ return;
InsertApp(new ExtensionAppItem(profile_,
extension_id,
controller_,
« no previous file with comments | « chrome/browser/ui/app_list/apps_model_builder.h ('k') | chrome/browser/ui/ash/app_list/app_list_controller_ash.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698