New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 609205 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 611899
issue 611903

Blocking:
issue 606016



Sign in to add a comment

Make Effect tree sync independent of Layer properties

Project Member Reported by jaydasika@chromium.org, May 4 2016

Issue description

Currently we depend on Layer Push Properties doing the right thing and then we use LayerImpl's opacity to update the opacity on the effect tree during commit. 
 
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, May 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5121caa8626ab6991b4a751d0aa5ee8be244e4b9

commit 5121caa8626ab6991b4a751d0aa5ee8be244e4b9
Author: jaydasika <jaydasika@chromium.org>
Date: Thu May 05 15:43:35 2016

cc : Add subtree hidden bool to effect tree

This is required for making the property tree sync at commit time
independant of layer properties. Adding it to the effect tree also
makes it possible to delete LayerImpl::hide_layer_and_subtree. I have
deleted it and added it to LayerImplTestProperties for tests.

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1947683007
Cr-Commit-Position: refs/heads/master@{#391809}

[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/layers/layer.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/layers/layer_impl.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/layers/layer_impl.h
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/layers/layer_impl_test_properties.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/layers/layer_impl_test_properties.h
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/proto/property_tree.proto
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/occlusion_tracker_unittest.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/property_tree.cc
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/property_tree.h
[modify] https://crrev.com/5121caa8626ab6991b4a751d0aa5ee8be244e4b9/cc/trees/property_tree_builder.cc

Project Member

Comment 3 by bugdroid1@chromium.org, May 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cb21c771b787047cf24b129859b8d6636a0c61d

commit 9cb21c771b787047cf24b129859b8d6636a0c61d
Author: jaydasika <jaydasika@chromium.org>
Date: Tue May 10 22:37:08 2016

cc : Track opacity animation changes on effect tree

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1957533002
Cr-Commit-Position: refs/heads/master@{#392751}

[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/animation/element_animations.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/animation/element_animations.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/animation/element_animations_unittest.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/layers/layer.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/layers/layer.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/layers/layer_impl.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/layers/layer_impl.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/proto/property_tree.proto
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/test/animation_timelines_test_common.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/test/animation_timelines_test_common.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/layer_tree_host.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/mutator_host_client.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/property_tree.cc
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/property_tree.h
[modify] https://crrev.com/9cb21c771b787047cf24b129859b8d6636a0c61d/cc/trees/property_tree_builder.cc

Comment 4 by loyso@chromium.org, May 11 2016

Cc: loyso@chromium.org
Project Member

Comment 5 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2368fd5868423ab3d0bd38ff968c65b19089065f

commit 2368fd5868423ab3d0bd38ff968c65b19089065f
Author: jaydasika <jaydasika@chromium.org>
Date: Wed May 11 19:38:29 2016

cc : Use effect node data to determine which opacity wins at commit.

Since the effect tree tracks whether there is a currently running
opaciy animation, it can be used to determine whether the opacity in
effect tree node should be overwriiten at commit time.

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1968803002
Cr-Commit-Position: refs/heads/master@{#393029}

[modify] https://crrev.com/2368fd5868423ab3d0bd38ff968c65b19089065f/cc/layers/layer_impl.cc
[modify] https://crrev.com/2368fd5868423ab3d0bd38ff968c65b19089065f/cc/layers/layer_impl.h
[modify] https://crrev.com/2368fd5868423ab3d0bd38ff968c65b19089065f/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/2368fd5868423ab3d0bd38ff968c65b19089065f/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/2368fd5868423ab3d0bd38ff968c65b19089065f/cc/trees/layer_tree_impl.h

Blockedon: 611899
Blockedon: 611903
Project Member

Comment 8 by bugdroid1@chromium.org, May 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d30f43b693d0060c9e3857e7d2ca7ce7981d120

commit 4d30f43b693d0060c9e3857e7d2ca7ce7981d120
Author: jaydasika <jaydasika@chromium.org>
Date: Wed May 18 00:16:33 2016

cc : Delete Opacity/Transform/FilterIsAnimatingOnImplOnly

Because we do not support impl-only animations for these properties,
these functions always return false and so we don't need them

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1981283005
Cr-Commit-Position: refs/heads/master@{#394279}

[modify] https://crrev.com/4d30f43b693d0060c9e3857e7d2ca7ce7981d120/cc/layers/layer.cc
[modify] https://crrev.com/4d30f43b693d0060c9e3857e7d2ca7ce7981d120/cc/layers/layer_impl.cc
[modify] https://crrev.com/4d30f43b693d0060c9e3857e7d2ca7ce7981d120/cc/layers/layer_impl.h
[modify] https://crrev.com/4d30f43b693d0060c9e3857e7d2ca7ce7981d120/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/4d30f43b693d0060c9e3857e7d2ca7ce7981d120/cc/trees/layer_tree_impl.h

Project Member

Comment 9 by bugdroid1@chromium.org, May 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6f778b77449dd684b12b843abb281a1fb7fc949

commit d6f778b77449dd684b12b843abb281a1fb7fc949
Author: jaydasika <jaydasika@chromium.org>
Date: Thu May 19 22:51:26 2016

cc : Delete ResetFlags in property trees

We had different reset flags because opacity changes used to force rebuild of
property trees on main thread and so we had no change tracking on effect
tree on the main thread. But, now since opacity chnages don't force rebuild and
its possible to do change tracking on effect tree on the main thread, we have
to reset change tracking on both transform and effect trees every time. So, this
flag is no longer needed.

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1995133002
Cr-Commit-Position: refs/heads/master@{#394891}

[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/layers/layer_impl_unittest.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/layers/layer_unittest.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/layers/render_surface_unittest.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/damage_tracker_unittest.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/property_tree.cc
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/property_tree.h
[modify] https://crrev.com/d6f778b77449dd684b12b843abb281a1fb7fc949/cc/trees/tree_synchronizer_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, May 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b6ee83e652f8f148c48ad1fb210b5b07e919a37

commit 6b6ee83e652f8f148c48ad1fb210b5b07e919a37
Author: jaydasika <jaydasika@chromium.org>
Date: Fri May 20 00:30:19 2016

cc : Delete code not used outside tests related to impl-only animations

This is a follow-up to crrev.com/1981283005. It deletes code in
cc/animation for impl-only animations of opacity, transform and filter
as we don't support impl-only animations for these properties.

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1988293003
Cr-Commit-Position: refs/heads/master@{#394926}

[modify] https://crrev.com/6b6ee83e652f8f148c48ad1fb210b5b07e919a37/cc/animation/animation_host.cc
[modify] https://crrev.com/6b6ee83e652f8f148c48ad1fb210b5b07e919a37/cc/animation/animation_host.h
[modify] https://crrev.com/6b6ee83e652f8f148c48ad1fb210b5b07e919a37/cc/animation/element_animations.cc
[modify] https://crrev.com/6b6ee83e652f8f148c48ad1fb210b5b07e919a37/cc/animation/element_animations.h
[modify] https://crrev.com/6b6ee83e652f8f148c48ad1fb210b5b07e919a37/cc/animation/element_animations_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, May 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3093be3ace64cb9049fd76ccbcc749e2a48cd58d

commit 3093be3ace64cb9049fd76ccbcc749e2a48cd58d
Author: jaydasika <jaydasika@chromium.org>
Date: Wed May 25 19:23:55 2016

cc : Initialize solid color scrollbar layer on main thread to 0.

We currently initialize it to 0 on the compositor thread. This is
required to make property trees on the compositor thread independent of
opacity stored on LayerImpl (with the goal of deleting
LayerImpl::opacity)

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1999783003
Cr-Commit-Position: refs/heads/master@{#395959}

[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/layers/layer.h
[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/layers/scrollbar_layer_unittest.cc
[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/layers/solid_color_scrollbar_layer.cc
[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/layers/solid_color_scrollbar_layer.h
[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/layers/solid_color_scrollbar_layer_impl.cc
[modify] https://crrev.com/3093be3ace64cb9049fd76ccbcc749e2a48cd58d/cc/trees/layer_tree_host_impl_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab317e073bd7b2cb74c405f23008d0a6d4db6270

commit ab317e073bd7b2cb74c405f23008d0a6d4db6270
Author: jaydasika <jaydasika@chromium.org>
Date: Wed Jun 01 00:53:18 2016

cc :  Delete LayerImpl::opacity

Since property trees have the required opacity info.

To to this, this CL : (opacity = LayerImpl::opacity)
- Removes pushing opacity at commit and activation.
- Removes SetOpacity in OnOpacityAnimated
- Removes SetOpacity in ScrollbarImplBase::PushPropertiesTo
- For tests, adds opacity to LayerImplTestProperties.

BUG= 609205 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2018833002
Cr-Commit-Position: refs/heads/master@{#397000}

[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/input/scrollbar_animation_controller_linear_fade_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/input/scrollbar_animation_controller_thinning.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/input/scrollbar_animation_controller_thinning_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer_impl.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer_impl.h
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer_impl_test_properties.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer_impl_test_properties.h
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/layer_impl_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/render_surface_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/scrollbar_layer_impl_base.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/test/layer_tree_json_parser_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/trees/damage_tracker_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/cc/trees/tree_synchronizer_unittest.cc
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/third_party/WebKit/Source/platform/graphics/CompositorMutableState.cpp
[modify] https://crrev.com/ab317e073bd7b2cb74c405f23008d0a6d4db6270/third_party/WebKit/Source/platform/graphics/CompositorMutableStateTest.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment