Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Issue 206793003: cc: Split animating and drawing into separate actions (Closed)

Created:
6 years, 9 months ago by Sami
Modified:
6 years, 7 months ago
CC:
chromium-reviews, cc-bugs_chromium.org, Ian Vollick
Visibility:
Public.

Description

cc: Split animating and drawing into separate actions Split impl-side animating and drawing into separate actions. This is needed to allow for the possibility of a commit between animating and drawing so that the main thread gets a chance to consume the new animation state. In particular this allows the main thread to synchronize with a fling animation using an onscroll handler. BUG=347366, 368064 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267338

Patch Set 1 #

Total comments: 1

Patch Set 2 : WIP snapshot. #

Patch Set 3 : Cleanup. #

Total comments: 17

Patch Set 4 : Addressed comments and rebased. #

Total comments: 2

Patch Set 5 : BeginFrameNeededToAnimateOrDraw, call NotifySwapPromiseMonitorsOfSetNeedsRedraw #

Patch Set 6 : Fix input handler proxy tests. #

Patch Set 7 : Fixed animation issue and added test. #

Patch Set 8 : Animate again after a commit. #

Patch Set 9 : Removed dead test code. #

Patch Set 10 : Added test for animation issue. #

Total comments: 8

Patch Set 11 : Ali's comments. #

Patch Set 12 : Rebased. #

Patch Set 13 : Fix for failing unit test. #

Patch Set 14 : Fix input handler proxy test build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+444 lines, -117 lines) Patch
M cc/animation/layer_animation_controller.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/input/input_handler.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 2 chunks +8 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 3 4 5 chunks +8 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 14 chunks +45 lines, -6 lines 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 31 chunks +111 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 17 chunks +36 lines, -16 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +22 lines, -16 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 17 chunks +46 lines, -8 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_animation.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +64 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 8 9 3 chunks +10 lines, -3 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 8 9 6 chunks +28 lines, -13 lines 0 comments Download
M content/renderer/input/input_handler_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +8 lines, -8 lines 0 comments Download
M content/renderer/input/input_handler_proxy_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 37 chunks +42 lines, -42 lines 0 comments Download

Messages

