Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
index a59ff12ccac573ba90adc3b42d91f462d1036350..fc5bda15669a80b6e86d14db2ecd1c11712f784f 100644 |
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
@@ -10,7 +10,6 @@ |
#include "ash/common/ash_switches.h" |
#include "ash/common/multi_profile_uma.h" |
-#include "ash/common/shelf/shelf_item_delegate_manager.h" |
#include "ash/common/shelf/shelf_model.h" |
#include "ash/common/system/tray/system_tray_delegate.h" |
#include "ash/common/wm_shell.h" |
@@ -192,6 +191,7 @@ ChromeLauncherControllerImpl::ChromeLauncherControllerImpl( |
Profile* profile, |
ash::ShelfModel* model) |
: model_(model), profile_(profile) { |
+ DCHECK(model_); |
if (!profile_) { |
// If no profile was passed, we take the currently active profile and use it |
// as the owner of the current desktop. |
@@ -253,22 +253,11 @@ ChromeLauncherControllerImpl::ChromeLauncherControllerImpl( |
// Right now ash::Shell isn't created for tests. |
// TODO(mukai): Allows it to observe display change and write tests. |
- if (ash::Shell::HasInstance()) { |
+ if (ash::Shell::HasInstance()) |
ash::Shell::GetInstance()->window_tree_host_manager()->AddObserver(this); |
- // If it got already set, we remove the observer first again and swap the |
- // ItemDelegateManager. |
- if (item_delegate_manager_) |
- item_delegate_manager_->RemoveObserver(this); |
- item_delegate_manager_ = |
- ash::Shell::GetInstance()->shelf_item_delegate_manager(); |
- item_delegate_manager_->AddObserver(this); |
- } |
} |
ChromeLauncherControllerImpl::~ChromeLauncherControllerImpl() { |
- if (item_delegate_manager_) |
- item_delegate_manager_->RemoveObserver(this); |
- |
// Reset the BrowserStatusMonitor as it has a weak pointer to this. |
browser_status_monitor_.reset(); |
@@ -435,7 +424,7 @@ bool ChromeLauncherControllerImpl::IsPinnable(ash::ShelfID id) const { |
std::string app_id; |
return ((type == ash::TYPE_APP_SHORTCUT || type == ash::TYPE_PLATFORM_APP || |
type == ash::TYPE_WINDOWED_APP) && |
- item_delegate_manager_->GetShelfItemDelegate(id)->CanPin()); |
+ model_->GetShelfItemDelegate(id)->CanPin()); |
} |
void ChromeLauncherControllerImpl::LockV1AppWithID(const std::string& app_id) { |
@@ -1027,17 +1016,6 @@ const std::string& ChromeLauncherControllerImpl::GetAppIdFromShelfIdForTest( |
return id_to_item_controller_map_[id]->app_id(); |
} |
-void ChromeLauncherControllerImpl::SetShelfItemDelegateManagerForTest( |
- ash::ShelfItemDelegateManager* manager) { |
- if (item_delegate_manager_) |
- item_delegate_manager_->RemoveObserver(this); |
- |
- item_delegate_manager_ = manager; |
- |
- if (item_delegate_manager_) |
- item_delegate_manager_->AddObserver(this); |
-} |
- |
/////////////////////////////////////////////////////////////////////////////// |
// ChromeLauncherControllerImpl private: |
@@ -1515,8 +1493,7 @@ void ChromeLauncherControllerImpl::SetShelfItemDelegate( |
ash::ShelfItemDelegate* item_delegate) { |
DCHECK_GT(id, 0); |
DCHECK(item_delegate); |
- DCHECK(item_delegate_manager_); |
- item_delegate_manager_->SetShelfItemDelegate( |
+ model_->SetShelfItemDelegate( |
id, std::unique_ptr<ash::ShelfItemDelegate>(item_delegate)); |
} |