| 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() {
|
|
|