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
3 // found in the LICENSE file.
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_
8 #include "base/basictypes.h"
9 #include "chrome/browser/extensions/context_menu_matcher.h"
10 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
22 class TestRenderViewContextMenu
: public RenderViewContextMenu
{
24 TestRenderViewContextMenu(content::RenderFrameHost
* render_frame_host
,
25 content::ContextMenuParams params
);
26 virtual ~TestRenderViewContextMenu();
29 // This is a lightweight method to create a test RenderViewContextMenu
31 // Use the constructor if you want to create menu with fine-grained params.
32 static TestRenderViewContextMenu
* Create(content::WebContents
* web_contents
,
35 const GURL
& frame_url
);
37 // Implementation of pure virtuals in RenderViewContextMenu.
38 virtual void PlatformInit() OVERRIDE
;
39 virtual void PlatformCancel() OVERRIDE
;
40 virtual bool GetAcceleratorForCommandId(
42 ui::Accelerator
* accelerator
) OVERRIDE
;
44 // Returns true if command specified by |command_id| is present
46 // List of command ids can be found in chrome/app/chrome_command_ids.h.
47 bool IsItemPresent(int command_id
);
49 // Searches for an menu item with |command_id|. If it's found, the return
50 // value is true and the model and index where it appears in that model are
51 // returned in |found_model| and |found_index|. Otherwise returns false.
52 bool GetMenuModelAndItemIndex(int command_id
,
53 ui::MenuModel
** found_model
,
56 extensions::ContextMenuMatcher
& extension_items() { return extension_items_
; }
59 DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu
);
62 #endif // CHROME_BROWSER_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_TEST_UTIL_H_