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

Commit b876bdb5 authored by Nicolas Roard's avatar Nicolas Roard Committed by Android (Google) Code Review
Browse files

Merge "Speed up layers rendering when using animations Cherry-pick from master" into froyo

parents c96307ef f343a043
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -3219,18 +3219,14 @@ public class WebView extends AbsoluteLayout
        }
    }

    private void drawExtras(Canvas canvas, int extras) {
    private void drawExtras(Canvas canvas, int extras, boolean animationsRunning) {
        // If mNativeClass is 0, we should not reach here, so we do not
        // need to check it again.
        // Currently for each draw we compute the animation values;
        // We may in the future decide to do that independently.
        if (nativeEvaluateLayersAnimations()) {
            // If we have unfinished (or unstarted) animations,
            // we ask for a repaint.
            invalidate();
        if (animationsRunning) {
            canvas.setDrawFilter(mWebViewCore.mZoomFilter);
        }

        nativeDrawExtras(canvas, extras);
        canvas.setDrawFilter(null);
    }

    private void drawCoreAndCursorRing(Canvas canvas, int color,
@@ -3315,8 +3311,18 @@ public class WebView extends AbsoluteLayout
            canvas.scale(mActualScale, mActualScale);
        }

        boolean UIAnimationsRunning = false;
        // Currently for each draw we compute the animation values;
        // We may in the future decide to do that independently.
        if (mNativeClass != 0 && nativeEvaluateLayersAnimations()) {
            UIAnimationsRunning = true;
            // If we have unfinished (or unstarted) animations,
            // we ask for a repaint.
            invalidate();
        }
        mWebViewCore.drawContentPicture(canvas, color,
                (animateZoom || mPreviewZoomOnly), animateScroll);
                (animateZoom || mPreviewZoomOnly || UIAnimationsRunning),
                animateScroll);
        if (mNativeClass == 0) return;
        // decide which adornments to draw
        int extras = DRAW_EXTRAS_NONE;
@@ -3337,7 +3343,7 @@ public class WebView extends AbsoluteLayout
        } else if (drawCursorRing) {
            extras = DRAW_EXTRAS_CURSOR_RING;
        }
        drawExtras(canvas, extras);
        drawExtras(canvas, extras, UIAnimationsRunning);

        if (extras == DRAW_EXTRAS_CURSOR_RING) {
            if (mTouchMode == TOUCH_SHORTPRESS_START_MODE) {