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

Unified Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc

Issue 22429004: Refactor LauncherDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add some comments Created 7 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
Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
index 3c2360a5aa9895d9191788e819b704e671855978..a1d2c95f192f1c7758c11a0e43faa63feeea2d09 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
@@ -733,12 +733,6 @@ void ChromeLauncherControllerPerBrowser::CreateNewIncognitoWindow() {
chrome::HOST_DESKTOP_TYPE_ASH);
}
-bool ChromeLauncherControllerPerBrowser::CanPin() const {
- const PrefService::Preference* pref =
- profile_->GetPrefs()->FindPreference(prefs::kPinnedLauncherApps);
- return pref && pref->IsUserModifiable();
-}
-
ash::ShelfAutoHideBehavior
ChromeLauncherControllerPerBrowser::GetShelfAutoHideBehavior(
aura::RootWindow* root_window) const {
@@ -981,6 +975,24 @@ void ChromeLauncherControllerPerBrowser::OnLauncherDestroyed(
// Launcher is already in its destructor.
}
+ash::LauncherItemDelegate*
+ChromeLauncherControllerPerBrowser::GetLauncherItemDelegate(
+ const ash::LauncherItem& item) {
+ // PerBrowserLauncher don't have LauncherItemController.
+ if (item.type == ash::TYPE_BROWSER_SHORTCUT)
+ return this;
+
+ IDToItemControllerMap::iterator iter =
+ id_to_item_controller_map_.find(item.id);
+ return (iter != id_to_item_controller_map_.end()) ? this : NULL;
+}
+
+bool ChromeLauncherControllerPerBrowser::CanPin() const {
+ const PrefService::Preference* pref =
+ profile_->GetPrefs()->FindPreference(prefs::kPinnedLauncherApps);
+ return pref && pref->IsUserModifiable();
+}
+
void ChromeLauncherControllerPerBrowser::LauncherItemAdded(int index) {
}
@@ -1004,7 +1016,8 @@ void ChromeLauncherControllerPerBrowser::LauncherItemChanged(
int index,
const ash::LauncherItem& old_item) {
ash::LauncherID id = model_->items()[index].id;
- id_to_item_controller_map_[id]->LauncherItemChanged(index, old_item);
+ if (HasItemController(id))
+ id_to_item_controller_map_[id]->LauncherItemChanged(index, old_item);
}
void ChromeLauncherControllerPerBrowser::LauncherStatusChanged() {

Powered by Google App Engine
This is Rietveld 408576698