Index: chrome/browser/ui/app_list/recommended_apps.cc |
diff --git a/chrome/browser/ui/app_list/recommended_apps.cc b/chrome/browser/ui/app_list/recommended_apps.cc |
deleted file mode 100644 |
index bc8e93734989c2300e157d9e88df42b88e5e7b8c..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/app_list/recommended_apps.cc |
+++ /dev/null |
@@ -1,125 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/app_list/recommended_apps.h" |
- |
-#include <algorithm> |
-#include <vector> |
- |
-#include "base/bind.h" |
-#include "chrome/browser/extensions/extension_ui_util.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/ui/app_list/recommended_apps_observer.h" |
-#include "extensions/browser/extension_prefs.h" |
-#include "extensions/browser/extension_registry.h" |
-#include "extensions/browser/pref_names.h" |
-#include "extensions/common/extension.h" |
-#include "extensions/common/extension_set.h" |
- |
-namespace app_list { |
- |
-namespace { |
- |
-struct AppSortInfo { |
- AppSortInfo() : app(NULL) {} |
- AppSortInfo(const extensions::Extension* app, |
- const base::Time& last_launch_time) |
- : app(app), last_launch_time(last_launch_time) {} |
- |
- const extensions::Extension* app; |
- base::Time last_launch_time; |
-}; |
- |
-bool AppLaunchedMoreRecent(const AppSortInfo& app1, const AppSortInfo& app2) { |
- return app1.last_launch_time > app2.last_launch_time; |
-} |
- |
-} // namespace |
- |
-RecommendedApps::RecommendedApps(Profile* profile) |
- : profile_(profile), extension_registry_observer_(this) { |
- extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_); |
- pref_change_registrar_.Init(prefs->pref_service()); |
- pref_change_registrar_.Add(extensions::pref_names::kExtensions, |
- base::Bind(&RecommendedApps::Update, |
- base::Unretained(this))); |
- extension_registry_observer_.Add(extensions::ExtensionRegistry::Get(profile)); |
- Update(); |
-} |
- |
-RecommendedApps::~RecommendedApps() { |
-} |
- |
-void RecommendedApps::AddObserver(RecommendedAppsObserver* observer) { |
- observers_.AddObserver(observer); |
-} |
- |
-void RecommendedApps::RemoveObserver(RecommendedAppsObserver* observer) { |
- observers_.RemoveObserver(observer); |
-} |
- |
-void RecommendedApps::Update() { |
- extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_); |
- |
- std::vector<AppSortInfo> sorted_apps; |
- const extensions::ExtensionSet& extensions = |
- extensions::ExtensionRegistry::Get(profile_)->enabled_extensions(); |
- for (extensions::ExtensionSet::const_iterator app = extensions.begin(); |
- app != extensions.end(); |
- ++app) { |
- if (!extensions::ui_util::ShouldDisplayInAppLauncher(app->get(), profile_)) |
- continue; |
- |
- sorted_apps.push_back( |
- AppSortInfo(app->get(), prefs->GetLastLaunchTime((*app)->id()))); |
- } |
- |
- std::sort(sorted_apps.begin(), sorted_apps.end(), &AppLaunchedMoreRecent); |
- |
- const size_t kMaxRecommendedApps = 4; |
- sorted_apps.resize(std::min(kMaxRecommendedApps, sorted_apps.size())); |
- |
- Apps new_recommends; |
- for (size_t i = 0; i < sorted_apps.size(); ++i) |
- new_recommends.push_back(sorted_apps[i].app); |
- |
- const bool changed = apps_.size() != new_recommends.size() || |
- !std::equal(apps_.begin(), apps_.end(), new_recommends.begin()); |
- if (changed) { |
- apps_.swap(new_recommends); |
- FOR_EACH_OBSERVER( |
- RecommendedAppsObserver, observers_, OnRecommendedAppsChanged()); |
- } |
-} |
- |
-void RecommendedApps::OnExtensionWillBeInstalled( |
- content::BrowserContext* browser_context, |
- const extensions::Extension* extension, |
- bool is_update, |
- bool from_ephemeral, |
- const std::string& old_name) { |
- Update(); |
-} |
- |
-void RecommendedApps::OnExtensionLoaded( |
- content::BrowserContext* browser_context, |
- const extensions::Extension* extension) { |
- Update(); |
-} |
- |
-void RecommendedApps::OnExtensionUnloaded( |
- content::BrowserContext* browser_context, |
- const extensions::Extension* extension, |
- extensions::UnloadedExtensionInfo::Reason reason) { |
- Update(); |
-} |
- |
-void RecommendedApps::OnExtensionUninstalled( |
- content::BrowserContext* browser_context, |
- const extensions::Extension* extension, |
- extensions::UninstallReason reason) { |
- Update(); |
-} |
- |
-} // namespace app_list |