Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: chrome/browser/ui/ash/launcher/launcher_context_menu.h

Issue 11471027: Added more tests for IncognitoModeAvailability. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add render_view_context_menu_test_util to unit_test and browser_tests. Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_ 5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_ 6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_
7 7
8 #include "ash/launcher/launcher_alignment_menu.h" 8 #include "ash/launcher/launcher_alignment_menu.h"
9 #include "ash/launcher/launcher_types.h" 9 #include "ash/launcher/launcher_types.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "ui/base/models/simple_menu_model.h" 12 #include "ui/base/models/simple_menu_model.h"
13 13
14 class ChromeLauncherController; 14 class ChromeLauncherController;
15 15
16 namespace aura { 16 namespace aura {
17 class RootWindow; 17 class RootWindow;
18 } 18 }
19 19
20 namespace extensions { 20 namespace extensions {
21 class ContextMenuMatcher; 21 class ContextMenuMatcher;
22 } 22 }
23 23
24 // Context menu shown for a launcher item. 24 // Context menu shown for a launcher item.
25 class LauncherContextMenu : public ui::SimpleMenuModel, 25 class LauncherContextMenu : public ui::SimpleMenuModel,
26 public ui::SimpleMenuModel::Delegate { 26 public ui::SimpleMenuModel::Delegate {
27 public: 27 public:
28 enum MenuItem {
sky 2013/01/14 16:03:37 I don't like making these public just for a test,
rustema 2013/01/15 07:37:40 Done.
29 MENU_OPEN_NEW,
30 MENU_CLOSE,
31 MENU_PIN,
32 LAUNCH_TYPE_PINNED_TAB,
33 LAUNCH_TYPE_REGULAR_TAB,
34 LAUNCH_TYPE_FULLSCREEN,
35 LAUNCH_TYPE_WINDOW,
36 MENU_AUTO_HIDE,
37 MENU_NEW_WINDOW,
38 MENU_NEW_INCOGNITO_WINDOW,
39 MENU_ALIGNMENT_MENU,
40 MENU_CHANGE_WALLPAPER,
41 };
28 // |item| is NULL if the context menu is for the launcher (the user right 42 // |item| is NULL if the context menu is for the launcher (the user right
29 // |clicked on an area with no icons). 43 // |clicked on an area with no icons).
30 LauncherContextMenu(ChromeLauncherController* controller, 44 LauncherContextMenu(ChromeLauncherController* controller,
31 const ash::LauncherItem* item, 45 const ash::LauncherItem* item,
32 aura::RootWindow* root_window); 46 aura::RootWindow* root_window);
33 // Creates a menu used as a desktop context menu on |root_window|. 47 // Creates a menu used as a desktop context menu on |root_window|.
34 LauncherContextMenu(ChromeLauncherController* controller, 48 LauncherContextMenu(ChromeLauncherController* controller,
35 aura::RootWindow* root_window); 49 aura::RootWindow* root_window);
36 virtual ~LauncherContextMenu(); 50 virtual ~LauncherContextMenu();
37 51
38 void Init(); 52 void Init();
39 53
40 // ID of the item we're showing the context menu for. 54 // ID of the item we're showing the context menu for.
41 ash::LauncherID id() const { return item_.id; } 55 ash::LauncherID id() const { return item_.id; }
42 56
43 // ui::SimpleMenuModel::Delegate overrides: 57 // ui::SimpleMenuModel::Delegate overrides:
44 virtual bool IsItemForCommandIdDynamic(int command_id) const OVERRIDE; 58 virtual bool IsItemForCommandIdDynamic(int command_id) const OVERRIDE;
45 virtual string16 GetLabelForCommandId(int command_id) const OVERRIDE; 59 virtual string16 GetLabelForCommandId(int command_id) const OVERRIDE;
46 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; 60 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
47 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; 61 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
48 virtual bool GetAcceleratorForCommandId( 62 virtual bool GetAcceleratorForCommandId(
49 int command_id, 63 int command_id,
50 ui::Accelerator* accelerator) OVERRIDE; 64 ui::Accelerator* accelerator) OVERRIDE;
51 virtual void ExecuteCommand(int command_id) OVERRIDE; 65 virtual void ExecuteCommand(int command_id) OVERRIDE;
52 66
53 private: 67 private:
54 enum MenuItem {
55 MENU_OPEN_NEW,
56 MENU_CLOSE,
57 MENU_PIN,
58 LAUNCH_TYPE_PINNED_TAB,
59 LAUNCH_TYPE_REGULAR_TAB,
60 LAUNCH_TYPE_FULLSCREEN,
61 LAUNCH_TYPE_WINDOW,
62 MENU_AUTO_HIDE,
63 MENU_NEW_WINDOW,
64 MENU_NEW_INCOGNITO_WINDOW,
65 MENU_ALIGNMENT_MENU,
66 MENU_CHANGE_WALLPAPER,
67 };
68
69 // Does |item_| represent a valid item? See description of constructor for 68 // Does |item_| represent a valid item? See description of constructor for
70 // details on why it may not be valid. 69 // details on why it may not be valid.
71 bool is_valid_item() const { return item_.id != 0; } 70 bool is_valid_item() const { return item_.id != 0; }
72 71
73 ChromeLauncherController* controller_; 72 ChromeLauncherController* controller_;
74 73
75 ash::LauncherItem item_; 74 ash::LauncherItem item_;
76 75
77 ash::LauncherAlignmentMenu launcher_alignment_menu_; 76 ash::LauncherAlignmentMenu launcher_alignment_menu_;
78 77
79 scoped_ptr<extensions::ContextMenuMatcher> extension_items_; 78 scoped_ptr<extensions::ContextMenuMatcher> extension_items_;
80 79
81 aura::RootWindow* root_window_; 80 aura::RootWindow* root_window_;
82 81
83 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenu); 82 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenu);
84 }; 83 };
85 84
86 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_ 85 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_LAUNCHER_CONTEXT_MENU_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698