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

Issue 1252313004: Add ClipNode when Render Surface Inherits Clip (Closed)

Created:
5 years, 4 months ago by jaydasika
Modified:
5 years, 3 months ago
Reviewers:
ajuma
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add ClipNode when Render Surface Inherits Clip. Propertytree transforms and the CDP version are diffrent in the case where a layer : has_render_surface=true, ancestor_clips_subtee=true and data_for_children->ancestor_clips_subtee=false. We need a clip node in this case. This patch adds a clip node for this case and computes the clip required in this case. BUG=510185 TEST=visible rects from CDP and property trees match in http://www.clicktorelease.com/code/css3dclouds with this patch. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/67d7989e6dad1905bddf00e539ee78e4abcbd606 Cr-Commit-Position: refs/heads/master@{#342209}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Fixed layout test crashes and addressed a few comments on patch 1 #

Patch Set 3 : Added a unit test #

Total comments: 14

Patch Set 4 : Map/Project based on condition #

Patch Set 5 : Unit test modified #

Patch Set 6 : Unit test easier to understand #

Total comments: 2

Patch Set 7 : Add clip node when render surface applies clip and owning layer has non flat transform #

Total comments: 3

Patch Set 8 : to run layout tests #

Total comments: 6

Patch Set 9 : Unit test modified and sub layer scale bug removed #

Patch Set 10 : Run Unit test only with property trees #

Patch Set 11 : Rebase #

Total comments: 14

Patch Set 12 : Layout tests pass , unit test added , comments on patch 11 #

Total comments: 4

Patch Set 13 : Comments on patch 12 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+161 lines, -23 lines) Patch
M cc/trees/draw_property_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +53 lines, -11 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 2 chunks +91 lines, -3 lines 0 comments Download
M cc/trees/property_tree.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/property_tree.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +8 lines, -2 lines 0 comments Download
M cc/trees/property_tree_builder.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +5 lines, -7 lines 0 comments Download

Messages