Total messages: 47 (0 generated)
Sami
Can you do a sanity check on the idea? I realized that without something like ...
6 years, 9 months ago (2014-03-20 20:51:21 UTC) #1
danakj
On 2014/03/20 20:51:21, Sami wrote: > Can you do a sanity check on the idea? ...
6 years, 9 months ago (2014-03-20 21:45:53 UTC) #2
brianderson
I would love to see us animate before we send the BeginMainFrame. I had tried ...
6 years, 9 months ago (2014-03-21 10:49:31 UTC) #3
brianderson
Actually +ajuma, +vollick, +mithro for fyi.
6 years, 9 months ago (2014-03-21 12:30:49 UTC) #4
ajuma
I'd also love to see us animate before sending BeginMainFrame. One thing left to fix ...
6 years, 9 months ago (2014-03-21 15:05:13 UTC) #5
Sami
While this is churning on the bots, would mind having a look Brian -- in ...
6 years, 8 months ago (2014-03-31 18:50:36 UTC) #6
brianderson
https://codereview.chromium.org/206793003/diff/40001/cc/scheduler/scheduler_state_machine_unittest.cc File cc/scheduler/scheduler_state_machine_unittest.cc (right): https://codereview.chromium.org/206793003/diff/40001/cc/scheduler/scheduler_state_machine_unittest.cc#newcode1971 cc/scheduler/scheduler_state_machine_unittest.cc:1971: state.SetNeedsAnimate(); Can you add a test that verifies what ...
6 years, 8 months ago (2014-04-01 16:05:10 UTC) #7
mithro-old
Hi Sami! Could you give me a status update on this CL? Thanks!
6 years, 8 months ago (2014-04-16 07:05:10 UTC) #8
Sami
Hi Tim, I'm currently working on getting https://codereview.chromium.org/206603002/ landed before returning to this. It doesn't ...
6 years, 8 months ago (2014-04-16 09:58:27 UTC) #9
Sami
Thanks for the comments Brian. All addressed. yufeng@, could you check the bit about NotifySwapPromiseMonitorsOfSetNeedsRedraw? ...
6 years, 8 months ago (2014-04-17 15:16:33 UTC) #10
danakj
https://codereview.chromium.org/206793003/diff/40001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/206793003/diff/40001/cc/trees/layer_tree_host_impl.cc#newcode1685 cc/trees/layer_tree_host_impl.cc:1685: NotifySwapPromiseMonitorsOfSetNeedsRedraw(); On 2014/04/17 15:16:33, Sami wrote: > On 2014/04/01 ...
6 years, 8 months ago (2014-04-17 15:18:09 UTC) #11
Sami
On 2014/04/17 15:18:09, danakj wrote: > It is meant to tell the monitor that we ...
6 years, 8 months ago (2014-04-17 15:27:41 UTC) #12
danakj
On Thu, Apr 17, 2014 at 11:27 AM, <skyostil@chromium.org> wrote: > On 2014/04/17 15:18:09, danakj ...
6 years, 8 months ago (2014-04-17 15:31:11 UTC) #13
Sami
On 2014/04/17 15:31:11, danakj wrote: > So I think that is okay, as long as ...
6 years, 8 months ago (2014-04-17 15:48:28 UTC) #14
Yufeng Shen (Slow to review)
On 2014/04/17 15:48:28, Sami wrote: > On 2014/04/17 15:31:11, danakj wrote: > > So I ...
6 years, 8 months ago (2014-04-17 18:42:35 UTC) #15
brianderson
https://codereview.chromium.org/206793003/diff/60001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/206793003/diff/60001/cc/scheduler/scheduler_state_machine.cc#newcode858 cc/scheduler/scheduler_state_machine.cc:858: if (needs_animate_) If the BeginFrame is needed to advance ...
6 years, 8 months ago (2014-04-18 01:10:54 UTC) #16
Sami
+jdduke@ for content/renderer/input. On 2014/04/17 18:42:35, Yufeng Shen wrote: > hmm, if there is case ...
6 years, 8 months ago (2014-04-22 10:34:33 UTC) #17
jdduke (slow)
content/renderer/input lgtm.
6 years, 8 months ago (2014-04-22 14:50:01 UTC) #18
brianderson
lgtm
6 years, 8 months ago (2014-04-22 17:53:57 UTC) #19
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 8 months ago (2014-04-22 18:05:38 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/206793003/100001
6 years, 8 months ago (2014-04-22 18:06:25 UTC) #21
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-22 18:33:18 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_rel
6 years, 8 months ago (2014-04-22 18:33:18 UTC) #23
Sami
Turns out the telemetry smoke bots found a bug here: if we have already animated ...
6 years, 8 months ago (2014-04-25 19:10:49 UTC) #24
ajuma
On 2014/04/25 19:10:49, Sami wrote: > Turns out the telemetry smoke bots found a bug ...
6 years, 8 months ago (2014-04-25 19:26:30 UTC) #25
Sami
On 2014/04/25 19:26:30, ajuma wrote: > We can't rely on last_tick_time_ being zero, since if ...
6 years, 8 months ago (2014-04-25 20:15:42 UTC) #26
Sami
Since it looks like Simon is already working on thread proxy tests, I've added a ...
6 years, 7 months ago (2014-04-28 12:45:11 UTC) #27
ajuma
lgtm https://codereview.chromium.org/206793003/diff/180001/cc/trees/layer_tree_host_unittest_animation.cc File cc/trees/layer_tree_host_unittest_animation.cc (right): https://codereview.chromium.org/206793003/diff/180001/cc/trees/layer_tree_host_unittest_animation.cc#newcode1284 cc/trees/layer_tree_host_unittest_animation.cc:1284: ASSERT_EQ(2u, copy.size()); EXPECT_EQ https://codereview.chromium.org/206793003/diff/180001/cc/trees/layer_tree_host_unittest_animation.cc#newcode1292 cc/trees/layer_tree_host_unittest_animation.cc:1292: ASSERT_GT(anim->start_time(), 0); EXPECT_GT ...
6 years, 7 months ago (2014-04-28 13:33:42 UTC) #28
Sami
Thanks Ali. https://codereview.chromium.org/206793003/diff/180001/cc/trees/layer_tree_host_unittest_animation.cc File cc/trees/layer_tree_host_unittest_animation.cc (right): https://codereview.chromium.org/206793003/diff/180001/cc/trees/layer_tree_host_unittest_animation.cc#newcode1284 cc/trees/layer_tree_host_unittest_animation.cc:1284: ASSERT_EQ(2u, copy.size()); On 2014/04/28 13:33:42, ajuma wrote: ...
6 years, 7 months ago (2014-04-28 16:02:04 UTC) #29
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 7 months ago (2014-04-28 16:02:31 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/206793003/200001
6 years, 7 months ago (2014-04-28 16:02:46 UTC) #31
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-04-28 16:40:32 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on chromium_presubmit
6 years, 7 months ago (2014-04-28 16:40:33 UTC) #33
brianderson
The CQ bit was checked by brianderson@chromium.org
6 years, 7 months ago (2014-04-28 19:05:36 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/206793003/200001
6 years, 7 months ago (2014-04-28 19:08:40 UTC) #35
commit-bot: I haz the power
Change committed as 266624
6 years, 7 months ago (2014-04-28 19:16:44 UTC) #36
Sami
A revert of this CL has been created in https://codereview.chromium.org/256233006/ by skyostil@chromium.org. The reason for ...
6 years, 7 months ago (2014-04-29 12:14:23 UTC) #37
Sami
A revert of this CL has been created in https://codereview.chromium.org/260383003/ by skyostil@chromium.org. The reason for ...
6 years, 7 months ago (2014-04-29 14:09:46 UTC) #38
Sami
FYI, ended up reverting manually with https://codereview.chromium.org/254883004
6 years, 7 months ago (2014-04-29 15:51:51 UTC) #39
Sami
Turns out we were just missing a call to SetNeedsAnimate() in LTHI::DidChangeTopControlsPosition(). We need to ...
6 years, 7 months ago (2014-04-30 15:48:43 UTC) #40
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 7 months ago (2014-04-30 15:49:40 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/206793003/240001
6 years, 7 months ago (2014-04-30 15:50:48 UTC) #42
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-04-30 15:57:20 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium
6 years, 7 months ago (2014-04-30 15:57:21 UTC) #44
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 7 months ago (2014-04-30 16:18:46 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/206793003/260001
6 years, 7 months ago (2014-04-30 16:18:56 UTC) #46
commit-bot: I haz the power
6 years, 7 months ago (2014-04-30 21:24:36 UTC) #47
Message was sent while issue was closed.
Change committed as 267338

Powered by Google App Engine
This is Rietveld 408576698