1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/ash/app_list/app_list_controller_ash.h"
8 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
10 AppListControllerDelegateAsh::AppListControllerDelegateAsh() {}
12 AppListControllerDelegateAsh::~AppListControllerDelegateAsh() {}
14 void AppListControllerDelegateAsh::DismissView() {
15 DCHECK(ash::Shell::HasInstance());
16 if (ash::Shell::GetInstance()->GetAppListTargetVisibility())
17 ash::Shell::GetInstance()->ToggleAppList(NULL);
20 gfx::NativeWindow AppListControllerDelegateAsh::GetAppListWindow() {
21 DCHECK(ash::Shell::HasInstance());
22 return ash::Shell::GetInstance()->GetAppListWindow();
25 gfx::ImageSkia AppListControllerDelegateAsh::GetWindowIcon() {
26 return gfx::ImageSkia();
29 bool AppListControllerDelegateAsh::IsAppPinned(
30 const std::string& extension_id) {
31 return ChromeLauncherController::instance()->IsAppPinned(extension_id);
34 void AppListControllerDelegateAsh::PinApp(const std::string& extension_id) {
35 ChromeLauncherController::instance()->PinAppWithID(extension_id);
38 void AppListControllerDelegateAsh::UnpinApp(const std::string& extension_id) {
39 ChromeLauncherController::instance()->UnpinAppWithID(extension_id);
42 AppListControllerDelegate::Pinnable
43 AppListControllerDelegateAsh::GetPinnable() {
44 return ChromeLauncherController::instance()->CanPin() ? PIN_EDITABLE :
48 bool AppListControllerDelegateAsh::CanDoCreateShortcutsFlow() {
52 void AppListControllerDelegateAsh::DoCreateShortcutsFlow(
54 const std::string& extension_id) {
58 void AppListControllerDelegateAsh::CreateNewWindow(Profile* profile,
61 ChromeLauncherController::instance()->CreateNewIncognitoWindow();
63 ChromeLauncherController::instance()->CreateNewWindow();
66 void AppListControllerDelegateAsh::ActivateApp(
68 const extensions::Extension* extension,
71 ChromeLauncherController::instance()->ActivateApp(
73 AppListSourceToLaunchSource(source),
79 void AppListControllerDelegateAsh::LaunchApp(
81 const extensions::Extension* extension,
84 ChromeLauncherController::instance()->LaunchApp(
86 AppListSourceToLaunchSource(source),
91 void AppListControllerDelegateAsh::ShowForProfileByPath(
92 const base::FilePath& profile_path) {
93 // Ash doesn't have profile switching.
97 bool AppListControllerDelegateAsh::ShouldShowUserIcon() {
101 ash::LaunchSource AppListControllerDelegateAsh::AppListSourceToLaunchSource(
102 AppListSource source) {
104 case LAUNCH_FROM_APP_LIST:
105 return ash::LAUNCH_FROM_APP_LIST;
106 case LAUNCH_FROM_APP_LIST_SEARCH:
107 return ash::LAUNCH_FROM_APP_LIST_SEARCH;
109 return ash::LAUNCH_FROM_UNKNOWN;