| Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/action/SearchAction.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/action/SearchAction.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/action/SearchAction.java
|
| deleted file mode 100644
|
| index 6a56863b34ffbace7be7c82eb65dbb5eeedad38f..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/action/SearchAction.java
|
| +++ /dev/null
|
| @@ -1,182 +0,0 @@
|
| -// Copyright 2016 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.contextualsearch.action;
|
| -
|
| -import org.chromium.base.annotations.CalledByNative;
|
| -import org.chromium.chrome.browser.contextualsearch.gesture.SearchGestureHost;
|
| -import org.chromium.content_public.browser.WebContents;
|
| -
|
| -/**
|
| - * Represents an abstract action to do a Contextual Search, and supports native C++ functionality.
|
| - * Subclasses will exist for a Resolved search action that determines the search based on page text,
|
| - * and Verbatim search action that just searches for the literal selection without providing
|
| - * context.
|
| - * This is part of the 2016-refactoring (crbug.com/624609, go/cs-refactoring-2016).
|
| - */
|
| -public abstract class SearchAction {
|
| - private long mNativePointer;
|
| -
|
| - protected final SearchActionListener mListener;
|
| - protected final SearchGestureHost mHost;
|
| -
|
| - // ============================================================================================
|
| - // Constructor
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Constructs an action that knows how to Search. Current implementation is limited to
|
| - * gathering the text on a Tap gesture in order to determine whether the Tap should be
|
| - * suppressed or a search should be done or not, implemented by the
|
| - * {@class ResolvedSearchAction} subclass.
|
| - * @param listener The object to notify when the {@link SearchAction} state changes.
|
| - * @param host The host object, which provides environment data.
|
| - */
|
| - public SearchAction(SearchActionListener listener, SearchGestureHost host) {
|
| - mHost = host;
|
| - mNativePointer = nativeInit();
|
| -
|
| - mListener = listener;
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Abstract
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Extracts the context for the current search -- text surrounding the location of the Tap
|
| - * gesture.
|
| - */
|
| - public abstract void extractContext();
|
| -
|
| - // ============================================================================================
|
| - //
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Called when the system determines that this action will not be acted upon.
|
| - */
|
| - public void dismissAction() {
|
| - mHost.dismissGesture();
|
| - }
|
| -
|
| - /**
|
| - * Should be called when this object is no longer needed to clean up storage.
|
| - */
|
| - public void destroyAction() {
|
| - onActionEnded();
|
| -
|
| - if (mNativePointer != 0L) {
|
| - nativeDestroy(mNativePointer);
|
| - }
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Suppression
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * @return Whether this action should be suppressed.
|
| - */
|
| - protected boolean shouldSuppressAction() {
|
| - // TODO(donnd): integrate with native tap suppression.
|
| - return false;
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // State notification
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Sends notification that the context is ready for use now.
|
| - */
|
| - protected void notifyContextReady() {
|
| - onContextReady();
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Surrounding Text
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Requests text surrounding the location of the caret.
|
| - */
|
| - protected void requestSurroundingText() {
|
| - WebContents webContents = mHost.getTabWebContents();
|
| - if (webContents != null) {
|
| - nativeRequestSurroundingText(mNativePointer, webContents);
|
| - // TODO(donnd): consider reusing this surrounding text for the resolve action too.
|
| - // Currently we make an additional request for the surroundings after the UX selects the
|
| - // word tapped, in order to resolve the search term based on that selection.
|
| - } else {
|
| - notifyContextReady();
|
| - }
|
| - }
|
| -
|
| - @CalledByNative
|
| - protected void onSurroundingTextReady() {
|
| - // No base class action here, subclass may override and take action.
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // SearchAction states
|
| - // ============================================================================================
|
| -
|
| - /**
|
| - * Called to notify that the current context is ready.
|
| - */
|
| - private void onContextReady() {
|
| - mListener.onContextReady(this);
|
| -
|
| - if (shouldSuppressAction()) {
|
| - onActionSuppressed();
|
| - } else {
|
| - onActionAccepted();
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Called when an action has been accepted to notify the listener.
|
| - */
|
| - private void onActionAccepted() {
|
| - mListener.onActionAccepted(this);
|
| - }
|
| -
|
| - /**
|
| - * Called when an action has been suppressed to notify the listener.
|
| - */
|
| - private void onActionSuppressed() {
|
| - mListener.onActionSuppressed(this);
|
| -
|
| - dismissAction();
|
| - }
|
| -
|
| - /**
|
| - * Called when an action has ended to notify the listener.
|
| - */
|
| - private void onActionEnded() {
|
| - mListener.onActionEnded(this);
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Internals
|
| - // ============================================================================================
|
| -
|
| - @CalledByNative
|
| - private void clearNativePointer() {
|
| - assert mNativePointer != 0;
|
| - mNativePointer = 0;
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Native methods.
|
| - // ============================================================================================
|
| -
|
| - // Native calls.
|
| - private native long nativeInit();
|
| - private native void nativeDestroy(long nativeSearchAction);
|
| -
|
| - private native void nativeRequestSurroundingText(
|
| - long nativeSearchAction, WebContents webContents);
|
| -}
|
|
|