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

Issue 687873004: Introduce Property Trees (Closed)

Created:
6 years, 1 month ago by Ian Vollick
Modified:
6 years ago
Reviewers:
awoloszyn, enne (OOO)
CC:
cc-bugs_chromium.org, chromium-reviews, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@wip-awoloszyn2
Project:
chromium
Visibility:
Public.

Description

Introduce Property Trees Based of Andrew's work: crrev.com/642833002 This patch creates a transform and a clip tree and computes visual content rects based on those. BUG=386786 Committed: https://crrev.com/51ed1a26449d0beba197c96172436d493b27bfb5 Cr-Commit-Position: refs/heads/master@{#308724}

Patch Set 1 #

Patch Set 2 : no more flattening. have caused 14 unit test failures. #

Patch Set 3 : . #

Total comments: 3

Patch Set 4 : No more flattening. All tests pass. #

Patch Set 5 : now with no clip stack #

Patch Set 6 : Got rid of ClipNode::clips #

Patch Set 7 : Warning: this patch is buggy and awful. #

Patch Set 8 : . #

Patch Set 9 : Added a new failing unit test. #

Patch Set 10 : Fixed the property tree and its unittests. #

Patch Set 11 : Down to 177 unit test failures :( #

Patch Set 12 : 177 -> 136 failures #

Patch Set 13 : Down to 106 unit test failures. #

Patch Set 14 : Down to 99 failures. #

Patch Set 15 : . #

Patch Set 16 : Down to 88 failures. All Occlusion Tests. #

Patch Set 17 : Pointers removed. All unit tests pass. #

Patch Set 18 : 0 unit test failures. 10 layout test failures. #

Patch Set 19 : 0 unit test failures. 8 layout test failures. #

Patch Set 20 : Down to 7 layout test failures. #

Patch Set 21 : Clips are now applied in target space. Purty. #

Patch Set 22 : Down to only one layout test failure! #

Patch Set 23 : 0 unit test failures.. 0 LAYOUT TEST FAILURES #

Patch Set 24 : Removed debugging output. Now for aesthetic refactoring. #

Patch Set 25 : nuked opacity tree. some renames. #

Patch Set 26 : Add a fast path for computing inverse transforms. #

Patch Set 27 : added draw property utils #

Patch Set 28 : Added some comments. #

Patch Set 29 : . #

Total comments: 40

Patch Set 30 : Address reviewer feedback. #

Patch Set 31 : . #

Patch Set 32 : Tests correctly enabled for unit tests. No longer depending on render target. #

Patch Set 33 : ComputeTransform now inits result to identity. #

Total comments: 6

Patch Set 34 : Address reviewer feedback #

Patch Set 35 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1353 lines, -4 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 chunks +7 lines, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2 chunks +6 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/layer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 6 chunks +52 lines, -1 line 0 comments Download
M cc/layers/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3 chunks +30 lines, -0 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +8 lines, -0 lines 0 comments Download
M cc/layers/tiled_layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/fake_layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
A cc/trees/draw_property_utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +47 lines, -0 lines 0 comments Download
A cc/trees/draw_property_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +280 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_common.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 5 chunks +5 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_common.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 chunks +43 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_common_perftest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_common_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest_no_message_loop.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_settings.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_settings.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +2 lines, -1 line 0 comments Download
A cc/trees/property_tree.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +139 lines, -0 lines 0 comments Download
A cc/trees/property_tree.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +199 lines, -0 lines 0 comments Download
A cc/trees/property_tree_builder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +31 lines, -0 lines 0 comments Download
A cc/trees/property_tree_builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +280 lines, -0 lines 0 comments Download
A cc/trees/property_tree_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +207 lines, -0 lines 0 comments Download
M ui/gfx/transform.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 18 (5 generated)
awoloszyn
https://codereview.chromium.org/687873004/diff/40001/cc/trees/property_tree_builder.cc File cc/trees/property_tree_builder.cc (right): https://codereview.chromium.org/687873004/diff/40001/cc/trees/property_tree_builder.cc#newcode212 cc/trees/property_tree_builder.cc:212: layer->position().OffsetFromOrigin() + That is way nicer. https://codereview.chromium.org/687873004/diff/40001/cc/trees/property_tree_builder.cc#newcode239 cc/trees/property_tree_builder.cc:239: GetTransformParent(data_from_ancestor, ...
6 years, 1 month ago (2014-11-12 19:38:59 UTC) #2
enne (OOO)
This is looking really good. From our discussions offline, it sounded like you also wanted ...
6 years ago (2014-12-10 23:46:00 UTC) #4
Ian Vollick
I'm still trying to figure out how to enable the checks for the unit tests, ...
6 years ago (2014-12-12 03:01:48 UTC) #5
enne (OOO)
https://codereview.chromium.org/687873004/diff/560001/cc/layers/layer.h File cc/layers/layer.h (right): https://codereview.chromium.org/687873004/diff/560001/cc/layers/layer.h#newcode249 cc/layers/layer.h:249: bool has_render_target() const { On 2014/12/12 03:01:47, vollick wrote: ...
6 years ago (2014-12-12 19:05:49 UTC) #6
Ian Vollick
PTAL! https://codereview.chromium.org/687873004/diff/560001/cc/layers/layer.h File cc/layers/layer.h (right): https://codereview.chromium.org/687873004/diff/560001/cc/layers/layer.h#newcode249 cc/layers/layer.h:249: bool has_render_target() const { On 2014/12/12 19:05:48, enne ...
6 years ago (2014-12-15 21:45:17 UTC) #7
enne (OOO)
https://codereview.chromium.org/687873004/diff/640001/cc/layers/layer.h File cc/layers/layer.h (right): https://codereview.chromium.org/687873004/diff/640001/cc/layers/layer.h#newcode461 cc/layers/layer.h:461: bool NeedsVisibleRectUpdated() const; Could you just call DrawsContent directly ...
6 years ago (2014-12-16 19:54:28 UTC) #8
Ian Vollick
Thanks for the review! https://codereview.chromium.org/687873004/diff/640001/cc/layers/layer.h File cc/layers/layer.h (right): https://codereview.chromium.org/687873004/diff/640001/cc/layers/layer.h#newcode461 cc/layers/layer.h:461: bool NeedsVisibleRectUpdated() const; On 2014/12/16 ...
6 years ago (2014-12-16 21:28:19 UTC) #9
enne (OOO)
lgtm!
6 years ago (2014-12-16 21:45:16 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/687873004/660001
6 years ago (2014-12-16 21:46:28 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/43597) ios_dbg_simulator on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator/builds/42712)
6 years ago (2014-12-16 21:56:58 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/687873004/680001
6 years ago (2014-12-17 00:21:20 UTC) #16
commit-bot: I haz the power
Committed patchset #35 (id:680001)
6 years ago (2014-12-17 02:03:12 UTC) #17
commit-bot: I haz the power
6 years ago (2014-12-17 02:04:06 UTC) #18
Message was sent while issue was closed.
Patchset 35 (id:??) landed as
https://crrev.com/51ed1a26449d0beba197c96172436d493b27bfb5
Cr-Commit-Position: refs/heads/master@{#308724}

Powered by Google App Engine
This is Rietveld 408576698