Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54fc7807 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android Git Automerger
Browse files

am df467264: Merge "Final polish of WebView accessibility support for no...

am df467264: Merge "Final polish of WebView accessibility support for no JavaScript case." into honeycomb

* commit 'df467264':
  Final polish of WebView accessibility support for no JavaScript case.
parents 49295e53 df467264
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -113,6 +113,11 @@ class AccessibilityInjector {
     * @return True if the event was processed.
     */
    public boolean onKeyEvent(KeyEvent event) {
        // We do not handle ENTER in any circumstances.
        if (isEnterActionKey(event.getKeyCode())) {
            return false;
        }

        if (event.getAction() == KeyEvent.ACTION_UP) {
            return mLastDownEventHandled;
        }
@@ -367,6 +372,12 @@ class AccessibilityInjector {
        }
    }

    private boolean isEnterActionKey(int keyCode) {
        return keyCode == KeyEvent.KEYCODE_DPAD_CENTER
                || keyCode == KeyEvent.KEYCODE_ENTER
                || keyCode == KeyEvent.KEYCODE_NUMPAD_ENTER;
    }

    /**
     * Represents a web content key-binding.
     */
+10 −25
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package android.webkit;

import android.view.HardwareCanvas;
import com.android.internal.R;

import android.annotation.Widget;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
@@ -31,7 +28,6 @@ import android.content.IntentFilter;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.DataSetObserver;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -57,7 +53,6 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.provider.Settings;
import android.speech.tts.TextToSpeech;
import android.text.Selection;
@@ -66,6 +61,7 @@ import android.util.AttributeSet;
import android.util.EventLog;
import android.util.Log;
import android.view.Gravity;
import android.view.HardwareCanvas;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -92,7 +88,6 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.EdgeGlow;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.OverScroller;
@@ -677,6 +672,8 @@ public class WebView extends AbsoluteLayout
    static final int SET_AUTOFILLABLE                   = 133;
    static final int AUTOFILL_COMPLETE                  = 134;

    static final int SELECT_AT                          = 135;

    private static final int FIRST_PACKAGE_MSG_ID = SCROLL_TO_MSG_ID;
    private static final int LAST_PACKAGE_MSG_ID = SET_TOUCH_HIGHLIGHT_RECTS;

@@ -728,7 +725,8 @@ public class WebView extends AbsoluteLayout
        "SET_TOUCH_HIGHLIGHT_RECTS", //      = 131;
        "SAVE_WEBARCHIVE_FINISHED", //       = 132;
        "SET_AUTOFILLABLE", //               = 133;
        "AUTOFILL_COMPLETE" //               = 134;
        "AUTOFILL_COMPLETE", //              = 134;
        "SELECT_AT" //                       = 135;
    };

    // If the site doesn't use the viewport meta tag to specify the viewport,
@@ -7600,6 +7598,10 @@ public class WebView extends AbsoluteLayout
                    }
                    break;

                case SELECT_AT:
                    nativeSelectAt(msg.arg1, msg.arg2);
                    break;

                default:
                    super.handleMessage(msg);
                    break;
@@ -7957,24 +7959,6 @@ public class WebView extends AbsoluteLayout
                cursorData());
    }

    /*
     * Called from JNI when the cursor has moved. This method
     * sends a message to the WebCore requesting the given
     * nodePtr in the given framePrt to be selected which will
     * result in firing an accessibility event announing its
     * content.
     *
     * Note: Accessibility support.
     */
    @SuppressWarnings("unused")
    // called from JNI
    private void sendMoveSelection(int framePtr, int nodePtr) {
        if (AccessibilityManager.getInstance(mContext).isEnabled()
                && mAccessibilityInjector != null) {
            mWebViewCore.sendMessage(EventHub.MOVE_SELECTION, framePtr, nodePtr);
        }
    }

    /**
     * Called by JNI to send a message to the webcore thread that the user
     * touched the webpage.
@@ -8286,6 +8270,7 @@ public class WebView extends AbsoluteLayout
    private native Point    nativeSelectableText();
    private native void     nativeSelectAll();
    private native void     nativeSelectBestAt(Rect rect);
    private native void     nativeSelectAt(int x, int y);
    private native int      nativeSelectionX();
    private native int      nativeSelectionY();
    private native int      nativeFindIndex();
+8 −21
Original line number Diff line number Diff line
@@ -636,18 +636,6 @@ final class WebViewCore {
     */
    private native String nativeModifySelection(int direction, int granularity);

    /**
     * Moves the selection to given node i.e. selects that node.
     *
     * Note: Accessibility support.
     *
     * @param framePtr Pointer to the frame containing the node to be selected.
     * @param nodePtr Pointer to the node to be selected.
     *
     * @return The selection string.
     */
    private native String nativeMoveSelection(int framePtr, int nodePtr);

    // EventHub for processing messages
    private final EventHub mEventHub;
    // WebCore thread handler
@@ -1013,9 +1001,6 @@ final class WebViewCore {

        static final int PROXY_CHANGED = 193;

        // accessibility support
        static final int MOVE_SELECTION = 194;

        // private message ids
        private static final int DESTROY =     200;

@@ -1434,12 +1419,6 @@ final class WebViewCore {
                                    modifiedSelectionString).sendToTarget();
                            break;

                        case MOVE_SELECTION:
                            String movedSelectionString = nativeMoveSelection(msg.arg1, msg.arg2);
                            mWebView.mPrivateHandler.obtainMessage(WebView.SELECTION_STRING_CHANGED,
                                    movedSelectionString).sendToTarget();
                            break;

                        case LISTBOX_CHOICES:
                            SparseBooleanArray choices = (SparseBooleanArray)
                                    msg.obj;
@@ -2709,6 +2688,14 @@ final class WebViewCore {
                hMode, vMode).sendToTarget();
    }

    // called by JNI
    @SuppressWarnings("unused")
    private void selectAt(int x, int y) {
        if (mWebView != null) {
            mWebView.mPrivateHandler.obtainMessage(WebView.SELECT_AT, x, y).sendToTarget();
        }
    }

    private void useMockDeviceOrientation() {
        mDeviceMotionAndOrientationManager.useMock();
    }
+563 −7

File changed.

Preview size limit exceeded, changes collapsed.