diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-06 01:48:29 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-06 01:48:29 +0000 |
commit | 650b3faff7b94dc651751d6f928d90d879059f54 (patch) | |
tree | 1ede2fa9feadd3959b56c445e5178e55b83c82b5 /cc/thread_proxy.h | |
parent | 2285e5544fb729014dcc37f8c9f870cc1a88ddf9 (diff) | |
download | chromium_src-650b3faff7b94dc651751d6f928d90d879059f54.zip chromium_src-650b3faff7b94dc651751d6f928d90d879059f54.tar.gz chromium_src-650b3faff7b94dc651751d6f928d90d879059f54.tar.bz2 |
cc: Deblur layers that animate-scale-down on creation.
Layers that appear at a scale 1.5 with a transform animation that would
take them to 1.0 end up drawing with the 1.5 tiling still when they
complete their animation. This happens for two reasons:
1. It uses stale data in ManageTilings to tell if the layer is animating.
2. The active tree says it has ideal tilings when it has tilings >= ideal.
We fix 1 by setting the animating draw properties flag before computing contents
scales in calcDrawProperties.
We fix 2 by not telling the scheduler that we drew with all ideal tilings if we
did not.
While fixing 2 we get rid of the tree walk in swapBuffers, by tracking
if any incomplete tiles were used in the AppendQuadsData instead.
BUG=173806
NOTRY=true
Review URL: https://codereview.chromium.org/12188002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180851 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/thread_proxy.h')
-rw-r--r-- | cc/thread_proxy.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cc/thread_proxy.h b/cc/thread_proxy.h index 9223933..f79d6d2 100644 --- a/cc/thread_proxy.h +++ b/cc/thread_proxy.h @@ -63,7 +63,6 @@ public: virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE; virtual void onHasPendingTreeStateChanged(bool hasPendingTree) OVERRIDE; virtual void setNeedsRedrawOnImplThread() OVERRIDE; - virtual void didSwapUseIncompleteTileOnImplThread() OVERRIDE; virtual void didUploadVisibleHighResolutionTileOnImplThread() OVERRIDE; virtual void setNeedsCommitOnImplThread() OVERRIDE; virtual void setNeedsManageTilesOnImplThread() OVERRIDE; @@ -145,6 +144,7 @@ private: void commitPendingOnImplThreadForTesting(CommitPendingRequest* request); void capturePictureOnImplThread(CompletionEvent*, skia::RefPtr<SkPicture>*); void renewTreePriorityOnImplThread(); + void didSwapUseIncompleteTileOnImplThread(); // Accessed on main thread only. bool m_animateRequested; // Set only when setNeedsAnimate is called. |