app_list_controller_delegate_win.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
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_VIEWS_APP_LIST_WIN_APP_LIST_CONTROLLER_DELEGATE_WIN_H_
6#define CHROME_BROWSER_UI_VIEWS_APP_LIST_WIN_APP_LIST_CONTROLLER_DELEGATE_WIN_H_
7
8#include "base/files/file_path.h"
9#include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
10#include "ui/gfx/image/image_skia.h"
11#include "ui/gfx/native_widget_types.h"
12
13class AppListServiceWin;
14class Profile;
15
16namespace extensions {
17class Extension;
18}
19
20// Windows specific configuration and behaviour for the AppList.
21class AppListControllerDelegateWin : public AppListControllerDelegate {
22 public:
23  explicit AppListControllerDelegateWin(AppListServiceWin* service);
24  virtual ~AppListControllerDelegateWin();
25
26  // AppListServiceWin overrides:
27  virtual void DismissView() OVERRIDE;
28  virtual void ViewClosing() OVERRIDE;
29  virtual gfx::NativeWindow GetAppListWindow() OVERRIDE;
30  virtual gfx::ImageSkia GetWindowIcon() OVERRIDE;
31  virtual Pinnable GetPinnable() OVERRIDE;
32  virtual void OnShowExtensionPrompt() OVERRIDE;
33  virtual void OnCloseExtensionPrompt() OVERRIDE;
34  virtual bool CanDoCreateShortcutsFlow(bool is_platform_app) OVERRIDE;
35  virtual void DoCreateShortcutsFlow(Profile* profile,
36                                     const std::string& extension_id) OVERRIDE;
37  virtual void CreateNewWindow(Profile* profile, bool incognito) OVERRIDE;
38  virtual void ActivateApp(Profile* profile,
39                           const extensions::Extension* extension,
40                           AppListSource source,
41                           int event_flags) OVERRIDE;
42  virtual void LaunchApp(Profile* profile,
43                         const extensions::Extension* extension,
44                         AppListSource source,
45                         int event_flags) OVERRIDE;
46  virtual void ShowForProfileByPath(
47      const base::FilePath& profile_path) OVERRIDE;
48
49 private:
50  AppListServiceWin* service_;
51
52  DISALLOW_COPY_AND_ASSIGN(AppListControllerDelegateWin);
53};
54
55#endif  // CHROME_BROWSER_UI_VIEWS_APP_LIST_WIN_APP_LIST_CONTROLLER_DELEGATE_WIN_H_
56