Total messages: 32 (2 generated)
jaydasika
5 years, 4 months ago (2015-07-29 15:31:57 UTC) #2
ajuma
Please also change the title to say what the patch does. https://codereview.chromium.org/1252313004/diff/1/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): ...
5 years, 4 months ago (2015-07-29 16:44:29 UTC) #3
jaydasika
https://codereview.chromium.org/1252313004/diff/1/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/1/cc/trees/draw_property_utils.cc#newcode422 cc/trees/draw_property_utils.cc:422: target_id, &parent_to_target); On 2015/07/29 16:44:29, ajuma wrote: > I'm ...
5 years, 4 months ago (2015-07-30 19:43:10 UTC) #4
jaydasika
https://codereview.chromium.org/1252313004/diff/40001/cc/trees/layer_tree_host_common_unittest.cc File cc/trees/layer_tree_host_common_unittest.cc (right): https://codereview.chromium.org/1252313004/diff/40001/cc/trees/layer_tree_host_common_unittest.cc#newcode8243 cc/trees/layer_tree_host_common_unittest.cc:8243: TEST_F(LayerTreeHostCommonTest, RenderSurfaceClipsSubtree) { This unit test will crash without ...
5 years, 4 months ago (2015-07-30 19:44:47 UTC) #5
ajuma
https://codereview.chromium.org/1252313004/diff/40001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/40001/cc/trees/draw_property_utils.cc#newcode423 cc/trees/draw_property_utils.cc:423: // When render surface applies clip, we need the ...
5 years, 4 months ago (2015-07-30 20:56:51 UTC) #6
jaydasika
https://codereview.chromium.org/1252313004/diff/40001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/40001/cc/trees/draw_property_utils.cc#newcode423 cc/trees/draw_property_utils.cc:423: // When render surface applies clip, we need the ...
5 years, 4 months ago (2015-07-31 00:46:29 UTC) #7
jaydasika
Added an 'easy to understand' unit test that fails without the patch and passes with ...
5 years, 4 months ago (2015-07-31 17:29:25 UTC) #8
jaydasika
https://codereview.chromium.org/1252313004/diff/100001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/100001/cc/trees/draw_property_utils.cc#newcode477 cc/trees/draw_property_utils.cc:477: inherited_clip_in_target_space = MathUtil::ProjectClippedRect( I am not sure if this ...
5 years, 4 months ago (2015-07-31 17:34:15 UTC) #9
ajuma
https://codereview.chromium.org/1252313004/diff/100001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/100001/cc/trees/draw_property_utils.cc#newcode477 cc/trees/draw_property_utils.cc:477: inherited_clip_in_target_space = MathUtil::ProjectClippedRect( On 2015/07/31 17:34:14, jaydasika wrote: > ...
5 years, 4 months ago (2015-07-31 22:41:01 UTC) #10
jaydasika
Added a patch that forces clip node creation when render surface applies clip and owning ...
5 years, 4 months ago (2015-08-04 15:17:02 UTC) #11
ajuma
https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc File cc/trees/property_tree_builder.cc (right): https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc#newcode82 cc/trees/property_tree_builder.cc:82: if (!layer->transform().IsFlat()) What if the transform is animated, and ...
5 years, 4 months ago (2015-08-04 15:37:19 UTC) #12
jaydasika
https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc File cc/trees/property_tree_builder.cc (right): https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc#newcode82 cc/trees/property_tree_builder.cc:82: if (!layer->transform().IsFlat()) On 2015/08/04 15:37:19, ajuma wrote: > What ...
5 years, 4 months ago (2015-08-04 15:38:53 UTC) #13
ajuma
https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc File cc/trees/property_tree_builder.cc (right): https://codereview.chromium.org/1252313004/diff/120001/cc/trees/property_tree_builder.cc#newcode82 cc/trees/property_tree_builder.cc:82: if (!layer->transform().IsFlat()) On 2015/08/04 15:38:53, jaydasika wrote: > On ...
5 years, 4 months ago (2015-08-04 15:40:26 UTC) #14
jaydasika
Update: 1) Added patch to create clip node whenever we have the "new case" except ...
5 years, 4 months ago (2015-08-04 23:01:15 UTC) #15
ajuma
On 2015/08/04 23:01:15, jaydasika wrote: > 3) The layer that creates the clip node in ...
5 years, 4 months ago (2015-08-05 13:51:09 UTC) #16
jaydasika
> Please look into why this is needed. Having a clip node whose owner has ...
5 years, 4 months ago (2015-08-05 15:07:09 UTC) #17
jaydasika
https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc#newcode460 cc/trees/draw_property_utils.cc:460: clip_node->data.transform_id = parent_clip_node->data.transform_id; On 2015/08/05 13:51:09, ajuma wrote: > ...
5 years, 4 months ago (2015-08-05 15:07:20 UTC) #18
ajuma
On 2015/08/05 15:07:09, jaydasika wrote: > > Please look into why this is needed. Having ...
5 years, 4 months ago (2015-08-05 15:18:54 UTC) #19
ajuma
https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc#newcode460 cc/trees/draw_property_utils.cc:460: clip_node->data.transform_id = parent_clip_node->data.transform_id; On 2015/08/05 15:07:20, jaydasika wrote: > ...
5 years, 4 months ago (2015-08-05 15:21:58 UTC) #20
jaydasika
> If we reach this point, we have an uninvertible transform, so we just need ...
5 years, 4 months ago (2015-08-05 15:27:12 UTC) #21
ajuma
On 2015/08/05 15:27:12, jaydasika wrote: > > If we reach this point, we have an ...
5 years, 4 months ago (2015-08-05 15:30:36 UTC) #22
jaydasika
https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1252313004/diff/140001/cc/trees/draw_property_utils.cc#newcode460 cc/trees/draw_property_utils.cc:460: clip_node->data.transform_id = parent_clip_node->data.transform_id; On 2015/08/05 15:21:58, ajuma wrote: > ...
5 years, 4 months ago (2015-08-05 21:50:11 UTC) #23
ajuma
Looks like there's still a layout test failure to sort out. Aside from that, the ...
5 years, 4 months ago (2015-08-06 14:25:46 UTC) #24
jaydasika
Patch 12 passes layout test failing with patch 11. Added a unit test that crashes ...
5 years, 4 months ago (2015-08-06 16:39:34 UTC) #25
ajuma
Thanks! Just two more comments about the tests. https://codereview.chromium.org/1252313004/diff/220001/cc/trees/layer_tree_host_common_unittest.cc File cc/trees/layer_tree_host_common_unittest.cc (right): https://codereview.chromium.org/1252313004/diff/220001/cc/trees/layer_tree_host_common_unittest.cc#newcode7830 cc/trees/layer_tree_host_common_unittest.cc:7830: ClipNode* ...
5 years, 4 months ago (2015-08-06 18:06:31 UTC) #26
jaydasika
https://codereview.chromium.org/1252313004/diff/220001/cc/trees/layer_tree_host_common_unittest.cc File cc/trees/layer_tree_host_common_unittest.cc (right): https://codereview.chromium.org/1252313004/diff/220001/cc/trees/layer_tree_host_common_unittest.cc#newcode7830 cc/trees/layer_tree_host_common_unittest.cc:7830: ClipNode* clip_node = clip_tree.Node(3); On 2015/08/06 18:06:31, ajuma wrote: ...
5 years, 4 months ago (2015-08-06 18:21:14 UTC) #27
ajuma
lgtm
5 years, 4 months ago (2015-08-06 18:22:42 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1252313004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1252313004/240001
5 years, 4 months ago (2015-08-06 20:41:08 UTC) #30
commit-bot: I haz the power
Committed patchset #13 (id:240001)
5 years, 4 months ago (2015-08-06 21:55:45 UTC) #31
commit-bot: I haz the power
5 years, 4 months ago (2015-08-06 21:56:29 UTC) #32
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/67d7989e6dad1905bddf00e539ee78e4abcbd606
Cr-Commit-Position: refs/heads/master@{#342209}

Powered by Google App Engine
This is Rietveld 408576698