Chromium Code Reviews| 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 28546d8732c2a5f1a3edf01657018437f7026434..c813451b099e898cdeced72c3d700b9da01bf1eb 100644 |
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc |
| @@ -15,6 +15,7 @@ |
| #include "ash/common/wm_shell.h" |
| #include "ash/common/wm_window.h" |
| #include "ash/public/cpp/app_launch_id.h" |
| +#include "ash/public/cpp/shelf_item_delegate.h" |
| #include "ash/resources/grit/ash_resources.h" |
| #include "ash/root_window_controller.h" |
| #include "ash/shell.h" |
| @@ -52,7 +53,6 @@ |
| #include "chrome/browser/ui/ash/launcher/launcher_arc_app_updater.h" |
| #include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h" |
| #include "chrome/browser/ui/ash/launcher/launcher_extension_app_updater.h" |
| -#include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" |
| #include "chrome/browser/ui/ash/launcher/multi_profile_app_window_launcher_controller.h" |
| #include "chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.h" |
| #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
| @@ -103,10 +103,10 @@ int64_t GetDisplayIDForShelf(ash::WmShelf* shelf) { |
| } |
| // A callback that does nothing after shelf item selection handling. |
| -void NoopCallback(ash::ShelfAction, base::Optional<MenuItemList>) {} |
| +void NoopCallback(ash::ShelfAction, base::Optional<ash::MenuItemList>) {} |
| // Calls ItemSelected with |source|, default arguments, and no callback. |
| -void SelectItemWithSource(ash::mojom::ShelfItemDelegate* delegate, |
| +void SelectItemWithSource(ash::ShelfItemDelegate* delegate, |
| ash::ShelfLaunchSource source) { |
| delegate->ItemSelected(nullptr, display::kInvalidDisplayId, source, |
| base::Bind(&NoopCallback)); |
| @@ -291,7 +291,7 @@ ChromeLauncherControllerImpl::~ChromeLauncherControllerImpl() { |
| } |
| ash::ShelfID ChromeLauncherControllerImpl::CreateAppLauncherItem( |
| - LauncherItemController* controller, |
| + ash::ShelfItemDelegate* controller, |
| ash::ShelfItemStatus status) { |
| return InsertAppLauncherItem(controller, status, model_->item_count(), |
| ash::TYPE_APP); |
| @@ -327,7 +327,7 @@ void ChromeLauncherControllerImpl::SetItemStatus(ash::ShelfID id, |
| void ChromeLauncherControllerImpl::SetItemController( |
| ash::ShelfID id, |
| - LauncherItemController* controller) { |
| + ash::ShelfItemDelegate* controller) { |
|
James Cook
2017/04/04 15:34:45
ditto on all these locals named "controller"
msw
2017/04/04 18:53:09
Done.
|
| CHECK(controller); |
| IDToItemControllerMap::iterator iter = id_to_item_controller_map_.find(id); |
| CHECK(iter != id_to_item_controller_map_.end()); |
| @@ -343,10 +343,10 @@ void ChromeLauncherControllerImpl::CloseLauncherItem(ash::ShelfID id) { |
| // Create a new shortcut controller. |
| IDToItemControllerMap::iterator iter = id_to_item_controller_map_.find(id); |
| CHECK(iter != id_to_item_controller_map_.end()); |
| - LauncherItemController* controller = iter->second; |
| + ash::ShelfItemDelegate* controller = iter->second; |
| SetItemStatus(id, ash::STATUS_CLOSED); |
| const ash::AppLaunchId& app_launch_id = controller->app_launch_id(); |
| - controller = AppShortcutLauncherItemController::Create(app_launch_id, this); |
| + controller = AppShortcutLauncherItemController::Create(app_launch_id); |
| controller->set_shelf_id(id); |
| // Existing controller is destroyed and replaced by registering again. |
|
James Cook
2017/04/04 23:57:27
Nice to see junk like this going away.
|
| iter->second = controller; |
| @@ -379,14 +379,14 @@ void ChromeLauncherControllerImpl::SetV1AppStatus(const std::string& app_id, |
| else |
| SetItemStatus(id, status); |
| } else if (status != ash::STATUS_CLOSED && !app_id.empty()) { |
| - InsertAppLauncherItem(AppShortcutLauncherItemController::Create( |
| - ash::AppLaunchId(app_id), this), |
| - status, model_->item_count(), ash::TYPE_APP); |
| + InsertAppLauncherItem( |
| + AppShortcutLauncherItemController::Create(ash::AppLaunchId(app_id)), |
| + status, model_->item_count(), ash::TYPE_APP); |
| } |
| } |
| void ChromeLauncherControllerImpl::Launch(ash::ShelfID id, int event_flags) { |
| - LauncherItemController* controller = GetLauncherItemController(id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(id); |
| if (!controller) |
| return; // In case invoked from menu and item closed while menu up. |
| @@ -397,7 +397,7 @@ void ChromeLauncherControllerImpl::Launch(ash::ShelfID id, int event_flags) { |
| } |
| void ChromeLauncherControllerImpl::Close(ash::ShelfID id) { |
| - ash::mojom::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(id); |
| + ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(id); |
| if (!delegate) |
| return; // May happen if menu closed. |
| delegate->Close(); |
| @@ -430,7 +430,7 @@ void ChromeLauncherControllerImpl::ActivateApp(const std::string& app_id, |
| // running instances. |
| ash::AppLaunchId app_launch_id(app_id); |
| std::unique_ptr<AppShortcutLauncherItemController> controller( |
| - AppShortcutLauncherItemController::Create(app_launch_id, this)); |
| + AppShortcutLauncherItemController::Create(app_launch_id)); |
| if (!controller->GetRunningApplications().empty()) |
| SelectItemWithSource(controller.get(), source); |
| else |
| @@ -512,7 +512,7 @@ void ChromeLauncherControllerImpl::SetRefocusURLPatternForTest( |
| const ash::ShelfItem* item = GetItem(id); |
| if (item && !IsPlatformApp(id) && |
| (item->type == ash::TYPE_PINNED_APP || item->type == ash::TYPE_APP)) { |
| - LauncherItemController* controller = GetLauncherItemController(id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(id); |
| DCHECK(controller); |
| AppShortcutLauncherItemController* app_controller = |
| static_cast<AppShortcutLauncherItemController*>(controller); |
| @@ -590,10 +590,11 @@ void ChromeLauncherControllerImpl::AdditionalUserAddedToSession( |
| controller->AdditionalUserAddedToSession(profile); |
| } |
| -MenuItemList ChromeLauncherControllerImpl::GetAppMenuItemsForTesting( |
| +ash::MenuItemList ChromeLauncherControllerImpl::GetAppMenuItemsForTesting( |
| const ash::ShelfItem& item) { |
| - LauncherItemController* controller = GetLauncherItemController(item.id); |
| - return controller ? controller->GetAppMenuItems(ui::EF_NONE) : MenuItemList(); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(item.id); |
| + return controller ? controller->GetAppMenuItems(ui::EF_NONE) |
| + : ash::MenuItemList(); |
| } |
| std::vector<content::WebContents*> |
| @@ -603,7 +604,7 @@ ChromeLauncherControllerImpl::GetV1ApplicationsFromAppId( |
| // If there is no such item pinned to the launcher, no menu gets created. |
| if (!item || item->type != ash::TYPE_PINNED_APP) |
| return std::vector<content::WebContents*>(); |
| - LauncherItemController* controller = GetLauncherItemController(item->id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(item->id); |
| AppShortcutLauncherItemController* app_controller = |
| static_cast<AppShortcutLauncherItemController*>(controller); |
| return app_controller->GetRunningApplications(); |
| @@ -614,7 +615,7 @@ void ChromeLauncherControllerImpl::ActivateShellApp(const std::string& app_id, |
| const ash::ShelfItem* item = GetItem(GetShelfIDForAppID(app_id)); |
| if (item && |
| (item->type == ash::TYPE_APP || item->type == ash::TYPE_PINNED_APP)) { |
| - LauncherItemController* controller = GetLauncherItemController(item->id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(item->id); |
| AppWindowLauncherItemController* app_window_controller = |
| controller->AsAppWindowLauncherItemController(); |
| DCHECK(app_window_controller); |
| @@ -691,7 +692,7 @@ ChromeLauncherControllerImpl::GetBrowserShortcutLauncherItemController() { |
| return nullptr; |
| } |
| -LauncherItemController* ChromeLauncherControllerImpl::GetLauncherItemController( |
| +ash::ShelfItemDelegate* ChromeLauncherControllerImpl::GetLauncherItemController( |
| const ash::ShelfID id) { |
| IDToItemControllerMap::iterator iter = id_to_item_controller_map_.find(id); |
| return iter == id_to_item_controller_map_.end() ? nullptr : iter->second; |
| @@ -735,7 +736,7 @@ ChromeLauncherControllerImpl::GetArcDeferredLauncher() { |
| const std::string& ChromeLauncherControllerImpl::GetLaunchIDForShelfID( |
| ash::ShelfID id) { |
| - LauncherItemController* controller = GetLauncherItemController(id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(id); |
| return controller ? controller->launch_id() : base::EmptyString(); |
| } |
| @@ -941,7 +942,7 @@ ash::ShelfID ChromeLauncherControllerImpl::CreateAppShortcutLauncherItem( |
| const ash::AppLaunchId& app_launch_id, |
| int index) { |
| AppShortcutLauncherItemController* controller = |
| - AppShortcutLauncherItemController::Create(app_launch_id, this); |
| + AppShortcutLauncherItemController::Create(app_launch_id); |
| return InsertAppLauncherItem(controller, ash::STATUS_CLOSED, index, |
| ash::TYPE_PINNED_APP); |
| } |
| @@ -1206,7 +1207,7 @@ ash::ShelfItemStatus ChromeLauncherControllerImpl::GetAppState( |
| } |
| ash::ShelfID ChromeLauncherControllerImpl::InsertAppLauncherItem( |
| - LauncherItemController* controller, |
| + ash::ShelfItemDelegate* controller, |
| ash::ShelfItemStatus status, |
| int index, |
| ash::ShelfItemType shelf_item_type) { |
| @@ -1259,7 +1260,7 @@ void ChromeLauncherControllerImpl::CreateBrowserShortcutLauncherItem() { |
| ash::ShelfID id = model_->next_id(); |
| model_->AddAt(0, browser_shortcut); |
| BrowserShortcutLauncherItemController* controller = |
| - new BrowserShortcutLauncherItemController(this, model_); |
| + new BrowserShortcutLauncherItemController(model_); |
| controller->set_shelf_id(id); |
| id_to_item_controller_map_[id] = controller; |
| // ShelfModel owns BrowserShortcutLauncherItemController. |
| @@ -1315,11 +1316,11 @@ void ChromeLauncherControllerImpl::CloseWindowedAppsFromRemovedExtension( |
| void ChromeLauncherControllerImpl::SetShelfItemDelegate( |
| ash::ShelfID id, |
| - ash::mojom::ShelfItemDelegate* item_delegate) { |
| + ash::ShelfItemDelegate* item_delegate) { |
| DCHECK_NE(id, ash::kInvalidShelfID); |
| DCHECK(item_delegate); |
| model_->SetShelfItemDelegate( |
| - id, base::WrapUnique<ash::mojom::ShelfItemDelegate>(item_delegate)); |
| + id, base::WrapUnique<ash::ShelfItemDelegate>(item_delegate)); |
| } |
| void ChromeLauncherControllerImpl::ReleaseProfile() { |
| @@ -1403,7 +1404,7 @@ void ChromeLauncherControllerImpl::ShelfItemChanged( |
| void ChromeLauncherControllerImpl::OnSetShelfItemDelegate( |
| ash::ShelfID id, |
| - ash::mojom::ShelfItemDelegate* item_delegate) { |
| + ash::ShelfItemDelegate* item_delegate) { |
| // TODO(skuhne): This fixes crbug.com/429870, but it does not answer why we |
| // get into this state in the first place. |
| IDToItemControllerMap::iterator iter = id_to_item_controller_map_.find(id); |
| @@ -1456,7 +1457,7 @@ void ChromeLauncherControllerImpl::OnAppImageUpdated( |
| ash::ShelfItem item = model_->items()[index]; |
| if (GetAppIDForShelfID(item.id) != id) |
| continue; |
| - LauncherItemController* controller = GetLauncherItemController(item.id); |
| + ash::ShelfItemDelegate* controller = GetLauncherItemController(item.id); |
| if (!controller || controller->image_set_by_controller()) |
| continue; |
| item.image = image; |