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

Commit b74e32cc authored by Cary Clark's avatar Cary Clark Committed by Android (Google) Code Review
Browse files

Merge "add more alt key acceleration in webview" into honeycomb

parents 36fd7a39 a3ee56f4
Loading
Loading
Loading
Loading
+42 −3
Original line number Original line Diff line number Diff line
@@ -4573,13 +4573,33 @@ public class WebView extends AbsoluteLayout
        }
        }


        if (keyCode == KeyEvent.KEYCODE_PAGE_UP) {
        if (keyCode == KeyEvent.KEYCODE_PAGE_UP) {
            if (event.hasNoModifiers()) {
                pageUp(false);
                pageUp(false);
                return true;
                return true;
            } else if (event.hasModifiers(KeyEvent.META_ALT_ON)) {
                pageUp(true);
                return true;
            }
        }
        }


        if (keyCode == KeyEvent.KEYCODE_PAGE_DOWN) {
        if (keyCode == KeyEvent.KEYCODE_PAGE_DOWN) {
            if (event.hasNoModifiers()) {
                pageDown(false);
                pageDown(false);
                return true;
                return true;
            } else if (event.hasModifiers(KeyEvent.META_ALT_ON)) {
                pageDown(true);
                return true;
            }
        }

        if (keyCode == KeyEvent.KEYCODE_MOVE_HOME && event.hasNoModifiers()) {
            pageUp(true);
            return true;
        }

        if (keyCode == KeyEvent.KEYCODE_MOVE_END && event.hasNoModifiers()) {
            pageDown(true);
            return true;
        }
        }


        if (keyCode >= KeyEvent.KEYCODE_DPAD_UP
        if (keyCode >= KeyEvent.KEYCODE_DPAD_UP
@@ -4589,6 +4609,22 @@ public class WebView extends AbsoluteLayout
                letPageHandleNavKey(keyCode, event.getEventTime(), true, event.getMetaState());
                letPageHandleNavKey(keyCode, event.getEventTime(), true, event.getMetaState());
                return true;
                return true;
            }
            }
            if (event.hasModifiers(KeyEvent.META_ALT_ON)) {
                switch (keyCode) {
                    case KeyEvent.KEYCODE_DPAD_UP:
                        pageUp(true);
                        return true;
                    case KeyEvent.KEYCODE_DPAD_DOWN:
                        pageDown(true);
                        return true;
                    case KeyEvent.KEYCODE_DPAD_LEFT:
                        nativeClearCursor(); // start next trackball movement from page edge
                        return pinScrollTo(0, mScrollY, true, 0);
                    case KeyEvent.KEYCODE_DPAD_RIGHT:
                        nativeClearCursor(); // start next trackball movement from page edge
                        return pinScrollTo(mContentWidth, mScrollY, true, 0);
                }
            }
            if (mSelectingText) {
            if (mSelectingText) {
                int xRate = keyCode == KeyEvent.KEYCODE_DPAD_LEFT
                int xRate = keyCode == KeyEvent.KEYCODE_DPAD_LEFT
                    ? -1 : keyCode == KeyEvent.KEYCODE_DPAD_RIGHT ? 1 : 0;
                    ? -1 : keyCode == KeyEvent.KEYCODE_DPAD_RIGHT ? 1 : 0;
@@ -7947,6 +7983,9 @@ public class WebView extends AbsoluteLayout
        Rect contentCursorRingBounds = nativeGetCursorRingBounds();
        Rect contentCursorRingBounds = nativeGetCursorRingBounds();
        if (contentCursorRingBounds.isEmpty()) return keyHandled;
        if (contentCursorRingBounds.isEmpty()) return keyHandled;
        Rect viewCursorRingBounds = contentToViewRect(contentCursorRingBounds);
        Rect viewCursorRingBounds = contentToViewRect(contentCursorRingBounds);
        // set last touch so that context menu related functions will work
        mLastTouchX = (viewCursorRingBounds.left + viewCursorRingBounds.right) / 2;
        mLastTouchY = (viewCursorRingBounds.top + viewCursorRingBounds.bottom) / 2;
        Rect visRect = new Rect();
        Rect visRect = new Rect();
        calcOurVisibleRect(visRect);
        calcOurVisibleRect(visRect);
        Rect outset = new Rect(visRect);
        Rect outset = new Rect(visRect);