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. 4 5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_ 6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_ 7 8 #include <string> 9 10 #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h" 11 12 namespace gfx { 13 class image; 14 } 15 16 class ChromeLauncherController; 17 18 // A menu item controller for a running V2 application. It gets created when an 19 // application list gets created. It's main purpose is to add the activation 20 // method to the |ChromeLauncherAppMenuItem| class. 21 class ChromeLauncherAppMenuItemV2App : public ChromeLauncherAppMenuItem { 22 public: 23 ChromeLauncherAppMenuItemV2App( 24 const base::string16 title, 25 const gfx::Image* icon, 26 const std::string& app_id, 27 ChromeLauncherController* launcher_controller, 28 int app_index, 29 bool has_leading_separator); 30 virtual bool IsEnabled() const OVERRIDE; 31 virtual void Execute(int event_flags) OVERRIDE; 32 33 private: 34 // The owning class which can be used to validate the controller. 35 ChromeLauncherController* launcher_controller_; 36 37 // The application ID. 38 const std::string app_id_; 39 40 // The index for the given application. 41 const int app_index_; 42 43 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherAppMenuItemV2App); 44 }; 45 46 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_ 47