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 12namespace gfx { 13class image; 14} 15 16class 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. 21class 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