| Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc
|
| index 1c4a286ed8897735844e391f092b5fae45c9d99e..ec03bb87676abdb5003a75ded7fe106f3051f9de 100644
|
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc
|
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc
|
| @@ -700,12 +700,6 @@ void ChromeLauncherControllerPerApp::CreateNewIncognitoWindow() {
|
| chrome::HOST_DESKTOP_TYPE_ASH);
|
| }
|
|
|
| -bool ChromeLauncherControllerPerApp::CanPin() const {
|
| - const PrefService::Preference* pref =
|
| - profile_->GetPrefs()->FindPreference(prefs::kPinnedLauncherApps);
|
| - return pref && pref->IsUserModifiable();
|
| -}
|
| -
|
| void ChromeLauncherControllerPerApp::PersistPinnedState() {
|
| if (ignore_persist_pinned_state_change_)
|
| return;
|
| @@ -945,6 +939,20 @@ ash::LauncherMenuModel* ChromeLauncherControllerPerApp::CreateApplicationMenu(
|
| event_flags));
|
| }
|
|
|
| +bool ChromeLauncherControllerPerApp::IsDraggable(
|
| + const ash::LauncherItem& item) {
|
| + return (item.type == ash::TYPE_APP_SHORTCUT ||
|
| + item.type == ash::TYPE_WINDOWED_APP) ? CanPin() : true;
|
| +}
|
| +
|
| +bool ChromeLauncherControllerPerApp::ShouldShowTooltip(
|
| + const ash::LauncherItem& item) {
|
| + if (item.type == ash::TYPE_APP_PANEL &&
|
| + id_to_item_controller_map_[item.id]->IsVisible())
|
| + return false;
|
| + return true;
|
| +}
|
| +
|
| ash::LauncherID ChromeLauncherControllerPerApp::GetIDByWindow(
|
| aura::Window* window) {
|
| for (IDToItemControllerMap::const_iterator i =
|
| @@ -972,20 +980,6 @@ ash::LauncherID ChromeLauncherControllerPerApp::GetIDByWindow(
|
| return 0;
|
| }
|
|
|
| -bool ChromeLauncherControllerPerApp::IsDraggable(
|
| - const ash::LauncherItem& item) {
|
| - return (item.type == ash::TYPE_APP_SHORTCUT ||
|
| - item.type == ash::TYPE_WINDOWED_APP) ? CanPin() : true;
|
| -}
|
| -
|
| -bool ChromeLauncherControllerPerApp::ShouldShowTooltip(
|
| - const ash::LauncherItem& item) {
|
| - if (item.type == ash::TYPE_APP_PANEL &&
|
| - id_to_item_controller_map_[item.id]->IsVisible())
|
| - return false;
|
| - return true;
|
| -}
|
| -
|
| void ChromeLauncherControllerPerApp::OnLauncherCreated(
|
| ash::Launcher* launcher) {
|
| launchers_.insert(launcher);
|
| @@ -999,6 +993,23 @@ void ChromeLauncherControllerPerApp::OnLauncherDestroyed(
|
| // Launcher is already in its destructor.
|
| }
|
|
|
| +// TODO: Remove LauncherItemDelegate interface from
|
| +// ChromeLauncherControllerPerApp. LauncherItemDelegate should be derived by
|
| +// LauncherItemController after removing PerBrowserLauncher.
|
| +ash::LauncherItemDelegate*
|
| +ChromeLauncherControllerPerApp::GetLauncherItemDelegate(
|
| + const ash::LauncherItem& item) {
|
| + IDToItemControllerMap::iterator iter =
|
| + id_to_item_controller_map_.find(item.id);
|
| + return iter != id_to_item_controller_map_.end() ? this : NULL;
|
| +}
|
| +
|
| +bool ChromeLauncherControllerPerApp::CanPin() const {
|
| + const PrefService::Preference* pref =
|
| + profile_->GetPrefs()->FindPreference(prefs::kPinnedLauncherApps);
|
| + return pref && pref->IsUserModifiable();
|
| +}
|
| +
|
| void ChromeLauncherControllerPerApp::LauncherItemAdded(int index) {
|
| }
|
|
|
| @@ -1019,8 +1030,8 @@ void ChromeLauncherControllerPerApp::LauncherItemChanged(
|
| int index,
|
| const ash::LauncherItem& old_item) {
|
| ash::LauncherID id = model_->items()[index].id;
|
| - DCHECK(HasItemController(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 ChromeLauncherControllerPerApp::LauncherStatusChanged() {
|
|
|