| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.chromium.chrome.browser.contextmenu; |
| |
| import android.content.Context; |
| import android.view.ContextMenu; |
| |
| /** |
| * A delegate responsible for populating context menus and processing results from |
| * {@link ContextMenuHelper}. |
| */ |
| public interface ContextMenuPopulator { |
| /** |
| * Determines whether or not a context menu should be shown for {@code params}. |
| * @param params The {@link ContextMenuParams} that represent what should be shown in the |
| * context menu. |
| * @return Whether or not a context menu should be shown. |
| */ |
| public boolean shouldShowContextMenu(ContextMenuParams params); |
| |
| /** |
| * Should be used to populate {@code menu} with the correct context menu items. |
| * @param menu The menu to populate. |
| * @param context A {@link Context} instance. |
| * @param params The parameters that represent what should be shown in the context menu. |
| */ |
| public void buildContextMenu(ContextMenu menu, Context context, ContextMenuParams params); |
| |
| /** |
| * Called when a context menu item has been selected. |
| * @param helper The {@link ContextMenuHelper} driving the menu operations. |
| * @param params The parameters that represent what is being shown in the context menu. |
| * @param itemId The id of the selected menu item. |
| * @return Whether or not the selection was handled. |
| */ |
| public boolean onItemSelected(ContextMenuHelper helper, ContextMenuParams params, int itemId); |
| } |