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

Issue 23530003: cc: Block commit on activate by setting a flag on LayerTreeHost. (Closed)

Created:
7 years, 3 months ago by danakj
Modified:
7 years, 3 months ago
Reviewers:
enne (OOO), piman
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

cc: Block commit on activate by setting a flag on LayerTreeHost. Currently the ThreadProxy recursively asks all layers in the tree if they should block the commit. This is problematic as when you remove a layer from a the tree, it may want to block the commit to get back resources from its active-tree impl-layer. Instead, have layers call SetNextCommitWaitsForActivation() when they want the next commit to block on activate. This way we only block commits that matter, not every commit when there's a texture layer present. And we can allow a layer to block the commit when it is leaving the tree. Tests: TextureLayerNoMailboxIsActivatedDuringCommit TextureLayerMailboxIsActivatedDuringCommit DelegatedFrameIsActivatedDuringCommit R=enne, piman BUG=277953 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220418 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220515

Patch Set 1 #

Total comments: 3

Patch Set 2 : blockcommit: nits #

Patch Set 3 : blockcommit: move bool to proxy #

Total comments: 4

Patch Set 4 : blockcommit: tiled layer #

Patch Set 5 : blockcommit: rebase #

Patch Set 6 : blockcommit: fix flake #

Unified diffs Side-by-side diffs Delta from patch set Stats (+442 lines, -65 lines) Patch
M cc/layers/delegated_renderer_layer.h View 2 chunks +1 line, -2 lines 0 comments Download
M cc/layers/delegated_renderer_layer.cc View 3 chunks +20 lines, -8 lines 0 comments Download
M cc/layers/layer.h View 3 chunks +7 lines, -8 lines 0 comments Download
M cc/layers/layer.cc View 4 chunks +13 lines, -24 lines 0 comments Download
M cc/layers/texture_layer.h View 1 2 2 chunks +1 line, -1 line 0 comments Download
M cc/layers/texture_layer.cc View 1 2 3 4 5 5 chunks +19 lines, -9 lines 0 comments Download
M cc/layers/texture_layer_unittest.cc View 1 2 3 4 5 2 chunks +241 lines, -0 lines 0 comments Download
M cc/layers/tiled_layer.h View 1 chunk +0 lines, -1 line 0 comments Download
M cc/layers/tiled_layer.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M cc/test/fake_proxy.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 2 chunks +4 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_delegated.cc View 1 2 3 4 5 2 chunks +105 lines, -0 lines 0 comments Download
M cc/trees/proxy.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 chunks +13 lines, -2 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
danakj
7 years, 3 months ago (2013-08-29 01:51:31 UTC) #1
danakj
https://codereview.chromium.org/23530003/diff/1/cc/trees/layer_tree_host.h File cc/trees/layer_tree_host.h (right): https://codereview.chromium.org/23530003/diff/1/cc/trees/layer_tree_host.h#newcode270 cc/trees/layer_tree_host.h:270: commit_waits_for_activation_ = true; It occured to me, maybe this ...
7 years, 3 months ago (2013-08-29 01:58:18 UTC) #2
danakj
https://codereview.chromium.org/23530003/diff/1/cc/layers/texture_layer_unittest.cc File cc/layers/texture_layer_unittest.cc (right): https://codereview.chromium.org/23530003/diff/1/cc/layers/texture_layer_unittest.cc#newcode754 cc/layers/texture_layer_unittest.cc:754: SetMailbox('2'); @piman I am actually not sure if using ...
7 years, 3 months ago (2013-08-29 01:59:16 UTC) #3
piman
https://codereview.chromium.org/23530003/diff/1/cc/layers/texture_layer_unittest.cc File cc/layers/texture_layer_unittest.cc (right): https://codereview.chromium.org/23530003/diff/1/cc/layers/texture_layer_unittest.cc#newcode754 cc/layers/texture_layer_unittest.cc:754: SetMailbox('2'); On 2013/08/29 01:59:16, danakj wrote: > @piman I ...
7 years, 3 months ago (2013-08-29 04:16:01 UTC) #4
danakj
Moved the bool to the proxy. I guess I'll leave the SetTextureMailbox() calls as is ...
7 years, 3 months ago (2013-08-29 17:36:14 UTC) #5
enne (OOO)
https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc File cc/layers/tiled_layer.cc (left): https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc#oldcode238 cc/layers/tiled_layer.cc:238: bool TiledLayer::BlocksPendingCommit() const { return true; } I don't ...
7 years, 3 months ago (2013-08-29 20:01:33 UTC) #6
enne (OOO)
https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc File cc/layers/tiled_layer.cc (left): https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc#oldcode238 cc/layers/tiled_layer.cc:238: bool TiledLayer::BlocksPendingCommit() const { return true; } On 2013/08/29 ...
7 years, 3 months ago (2013-08-29 20:03:22 UTC) #7
danakj
https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc File cc/layers/tiled_layer.cc (left): https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc#oldcode238 cc/layers/tiled_layer.cc:238: bool TiledLayer::BlocksPendingCommit() const { return true; } On 2013/08/29 ...
7 years, 3 months ago (2013-08-29 20:13:52 UTC) #8
danakj
Done.
7 years, 3 months ago (2013-08-29 20:15:29 UTC) #9
enne (OOO)
lgtm https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc File cc/layers/tiled_layer.cc (left): https://codereview.chromium.org/23530003/diff/14001/cc/layers/tiled_layer.cc#oldcode238 cc/layers/tiled_layer.cc:238: bool TiledLayer::BlocksPendingCommit() const { return true; } On ...
7 years, 3 months ago (2013-08-29 20:19:09 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/23530003/24001
7 years, 3 months ago (2013-08-29 20:35:45 UTC) #11
commit-bot: I haz the power
Change committed as 220418
7 years, 3 months ago (2013-08-29 23:05:16 UTC) #12
danakj
Patch set 6 fixes the flake in the tests. When DidActivateOnThread() runs, the main thread ...
7 years, 3 months ago (2013-08-30 02:06:49 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/23530003/54001
7 years, 3 months ago (2013-08-30 02:08:59 UTC) #14
commit-bot: I haz the power
7 years, 3 months ago (2013-08-30 06:29:38 UTC) #15
Message was sent while issue was closed.
Change committed as 220515

Powered by Google App Engine
This is Rietveld 408576698