am 3f5d7b83: am b876bdb5: Merge "Speed up layers rendering when using animations Cherry-pick from master" into froyo
Merge commit '3f5d7b83ee194db39c5f784146e4abc4f6568854' into kraken * commit '3f5d7b83ee194db39c5f784146e4abc4f6568854': Speed up layers rendering when using animations
This commit is contained in:
@@ -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
|
// If mNativeClass is 0, we should not reach here, so we do not
|
||||||
// need to check it again.
|
// need to check it again.
|
||||||
// Currently for each draw we compute the animation values;
|
if (animationsRunning) {
|
||||||
// We may in the future decide to do that independently.
|
canvas.setDrawFilter(mWebViewCore.mZoomFilter);
|
||||||
if (nativeEvaluateLayersAnimations()) {
|
|
||||||
// If we have unfinished (or unstarted) animations,
|
|
||||||
// we ask for a repaint.
|
|
||||||
invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nativeDrawExtras(canvas, extras);
|
nativeDrawExtras(canvas, extras);
|
||||||
|
canvas.setDrawFilter(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawCoreAndCursorRing(Canvas canvas, int color,
|
private void drawCoreAndCursorRing(Canvas canvas, int color,
|
||||||
@@ -3315,8 +3311,18 @@ public class WebView extends AbsoluteLayout
|
|||||||
canvas.scale(mActualScale, mActualScale);
|
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,
|
mWebViewCore.drawContentPicture(canvas, color,
|
||||||
(animateZoom || mPreviewZoomOnly), animateScroll);
|
(animateZoom || mPreviewZoomOnly || UIAnimationsRunning),
|
||||||
|
animateScroll);
|
||||||
if (mNativeClass == 0) return;
|
if (mNativeClass == 0) return;
|
||||||
// decide which adornments to draw
|
// decide which adornments to draw
|
||||||
int extras = DRAW_EXTRAS_NONE;
|
int extras = DRAW_EXTRAS_NONE;
|
||||||
@@ -3337,7 +3343,7 @@ public class WebView extends AbsoluteLayout
|
|||||||
} else if (drawCursorRing) {
|
} else if (drawCursorRing) {
|
||||||
extras = DRAW_EXTRAS_CURSOR_RING;
|
extras = DRAW_EXTRAS_CURSOR_RING;
|
||||||
}
|
}
|
||||||
drawExtras(canvas, extras);
|
drawExtras(canvas, extras, UIAnimationsRunning);
|
||||||
|
|
||||||
if (extras == DRAW_EXTRAS_CURSOR_RING) {
|
if (extras == DRAW_EXTRAS_CURSOR_RING) {
|
||||||
if (mTouchMode == TOUCH_SHORTPRESS_START_MODE) {
|
if (mTouchMode == TOUCH_SHORTPRESS_START_MODE) {
|
||||||
|
|||||||
Reference in New Issue
Block a user