OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UTIL_
H_ | 5 #ifndef CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UTIL_
H_ |
6 #define CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UTIL_
H_ | 6 #define CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UTIL_
H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "chrome/browser/extensions/context_menu_matcher.h" | 9 #include "chrome/browser/extensions/context_menu_matcher.h" |
10 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" | 10 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" |
11 #include "url/gurl.h" | 11 #include "url/gurl.h" |
12 | 12 |
13 class Browser; | 13 class Browser; |
14 | 14 |
15 namespace content { | 15 namespace content { |
16 class WebContents; | 16 class WebContents; |
17 } | 17 } |
18 namespace ui { | 18 namespace ui { |
19 class MenuModel; | 19 class MenuModel; |
20 } | 20 } |
21 | 21 |
22 class TestRenderViewContextMenu : public RenderViewContextMenu { | 22 class TestRenderViewContextMenu : public RenderViewContextMenu { |
23 public: | 23 public: |
24 TestRenderViewContextMenu(content::RenderFrameHost* render_frame_host, | 24 TestRenderViewContextMenu(content::RenderFrameHost* render_frame_host, |
25 content::ContextMenuParams params); | 25 content::ContextMenuParams params); |
26 virtual ~TestRenderViewContextMenu(); | 26 ~TestRenderViewContextMenu() override; |
27 | 27 |
28 // Factory. | 28 // Factory. |
29 // This is a lightweight method to create a test RenderViewContextMenu | 29 // This is a lightweight method to create a test RenderViewContextMenu |
30 // instance. | 30 // instance. |
31 // Use the constructor if you want to create menu with fine-grained params. | 31 // Use the constructor if you want to create menu with fine-grained params. |
32 static TestRenderViewContextMenu* Create(content::WebContents* web_contents, | 32 static TestRenderViewContextMenu* Create(content::WebContents* web_contents, |
33 const GURL& page_url, | 33 const GURL& page_url, |
34 const GURL& link_url, | 34 const GURL& link_url, |
35 const GURL& frame_url); | 35 const GURL& frame_url); |
36 | 36 |
37 // Implementation of pure virtuals in RenderViewContextMenu. | 37 // Implementation of pure virtuals in RenderViewContextMenu. |
38 virtual bool GetAcceleratorForCommandId( | 38 bool GetAcceleratorForCommandId(int command_id, |
39 int command_id, | 39 ui::Accelerator* accelerator) override; |
40 ui::Accelerator* accelerator) override; | |
41 | 40 |
42 // Returns true if command specified by |command_id| is present | 41 // Returns true if command specified by |command_id| is present |
43 // in the menu. | 42 // in the menu. |
44 // List of command ids can be found in chrome/app/chrome_command_ids.h. | 43 // List of command ids can be found in chrome/app/chrome_command_ids.h. |
45 bool IsItemPresent(int command_id); | 44 bool IsItemPresent(int command_id); |
46 | 45 |
47 // Searches for an menu item with |command_id|. If it's found, the return | 46 // Searches for an menu item with |command_id|. If it's found, the return |
48 // value is true and the model and index where it appears in that model are | 47 // value is true and the model and index where it appears in that model are |
49 // returned in |found_model| and |found_index|. Otherwise returns false. | 48 // returned in |found_model| and |found_index|. Otherwise returns false. |
50 bool GetMenuModelAndItemIndex(int command_id, | 49 bool GetMenuModelAndItemIndex(int command_id, |
51 ui::MenuModel** found_model, | 50 ui::MenuModel** found_model, |
52 int* found_index); | 51 int* found_index); |
53 | 52 |
54 extensions::ContextMenuMatcher& extension_items() { return extension_items_; } | 53 extensions::ContextMenuMatcher& extension_items() { return extension_items_; } |
55 | 54 |
56 private: | 55 private: |
57 DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu); | 56 DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu); |
58 }; | 57 }; |
59 | 58 |
60 #endif // CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UT
IL_H_ | 59 #endif // CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UT
IL_H_ |
OLD | NEW |