Switch global error menu icon to vectorized MD asset
[chromium-blink-merge.git] / chrome / browser / ui / app_list / app_context_menu.h
blob2a961bbed1733c5d3cbb320be91604f479011c55
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.
5 #ifndef CHROME_BROWSER_UI_APP_LIST_APP_CONTEXT_MENU_H_
6 #define CHROME_BROWSER_UI_APP_LIST_APP_CONTEXT_MENU_H_
8 #include <string>
10 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "ui/base/models/simple_menu_model.h"
14 class AppListControllerDelegate;
15 class Profile;
17 namespace extensions {
18 class ContextMenuMatcher;
21 namespace app_list {
23 class AppContextMenuDelegate;
25 class AppContextMenu : public ui::SimpleMenuModel::Delegate {
26 public:
27 AppContextMenu(AppContextMenuDelegate* delegate,
28 Profile* profile,
29 const std::string& app_id,
30 AppListControllerDelegate* controller);
31 ~AppContextMenu() override;
33 // Note this could return NULL if corresponding extension is gone.
34 ui::MenuModel* GetMenuModel();
36 void set_is_platform_app(bool is_platform_app) {
37 is_platform_app_ = is_platform_app;
39 void set_is_search_result(bool is_search_result) {
40 is_search_result_ = is_search_result;
42 void set_is_in_folder(bool is_in_folder) {
43 is_in_folder_ = is_in_folder;
46 private:
47 // ui::SimpleMenuModel::Delegate overrides:
48 bool IsItemForCommandIdDynamic(int command_id) const override;
49 base::string16 GetLabelForCommandId(int command_id) const override;
50 bool IsCommandIdChecked(int command_id) const override;
51 bool IsCommandIdEnabled(int command_id) const override;
52 bool GetAcceleratorForCommandId(int command_id,
53 ui::Accelerator* accelerator) override;
54 void ExecuteCommand(int command_id, int event_flags) override;
56 AppContextMenuDelegate* delegate_;
57 Profile* profile_;
58 const std::string app_id_;
59 AppListControllerDelegate* controller_;
60 bool is_platform_app_;
61 bool is_search_result_;
62 bool is_in_folder_;
64 scoped_ptr<ui::SimpleMenuModel> menu_model_;
65 scoped_ptr<extensions::ContextMenuMatcher> extension_menu_items_;
67 DISALLOW_COPY_AND_ASSIGN(AppContextMenu);
70 } // namespace app_list
72 #endif // CHROME_BROWSER_UI_APP_LIST_APP_CONTEXT_MENU_H_