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

Commit 796c5fc6 authored by Nicolas Roard's avatar Nicolas Roard Committed by Android Git Automerger
Browse files

am 3f5d7b83: am b876bdb5: Merge "Speed up layers rendering when using...

am 3f5d7b83: am b876bdb5: Merge "Speed up layers rendering when using animations Cherry-pick from master" into froyo

Merge commit '3f5d7b83' into kraken

* commit '3f5d7b83':
  Speed up layers rendering when using animations
parents 5272399a 3f5d7b83
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) {