0

Update PasteActionModeCallback delegate to controller [3/x].

Make [PasteActionModeCallback] use [SelectionPopupControllerImpl] as the delegate to create the menu instead of a new [SelectionActionMenuDelegate] created on the fly.

[SelectionPopupControllerImpl] already implements [SelectionActionMenuDelegate].

Bug: 320643289
Change-Id: I9f4f445125e1a336038cdf66645f96afe8fbcd9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5526597
Commit-Queue: Zakarie Yaris <yaris@google.com>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1299188}
This commit is contained in:
Zakarie Yaris
2024-05-10 13:11:47 +00:00
committed by Chromium LUCI CQ
parent 94088e52d7
commit e23b1a0d01
2 changed files with 9 additions and 51 deletions
content/public/android/java/src/org/chromium/content/browser/selection

@ -14,7 +14,6 @@ import android.view.View;
import androidx.annotation.Nullable;
import org.chromium.content.R;
import org.chromium.content.browser.selection.SelectActionMenuHelper.SelectActionMenuDelegate;
import org.chromium.content_public.browser.SelectionMenuGroup;
import org.chromium.content_public.browser.selection.SelectionActionMenuDelegate;
import org.chromium.ui.base.DeviceFormFactor;
@ -49,64 +48,23 @@ public class PasteActionModeCallback extends ActionMode.Callback2 {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
createPasteMenu(mode, menu);
return true;
}
private void createPasteMenu(ActionMode mode, Menu menu) {
mode.setTitle(
DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)
? mContext.getString(R.string.actionbar_textselection_title)
: null);
mode.setSubtitle(null);
SelectActionMenuDelegate actionMenuDelegate =
new SelectActionMenuDelegate() {
@Override
public boolean canCut() {
return false;
}
@Override
public boolean canCopy() {
return false;
}
@Override
public boolean canPaste() {
return mDelegate.canPaste();
}
@Override
public boolean canShare() {
return false;
}
@Override
public boolean canSelectAll() {
return mDelegate.canSelectAll();
}
@Override
public boolean canWebSearch() {
return false;
}
@Override
public boolean canPasteAsPlainText() {
return mDelegate.canPasteAsPlainText();
}
};
SortedSet<SelectionMenuGroup> nonSelectionMenuItems =
SelectActionMenuHelper.getNonSelectionMenuItems(
mContext, actionMenuDelegate, mSelectionActionMenuDelegate);
mCustomMenuItemClickListeners.clear();
SelectionPopupControllerImpl.initializeActionMenu(
mContext, nonSelectionMenuItems, menu, mCustomMenuItemClickListeners, null);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
SortedSet<SelectionMenuGroup> nonSelectionMenuItems =
SelectionPopupControllerImpl.getNonSelectionMenuItems(
mContext, mDelegate, mSelectionActionMenuDelegate);
mCustomMenuItemClickListeners.clear();
SelectionPopupControllerImpl.initializeActionMenu(
mContext, nonSelectionMenuItems, menu, mCustomMenuItemClickListeners, null);
return true;
}
@Override

@ -1063,7 +1063,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
return mSelectionMenuCachedResult.getResult();
}
private static SortedSet<SelectionMenuGroup> getNonSelectionMenuItems(
static SortedSet<SelectionMenuGroup> getNonSelectionMenuItems(
@Nullable Context context,
SelectActionMenuDelegate delegate,
@Nullable SelectionActionMenuDelegate selectionActionMenuDelegate) {