| Index: content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java b/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java
|
| deleted file mode 100644
|
| index c140cb60094bfc16871aa2bc992c4da05bedfe02..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/SelectActionModeCallback.java
|
| +++ /dev/null
|
| @@ -1,167 +0,0 @@
|
| -// Copyright 2012 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.content.browser;
|
| -
|
| -import android.content.ClipboardManager;
|
| -import android.content.Context;
|
| -import android.view.ActionMode;
|
| -import android.view.Menu;
|
| -import android.view.MenuItem;
|
| -
|
| -import org.chromium.content.R;
|
| -
|
| -/**
|
| - * An ActionMode.Callback for in-page selection. This class handles both the editable and
|
| - * non-editable cases.
|
| - */
|
| -public class SelectActionModeCallback implements ActionMode.Callback {
|
| - /**
|
| - * An interface to retrieve information about the current selection, and also to perform
|
| - * actions based on the selection or when the action bar is dismissed.
|
| - */
|
| - public interface ActionHandler {
|
| - /**
|
| - * Perform a select all action.
|
| - */
|
| - void selectAll();
|
| -
|
| - /**
|
| - * Perform a copy (to clipboard) action.
|
| - */
|
| - void copy();
|
| -
|
| - /**
|
| - * Perform a cut (to clipboard) action.
|
| - */
|
| - void cut();
|
| -
|
| - /**
|
| - * Perform a paste action.
|
| - */
|
| - void paste();
|
| -
|
| - /**
|
| - * Perform a share action.
|
| - */
|
| - void share();
|
| -
|
| - /**
|
| - * Perform a search action.
|
| - */
|
| - void search();
|
| -
|
| - /**
|
| - * @return true iff the current selection is editable (e.g. text within an input field).
|
| - */
|
| - boolean isSelectionEditable();
|
| -
|
| - /**
|
| - * Called when the onDestroyActionMode of the SelectActionmodeCallback is called.
|
| - */
|
| - void onDestroyActionMode();
|
| -
|
| - /**
|
| - * @return Whether or not share is available.
|
| - */
|
| - boolean isShareAvailable();
|
| -
|
| - /**
|
| - * @return Whether or not web search is available.
|
| - */
|
| - boolean isWebSearchAvailable();
|
| - }
|
| -
|
| - private final Context mContext;
|
| - private final ActionHandler mActionHandler;
|
| - private final boolean mIncognito;
|
| - private boolean mEditable;
|
| -
|
| - protected SelectActionModeCallback(
|
| - Context context, ActionHandler actionHandler, boolean incognito) {
|
| - mContext = context;
|
| - mActionHandler = actionHandler;
|
| - mIncognito = incognito;
|
| - }
|
| -
|
| - protected Context getContext() {
|
| - return mContext;
|
| - }
|
| -
|
| - @Override
|
| - public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
| - mode.setTitle(null);
|
| - mode.setSubtitle(null);
|
| - mEditable = mActionHandler.isSelectionEditable();
|
| - createActionMenu(mode, menu);
|
| - return true;
|
| - }
|
| -
|
| - @Override
|
| - public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
| - boolean isEditableNow = mActionHandler.isSelectionEditable();
|
| - if (mEditable != isEditableNow) {
|
| - mEditable = isEditableNow;
|
| - menu.clear();
|
| - createActionMenu(mode, menu);
|
| - return true;
|
| - }
|
| - return false;
|
| - }
|
| -
|
| - private void createActionMenu(ActionMode mode, Menu menu) {
|
| - mode.getMenuInflater().inflate(R.menu.select_action_menu, menu);
|
| - if (!mEditable || !canPaste()) {
|
| - menu.removeItem(R.id.select_action_menu_paste);
|
| - }
|
| -
|
| - if (!mEditable) {
|
| - menu.removeItem(R.id.select_action_menu_cut);
|
| - }
|
| -
|
| - if (mEditable || !mActionHandler.isShareAvailable()) {
|
| - menu.removeItem(R.id.select_action_menu_share);
|
| - }
|
| -
|
| - if (mEditable || mIncognito || !mActionHandler.isWebSearchAvailable()) {
|
| - menu.removeItem(R.id.select_action_menu_web_search);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
| - int id = item.getItemId();
|
| -
|
| - if (id == R.id.select_action_menu_select_all) {
|
| - mActionHandler.selectAll();
|
| - } else if (id == R.id.select_action_menu_cut) {
|
| - mActionHandler.cut();
|
| - } else if (id == R.id.select_action_menu_copy) {
|
| - mActionHandler.copy();
|
| - mode.finish();
|
| - } else if (id == R.id.select_action_menu_paste) {
|
| - mActionHandler.paste();
|
| - } else if (id == R.id.select_action_menu_share) {
|
| - mActionHandler.share();
|
| - mode.finish();
|
| - } else if (id == R.id.select_action_menu_web_search) {
|
| - mActionHandler.search();
|
| - mode.finish();
|
| - } else {
|
| - return false;
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - @Override
|
| - public void onDestroyActionMode(ActionMode mode) {
|
| - mActionHandler.onDestroyActionMode();
|
| - }
|
| -
|
| - private boolean canPaste() {
|
| - ClipboardManager clipMgr = (ClipboardManager)
|
| - getContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
| - return clipMgr.hasPrimaryClip();
|
| - }
|
| -}
|
|
|