Home | History | Annotate | Download | only in app_list
      1 // Copyright 2013 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.
      4 
      5 #ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_CONTROLLER_DELEGATE_IMPL_H_
      6 #define CHROME_BROWSER_UI_APP_LIST_APP_LIST_CONTROLLER_DELEGATE_IMPL_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
     10 
     11 struct AppLaunchParams;
     12 class AppListService;
     13 class Profile;
     14 
     15 namespace base {
     16 class FilePath;
     17 }
     18 
     19 namespace extensions {
     20 class Extension;
     21 }
     22 
     23 // Primary implementation of AppListControllerDelegate, used by non-Ash
     24 // platforms.
     25 class AppListControllerDelegateImpl : public AppListControllerDelegate {
     26  public:
     27   explicit AppListControllerDelegateImpl(AppListService* service);
     28   virtual ~AppListControllerDelegateImpl();
     29 
     30   // AppListControllerDelegate overrides:
     31   virtual void DismissView() OVERRIDE;
     32   virtual gfx::NativeWindow GetAppListWindow() OVERRIDE;
     33   virtual gfx::ImageSkia GetWindowIcon() OVERRIDE;
     34   virtual bool IsAppPinned(const std::string& extension_id) OVERRIDE;
     35   virtual void PinApp(const std::string& extension_id) OVERRIDE;
     36   virtual void UnpinApp(const std::string& extension_id) OVERRIDE;
     37   virtual Pinnable GetPinnable() OVERRIDE;
     38   virtual bool CanDoCreateShortcutsFlow() OVERRIDE;
     39   virtual void DoCreateShortcutsFlow(Profile* profile,
     40                                      const std::string& extension_id) OVERRIDE;
     41   virtual void CreateNewWindow(Profile* profile, bool incognito) OVERRIDE;
     42   virtual void ActivateApp(Profile* profile,
     43                            const extensions::Extension* extension,
     44                            AppListSource source,
     45                            int event_flags) OVERRIDE;
     46   virtual void LaunchApp(Profile* profile,
     47                          const extensions::Extension* extension,
     48                          AppListSource source,
     49                          int event_flags) OVERRIDE;
     50   virtual void ShowForProfileByPath(
     51       const base::FilePath& profile_path) OVERRIDE;
     52   virtual bool ShouldShowUserIcon() OVERRIDE;
     53 
     54  protected:
     55   // Perform platform-specific adjustments of |params| before OpenApplication().
     56   virtual void FillLaunchParams(AppLaunchParams* params);
     57 
     58  private:
     59   void OnCloseCreateShortcutsPrompt(bool created);
     60 
     61   AppListService* service_;
     62 
     63   DISALLOW_COPY_AND_ASSIGN(AppListControllerDelegateImpl);
     64 };
     65 
     66 #endif  // CHROME_BROWSER_UI_APP_LIST_APP_LIST_CONTROLLER_DELEGATE_IMPL_H_
     67