summaryrefslogtreecommitdiffstats
path: root/cc/layer_tree_host_common.cc
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 05:58:54 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 05:58:54 +0000
commit6ef21ffc292e8b606a8e8d33bbea0102b34e8116 (patch)
treefcda4e35a9055bc1796f6e076c253255adb620e7 /cc/layer_tree_host_common.cc
parentb659ff723d5e68b468f65ce33bf40722eea089f0 (diff)
downloadchromium_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.cc14
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;