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_TAB_H_
6#define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_TAB_H_
7
8#include "base/strings/string16.h"
9#include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h"
10#include "content/public/browser/web_contents_observer.h"
11
12namespace content{
13class WebContents;
14}
15
16class TabStripModel;
17
18// A menu item controller for a running browser tab. It gets created when an
19// application/tab list gets created. It's main purpose is to add the
20// activation method to the |ChromeLauncherAppMenuItem| class.
21class ChromeLauncherAppMenuItemTab
22    : public ChromeLauncherAppMenuItem,
23      public content::WebContentsObserver {
24 public:
25  ChromeLauncherAppMenuItemTab(const base::string16 title,
26                               const gfx::Image* icon,
27                               content::WebContents* content,
28                               bool has_leading_separator);
29  virtual bool IsActive() const OVERRIDE;
30  virtual bool IsEnabled() const OVERRIDE;
31  virtual void Execute(int event_flags) OVERRIDE;
32
33 private:
34  DISALLOW_COPY_AND_ASSIGN(ChromeLauncherAppMenuItemTab);
35};
36
37#endif  // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_TAB_H_
38