• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 package org.chromium.chrome.browser.contextmenu;
6 
7 import android.content.Context;
8 import android.view.ContextMenu;
9 
10 /**
11  * A delegate responsible for populating context menus and processing results from
12  * {@link ContextMenuHelper}.
13  */
14 public interface ContextMenuPopulator {
15     /**
16      * Determines whether or not a context menu should be shown for {@code params}.
17      * @param params The {@link ContextMenuParams} that represent what should be shown in the
18      *               context menu.
19      * @return       Whether or not a context menu should be shown.
20      */
shouldShowContextMenu(ContextMenuParams params)21     public boolean shouldShowContextMenu(ContextMenuParams params);
22 
23     /**
24      * Should be used to populate {@code menu} with the correct context menu items.
25      * @param menu    The menu to populate.
26      * @param context A {@link Context} instance.
27      * @param params  The parameters that represent what should be shown in the context menu.
28      */
buildContextMenu(ContextMenu menu, Context context, ContextMenuParams params)29     public void buildContextMenu(ContextMenu menu, Context context, ContextMenuParams params);
30 
31     /**
32      * Called when a context menu item has been selected.
33      * @param helper The {@link ContextMenuHelper} driving the menu operations.
34      * @param params The parameters that represent what is being shown in the context menu.
35      * @param itemId The id of the selected menu item.
36      * @return       Whether or not the selection was handled.
37      */
onItemSelected(ContextMenuHelper helper, ContextMenuParams params, int itemId)38     public boolean onItemSelected(ContextMenuHelper helper, ContextMenuParams params, int itemId);
39 }