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

Commit 3f73549b authored by Grace Kloba's avatar Grace Kloba Committed by Android (Google) Code Review
Browse files

Merge "For performance reason, we choose to block the picture update during...

Merge "For performance reason, we choose to block the picture update during drag and fling. For sites like nytimes.com, there is a JavaScript constantly updating the content. If we don't block the live update during drag/fling, frame rate can drop by 30%." into froyo
parents c62cdef4 524aab57
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -4882,6 +4882,9 @@ public class WebView extends AbsoluteLayout
                                // we will not rewrite drag code here, but we
                                // will try fling if it applies.
                                WebViewCore.reducePriority();
                                // to get better performance, pause updating the
                                // picture
                                WebViewCore.pauseUpdatePicture(mWebViewCore);
                                // fall through to TOUCH_DRAG_MODE
                            } else {
                                break;
@@ -4916,8 +4919,14 @@ public class WebView extends AbsoluteLayout
                            doFling();
                            break;
                        }
                        // fall through
                    case TOUCH_DRAG_START_MODE:
                        // TOUCH_DRAG_START_MODE should not happen for the real
                        // device as we almost certain will get a MOVE. But this
                        // is possible on emulator.
                        mLastVelocity = 0;
                        WebViewCore.resumePriority();
                        WebViewCore.resumeUpdatePicture(mWebViewCore);
                        break;
                }
                stopTouch();
@@ -4963,6 +4972,8 @@ public class WebView extends AbsoluteLayout

    private void startDrag() {
        WebViewCore.reducePriority();
        // to get better performance, pause updating the picture
        WebViewCore.pauseUpdatePicture(mWebViewCore);
        if (!mDragFromTextInput) {
            nativeHideCursor();
        }
@@ -5026,6 +5037,7 @@ public class WebView extends AbsoluteLayout
        }
        if (mTouchMode == TOUCH_DRAG_MODE) {
            WebViewCore.resumePriority();
            WebViewCore.resumeUpdatePicture(mWebViewCore);
        }
        mPrivateHandler.removeMessages(SWITCH_TO_SHORTPRESS);
        mPrivateHandler.removeMessages(SWITCH_TO_LONGPRESS);
@@ -5360,6 +5372,7 @@ public class WebView extends AbsoluteLayout
        }
        if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
            WebViewCore.resumePriority();
            WebViewCore.resumeUpdatePicture(mWebViewCore);
            return;
        }
        float currentVelocity = mScroller.getCurrVelocity();
@@ -6369,6 +6382,7 @@ public class WebView extends AbsoluteLayout
                    break;
                case RESUME_WEBCORE_PRIORITY:
                    WebViewCore.resumePriority();
                    WebViewCore.resumeUpdatePicture(mWebViewCore);
                    break;

                case LONG_PRESS_CENTER: