Index: trunk/src/cc/trees/thread_proxy.cc |
=================================================================== |
--- trunk/src/cc/trees/thread_proxy.cc (revision 253506) |
+++ trunk/src/cc/trees/thread_proxy.cc (working copy) |
@@ -381,7 +381,7 @@ |
TRACE_EVENT0("cc", "ThreadProxy::SetNeedsAnimate"); |
main().animate_requested = true; |
- main().can_cancel_commit = true; |
+ main().can_cancel_commit = false; |
SendCommitRequestToImplThreadIfNeeded(); |
} |
@@ -911,17 +911,6 @@ |
layer_tree_host()->WillCommit(); |
- // Before calling animate, we set main().animate_requested to false. If it is |
- // true now, it means SetNeedAnimate was called again, but during a state when |
- // main().commit_request_sent_to_impl_thread = true. We need to force that |
- // call to happen again now so that the commit request is sent to the impl |
- // thread. |
- if (main().animate_requested) { |
- // Forces SetNeedsAnimate to consider posting a commit task. |
- main().animate_requested = false; |
- SetNeedsAnimate(); |
- } |
- |
if (!updated && can_cancel_this_commit) { |
TRACE_EVENT_INSTANT0("cc", "EarlyOut_NoUpdates", TRACE_EVENT_SCOPE_THREAD); |
bool did_handle = true; |
@@ -939,6 +928,18 @@ |
return; |
} |
+ // Before calling animate, we set main().animate_requested to false. If it is |
+ // true |
+ // now, it means SetNeedAnimate was called again, but during a state when |
+ // main().commit_request_sent_to_impl_thread = true. We need to force that |
+ // call to |
+ // happen again now so that the commit request is sent to the impl thread. |
+ if (main().animate_requested) { |
+ // Forces SetNeedsAnimate to consider posting a commit task. |
+ main().animate_requested = false; |
+ SetNeedsAnimate(); |
+ } |
+ |
scoped_refptr<ContextProvider> offscreen_context_provider; |
if (main().renderer_capabilities_main_thread_copy.using_offscreen_context3d && |
layer_tree_host()->needs_offscreen_context()) { |