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