summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorvmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 07:00:34 +0000
committervmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 07:00:34 +0000
commit90af23b73870b5678d4b188ba39e0e7ac1a482a2 (patch)
tree8f7d364269d41e212272d12b907a88ccb0908296 /cc
parenteefaddbeadf9bb0d1a406a0d42aa216b7c73b188 (diff)
downloadchromium_src-90af23b73870b5678d4b188ba39e0e7ac1a482a2.zip
chromium_src-90af23b73870b5678d4b188ba39e0e7ac1a482a2.tar.gz
chromium_src-90af23b73870b5678d4b188ba39e0e7ac1a482a2.tar.bz2
cc: Make LTHI::NotifyTileInitialized more generic.
This patch forwards NotifyTileInitialized to layer_impl, which makes it easier to add more special handling per layer, instead of putting extra logic in LTHI. R=enne Review URL: https://codereview.chromium.org/252293003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267109 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/layers/layer_impl.h2
-rw-r--r--cc/layers/picture_layer_impl.cc8
-rw-r--r--cc/layers/picture_layer_impl.h1
-rw-r--r--cc/trees/layer_tree_host_impl.cc21
4 files changed, 24 insertions, 8 deletions
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h
index 0649856..e712b7e 100644
--- a/cc/layers/layer_impl.h
+++ b/cc/layers/layer_impl.h
@@ -51,6 +51,7 @@ class QuadSink;
class Renderer;
class ScrollbarAnimationController;
class ScrollbarLayerImplBase;
+class Tile;
struct AppendQuadsData;
@@ -178,6 +179,7 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
virtual RenderPass::Id NextContributingRenderPassId(RenderPass::Id id) const;
virtual void UpdateTilePriorities() {}
+ virtual void NotifyTileInitialized(const Tile* tile) {}
virtual ScrollbarLayerImplBase* ToScrollbarLayer();
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 39af47d..aed6dc1 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -412,6 +412,14 @@ void PictureLayerImpl::UpdateTilePriorities() {
layer_tree_impl()->DidModifyTilePriorities();
}
+void PictureLayerImpl::NotifyTileInitialized(const Tile* tile) {
+ if (layer_tree_impl()->IsActiveTree()) {
+ gfx::RectF layer_damage_rect =
+ gfx::ScaleRect(tile->content_rect(), 1.f / tile->contents_scale());
+ AddDamageRect(layer_damage_rect);
+ }
+}
+
void PictureLayerImpl::DidBecomeActive() {
LayerImpl::DidBecomeActive();
tilings_->DidBecomeActive();
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index cd7c68b..bf24251 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -92,6 +92,7 @@ class CC_EXPORT PictureLayerImpl
virtual void AppendQuads(QuadSink* quad_sink,
AppendQuadsData* append_quads_data) OVERRIDE;
virtual void UpdateTilePriorities() OVERRIDE;
+ virtual void NotifyTileInitialized(const Tile* tile) OVERRIDE;
virtual void DidBecomeActive() OVERRIDE;
virtual void DidBeginTracing() OVERRIDE;
virtual void ReleaseResources() OVERRIDE;
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 2f7bf0d..1ec6d33 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1223,15 +1223,20 @@ void LayerTreeHostImpl::NotifyReadyToActivate() {
}
void LayerTreeHostImpl::NotifyTileInitialized(const Tile* tile) {
- if (!active_tree_)
- return;
+ TRACE_EVENT0("cc", "LayerTreeHostImpl::NotifyTileInitialized");
- LayerImpl* layer_impl =
- active_tree_->FindActiveTreeLayerById(tile->layer_id());
- if (layer_impl) {
- gfx::RectF layer_damage_rect =
- gfx::ScaleRect(tile->content_rect(), 1.f / tile->contents_scale());
- layer_impl->AddDamageRect(layer_damage_rect);
+ if (active_tree_) {
+ LayerImpl* layer_impl =
+ active_tree_->FindActiveTreeLayerById(tile->layer_id());
+ if (layer_impl)
+ layer_impl->NotifyTileInitialized(tile);
+ }
+
+ if (pending_tree_) {
+ LayerImpl* layer_impl =
+ pending_tree_->FindPendingTreeLayerById(tile->layer_id());
+ if (layer_impl)
+ layer_impl->NotifyTileInitialized(tile);
}
}