diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 05:58:54 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 05:58:54 +0000 |
commit | 6ef21ffc292e8b606a8e8d33bbea0102b34e8116 (patch) | |
tree | fcda4e35a9055bc1796f6e076c253255adb620e7 /cc/layer_tree_host_common.cc | |
parent | b659ff723d5e68b468f65ce33bf40722eea089f0 (diff) | |
download | chromium_src-6ef21ffc292e8b606a8e8d33bbea0102b34e8116.zip chromium_src-6ef21ffc292e8b606a8e8d33bbea0102b34e8116.tar.gz chromium_src-6ef21ffc292e8b606a8e8d33bbea0102b34e8116.tar.bz2 |
cc: Add a didUpdateTransforms function to LayerImpl
This gets called per-layer post calcDraw.
BUG=155209
Review URL: https://codereview.chromium.org/11414190
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169859 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layer_tree_host_common.cc')
-rw-r--r-- | cc/layer_tree_host_common.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cc/layer_tree_host_common.cc b/cc/layer_tree_host_common.cc index 41d6875..b6c4c4e 100644 --- a/cc/layer_tree_host_common.cc +++ b/cc/layer_tree_host_common.cc @@ -218,6 +218,18 @@ static inline bool subtreeShouldBeSkipped(Layer* layer) return !layer->opacity() && !layer->opacityIsAnimating(); } +// Called on each layer that could be drawn after all information from +// calcDrawTransforms has been updated on that layer. May have some false +// positives (e.g. layers get this called on them but don't actually get drawn). +static inline void markLayerAsUpdated(LayerImpl* layer) +{ + layer->didUpdateTransforms(); +} + +static inline void markLayerAsUpdated(Layer* layer) +{ +} + template<typename LayerType> static bool subtreeShouldRenderToSeparateSurface(LayerType* layer, bool axisAlignedWithRespectToParent) { @@ -796,6 +808,8 @@ static void calculateDrawTransformsInternal(LayerType* layer, const gfx::Transfo } } + markLayerAsUpdated(layer); + // If neither this layer nor any of its children were added, early out. if (sortingStartIndex == descendants.size()) return; |