summaryrefslogtreecommitdiffstats
path: root/cc/layer.cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-12 10:17:34 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-12 10:17:34 +0000
commit7aba66652cf8fe7e131d4638d00b574fc05526ee (patch)
tree0a1012dc37172ff9b276679c55d77c38c111f37a /cc/layer.cc
parentb2720f159750fd54728b7ec0b9da8baed9ec4a83 (diff)
downloadchromium_src-7aba66652cf8fe7e131d4638d00b574fc05526ee.zip
chromium_src-7aba66652cf8fe7e131d4638d00b574fc05526ee.tar.gz
chromium_src-7aba66652cf8fe7e131d4638d00b574fc05526ee.tar.bz2
cc: Chromify Layer and LayerImpl classes.
Style-only change. Bring the Layer and LayerImpl classes into the Chromium style. R=enne,piman,jamesr TBR=joth Review URL: https://chromiumcodereview.appspot.com/12774006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187555 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layer.cc')
-rw-r--r--cc/layer.cc1390
1 files changed, 650 insertions, 740 deletions
diff --git a/cc/layer.cc b/cc/layer.cc
index ec7f8dd..bc02803 100644
--- a/cc/layer.cc
+++ b/cc/layer.cc
@@ -18,884 +18,794 @@
namespace cc {
-static int s_nextLayerId = 1;
+static int s_next_layer_id = 1;
-scoped_refptr<Layer> Layer::create()
-{
- return make_scoped_refptr(new Layer());
+scoped_refptr<Layer> Layer::Create() {
+ return make_scoped_refptr(new Layer());
}
Layer::Layer()
- : m_needsDisplay(false)
- , m_stackingOrderChanged(false)
- , m_layerId(s_nextLayerId++)
- , m_ignoreSetNeedsCommit(false)
- , m_parent(0)
- , m_layerTreeHost(0)
- , m_scrollable(false)
- , m_shouldScrollOnMainThread(false)
- , m_haveWheelEventHandlers(false)
- , m_anchorPoint(0.5, 0.5)
- , m_backgroundColor(0)
- , m_opacity(1.0)
- , m_anchorPointZ(0)
- , m_isContainerForFixedPositionLayers(false)
- , m_fixedToContainerLayer(false)
- , m_isDrawable(false)
- , m_masksToBounds(false)
- , m_contentsOpaque(false)
- , m_doubleSided(true)
- , m_preserves3D(false)
- , m_useParentBackfaceVisibility(false)
- , m_drawCheckerboardForMissingTiles(false)
- , m_forceRenderSurface(false)
- , m_replicaLayer(0)
- , m_rasterScale(1.0)
- , m_automaticallyComputeRasterScale(false)
- , m_boundsContainPageScale(false)
- , m_layerAnimationDelegate(0)
- , m_layerScrollClient(0)
-{
- if (m_layerId < 0) {
- s_nextLayerId = 1;
- m_layerId = s_nextLayerId++;
- }
-
- m_layerAnimationController = LayerAnimationController::Create(m_layerId);
- m_layerAnimationController->AddObserver(this);
- addLayerAnimationEventObserver(m_layerAnimationController.get());
-}
-
-Layer::~Layer()
-{
- // Our parent should be holding a reference to us so there should be no
- // way for us to be destroyed while we still have a parent.
- DCHECK(!parent());
-
- m_layerAnimationController->RemoveObserver(this);
-
- // Remove the parent reference from all children and dependents.
- removeAllChildren();
- if (m_maskLayer) {
- DCHECK_EQ(this, m_maskLayer->parent());
- m_maskLayer->removeFromParent();
- }
- if (m_replicaLayer) {
- DCHECK_EQ(this, m_replicaLayer->parent());
- m_replicaLayer->removeFromParent();
- }
-}
-
-void Layer::setLayerTreeHost(LayerTreeHost* host)
-{
- if (m_layerTreeHost == host)
- return;
-
- m_layerTreeHost = host;
-
- for (size_t i = 0; i < m_children.size(); ++i)
- m_children[i]->setLayerTreeHost(host);
-
- if (m_maskLayer)
- m_maskLayer->setLayerTreeHost(host);
- if (m_replicaLayer)
- m_replicaLayer->setLayerTreeHost(host);
-
- m_layerAnimationController->SetAnimationRegistrar(host ? host->animationRegistrar() : 0);
-
- if (host && m_layerAnimationController->has_any_animation())
- host->setNeedsCommit();
- if (host && (!m_filters.isEmpty() || !m_backgroundFilters.isEmpty() || m_filter))
- m_layerTreeHost->setNeedsFilterContext();
-
-}
-
-void Layer::setNeedsCommit()
-{
- if (m_ignoreSetNeedsCommit)
- return;
- if (m_layerTreeHost)
- m_layerTreeHost->setNeedsCommit();
-}
-
-void Layer::setNeedsFullTreeSync()
-{
- if (m_layerTreeHost)
- m_layerTreeHost->setNeedsFullTreeSync();
-}
-
-gfx::Rect Layer::layerRectToContentRect(const gfx::RectF& layerRect) const
-{
- gfx::RectF contentRect = gfx::ScaleRect(layerRect, contentsScaleX(), contentsScaleY());
- // Intersect with content rect to avoid the extra pixel because for some
- // values x and y, ceil((x / y) * y) may be x + 1.
- contentRect.Intersect(gfx::Rect(gfx::Point(), contentBounds()));
- return gfx::ToEnclosingRect(contentRect);
-}
-
-bool Layer::blocksPendingCommit() const
-{
- return false;
-}
-
-bool Layer::canClipSelf() const
-{
- return false;
-}
-
-bool Layer::blocksPendingCommitRecursive() const
-{
- if (blocksPendingCommit())
- return true;
- if (maskLayer() && maskLayer()->blocksPendingCommitRecursive())
- return true;
- if (replicaLayer() && replicaLayer()->blocksPendingCommitRecursive())
- return true;
- for (size_t i = 0; i < m_children.size(); ++i)
- {
- if (m_children[i]->blocksPendingCommitRecursive())
- return true;
- }
- return false;
-}
-
-void Layer::setParent(Layer* layer)
-{
- DCHECK(!layer || !layer->hasAncestor(this));
- m_parent = layer;
- setLayerTreeHost(m_parent ? m_parent->layerTreeHost() : 0);
-
- forceAutomaticRasterScaleToBeRecomputed();
- if (m_maskLayer)
- m_maskLayer->forceAutomaticRasterScaleToBeRecomputed();
- if (m_replicaLayer && m_replicaLayer->m_maskLayer)
- m_replicaLayer->m_maskLayer->forceAutomaticRasterScaleToBeRecomputed();
-}
+ : needs_display_(false),
+ stacking_order_changed_(false),
+ layer_id_(s_next_layer_id++),
+ ignore_set_needs_commit_(false),
+ parent_(NULL),
+ layer_tree_host_(NULL),
+ scrollable_(false),
+ should_scroll_on_main_thread_(false),
+ have_wheel_event_handlers_(false),
+ anchor_point_(0.5f, 0.5f),
+ background_color_(0),
+ opacity_(1.f),
+ anchor_point_z_(0.f),
+ is_container_for_fixed_position_layers_(false),
+ fixed_to_container_layer_(false),
+ is_drawable_(false),
+ masks_to_bounds_(false),
+ contents_opaque_(false),
+ double_sided_(true),
+ preserves_3d_(false),
+ use_parent_backface_visibility_(false),
+ draw_checkerboard_for_missing_tiles_(false),
+ force_render_surface_(false),
+ replica_layer_(NULL),
+ raster_scale_(1.f),
+ automatically_compute_raster_scale_(false),
+ bounds_contain_page_scale_(false),
+ layer_animation_delegate_(NULL),
+ layer_scroll_client_(NULL) {
+ if (layer_id_ < 0) {
+ s_next_layer_id = 1;
+ layer_id_ = s_next_layer_id++;
+ }
+
+ layer_animation_controller_ = LayerAnimationController::Create(layer_id_);
+ layer_animation_controller_->AddObserver(this);
+ AddLayerAnimationEventObserver(layer_animation_controller_.get());
+}
+
+Layer::~Layer() {
+ // Our parent should be holding a reference to us so there should be no
+ // way for us to be destroyed while we still have a parent.
+ DCHECK(!parent());
+
+ layer_animation_controller_->RemoveObserver(this);
+
+ // Remove the parent reference from all children and dependents.
+ RemoveAllChildren();
+ if (mask_layer_) {
+ DCHECK_EQ(this, mask_layer_->parent());
+ mask_layer_->RemoveFromParent();
+ }
+ if (replica_layer_) {
+ DCHECK_EQ(this, replica_layer_->parent());
+ replica_layer_->RemoveFromParent();
+ }
+}
+
+void Layer::SetLayerTreeHost(LayerTreeHost* host) {
+ if (layer_tree_host_ == host)
+ return;
+
+ layer_tree_host_ = host;
+
+ for (size_t i = 0; i < children_.size(); ++i)
+ children_[i]->SetLayerTreeHost(host);
+
+ if (mask_layer_)
+ mask_layer_->SetLayerTreeHost(host);
+ if (replica_layer_)
+ replica_layer_->SetLayerTreeHost(host);
+
+ layer_animation_controller_->SetAnimationRegistrar(
+ host ? host->animationRegistrar() : NULL);
+
+ if (host && layer_animation_controller_->has_any_animation())
+ host->setNeedsCommit();
+ if (host &&
+ (!filters_.isEmpty() || !background_filters_.isEmpty() || filter_))
+ layer_tree_host_->setNeedsFilterContext();
+
+}
+
+void Layer::SetNeedsCommit() {
+ if (ignore_set_needs_commit_)
+ return;
+ if (layer_tree_host_)
+ layer_tree_host_->setNeedsCommit();
+}
+
+void Layer::SetNeedsFullTreeSync() {
+ if (layer_tree_host_)
+ layer_tree_host_->setNeedsFullTreeSync();
+}
+
+gfx::Rect Layer::LayerRectToContentRect(const gfx::RectF& layer_rect) const {
+ gfx::RectF content_rect =
+ gfx::ScaleRect(layer_rect, contents_scale_x(), contents_scale_y());
+ // Intersect with content rect to avoid the extra pixel because for some
+ // values x and y, ceil((x / y) * y) may be x + 1.
+ content_rect.Intersect(gfx::Rect(gfx::Point(), content_bounds()));
+ return gfx::ToEnclosingRect(content_rect);
+}
+
+bool Layer::BlocksPendingCommit() const {
+ return false;
+}
+
+bool Layer::CanClipSelf() const {
+ return false;
+}
-bool Layer::hasAncestor(Layer* ancestor) const
-{
- for (const Layer* layer = parent(); layer; layer = layer->parent()) {
- if (layer == ancestor)
- return true;
- }
- return false;
-}
-
-void Layer::addChild(scoped_refptr<Layer> child)
-{
- insertChild(child, m_children.size());
-}
-
-void Layer::insertChild(scoped_refptr<Layer> child, size_t index)
-{
- child->removeFromParent();
- child->setParent(this);
- child->m_stackingOrderChanged = true;
-
- index = std::min(index, m_children.size());
- m_children.insert(m_children.begin() + index, child);
- setNeedsFullTreeSync();
-}
-
-void Layer::removeFromParent()
-{
- if (m_parent)
- m_parent->removeChildOrDependent(this);
-}
-
-void Layer::removeChildOrDependent(Layer* child)
-{
- if (m_maskLayer == child) {
- m_maskLayer->setParent(NULL);
- m_maskLayer = NULL;
- setNeedsFullTreeSync();
- return;
- }
- if (m_replicaLayer == child) {
- m_replicaLayer->setParent(NULL);
- m_replicaLayer = NULL;
- setNeedsFullTreeSync();
- return;
- }
-
- for (LayerList::iterator iter = m_children.begin(); iter != m_children.end(); ++iter)
- {
- if (*iter != child)
- continue;
-
- child->setParent(0);
- m_children.erase(iter);
- setNeedsFullTreeSync();
- return;
- }
+bool Layer::BlocksPendingCommitRecursive() const {
+ if (BlocksPendingCommit())
+ return true;
+ if (mask_layer() && mask_layer()->BlocksPendingCommitRecursive())
+ return true;
+ if (replica_layer() && replica_layer()->BlocksPendingCommitRecursive())
+ return true;
+ for (size_t i = 0; i < children_.size(); ++i) {
+ if (children_[i]->BlocksPendingCommitRecursive())
+ return true;
+ }
+ return false;
}
-void Layer::replaceChild(Layer* reference, scoped_refptr<Layer> newLayer)
-{
- DCHECK(reference);
- DCHECK_EQ(reference->parent(), this);
-
- if (reference == newLayer)
- return;
-
- int referenceIndex = indexOfChild(reference);
- if (referenceIndex == -1) {
- NOTREACHED();
- return;
- }
-
- reference->removeFromParent();
+void Layer::SetParent(Layer* layer) {
+ DCHECK(!layer || !layer->HasAncestor(this));
+ parent_ = layer;
+ SetLayerTreeHost(parent_ ? parent_->layer_tree_host() : NULL);
- if (newLayer) {
- newLayer->removeFromParent();
- insertChild(newLayer, referenceIndex);
- }
+ ForceAutomaticRasterScaleToBeRecomputed();
+ if (mask_layer_)
+ mask_layer_->ForceAutomaticRasterScaleToBeRecomputed();
+ if (replica_layer_ && replica_layer_->mask_layer_)
+ replica_layer_->mask_layer_->ForceAutomaticRasterScaleToBeRecomputed();
}
-int Layer::indexOfChild(const Layer* reference)
-{
- for (size_t i = 0; i < m_children.size(); ++i) {
- if (m_children[i] == reference)
- return i;
- }
- return -1;
+bool Layer::HasAncestor(Layer* ancestor) const {
+ for (const Layer* layer = parent(); layer; layer = layer->parent()) {
+ if (layer == ancestor)
+ return true;
+ }
+ return false;
}
-void Layer::setBounds(const gfx::Size& size)
-{
- if (bounds() == size)
- return;
-
- bool firstResize = bounds().IsEmpty() && !size.IsEmpty();
-
- m_bounds = size;
-
- if (firstResize)
- setNeedsDisplay();
- else
- setNeedsCommit();
+void Layer::AddChild(scoped_refptr<Layer> child) {
+ InsertChild(child, children_.size());
}
-Layer* Layer::rootLayer()
-{
- Layer* layer = this;
- while (layer->parent())
- layer = layer->parent();
- return layer;
-}
+void Layer::InsertChild(scoped_refptr<Layer> child, size_t index) {
+ child->RemoveFromParent();
+ child->SetParent(this);
+ child->stacking_order_changed_ = true;
-void Layer::removeAllChildren()
-{
- while (m_children.size()) {
- Layer* layer = m_children[0].get();
- DCHECK_EQ(this, layer->parent());
- layer->removeFromParent();
- }
+ index = std::min(index, children_.size());
+ children_.insert(children_.begin() + index, child);
+ SetNeedsFullTreeSync();
}
-void Layer::setChildren(const LayerList& children)
-{
- if (children == m_children)
- return;
-
- removeAllChildren();
- for (size_t i = 0; i < children.size(); ++i)
- addChild(children[i]);
+void Layer::RemoveFromParent() {
+ if (parent_)
+ parent_->RemoveChildOrDependent(this);
}
-Layer* Layer::childAt(size_t index)
-{
- DCHECK_LT(index, m_children.size());
- return m_children[index].get();
-}
+void Layer::RemoveChildOrDependent(Layer* child) {
+ if (mask_layer_ == child) {
+ mask_layer_->SetParent(NULL);
+ mask_layer_ = NULL;
+ SetNeedsFullTreeSync();
+ return;
+ }
+ if (replica_layer_ == child) {
+ replica_layer_->SetParent(NULL);
+ replica_layer_ = NULL;
+ SetNeedsFullTreeSync();
+ return;
+ }
-void Layer::setAnchorPoint(const gfx::PointF& anchorPoint)
-{
- if (m_anchorPoint == anchorPoint)
- return;
- m_anchorPoint = anchorPoint;
- setNeedsCommit();
-}
+ for (LayerList::iterator iter = children_.begin();
+ iter != children_.end();
+ ++iter) {
+ if (*iter != child)
+ continue;
-void Layer::setAnchorPointZ(float anchorPointZ)
-{
- if (m_anchorPointZ == anchorPointZ)
- return;
- m_anchorPointZ = anchorPointZ;
- setNeedsCommit();
+ child->SetParent(NULL);
+ children_.erase(iter);
+ SetNeedsFullTreeSync();
+ return;
+ }
}
-void Layer::setBackgroundColor(SkColor backgroundColor)
-{
- if (m_backgroundColor == backgroundColor)
- return;
- m_backgroundColor = backgroundColor;
- setNeedsCommit();
-}
+void Layer::ReplaceChild(Layer* reference, scoped_refptr<Layer> new_layer) {
+ DCHECK(reference);
+ DCHECK_EQ(reference->parent(), this);
-void Layer::calculateContentsScale(
- float idealContentsScale,
- bool animatingTransformToScreen,
- float* contentsScaleX,
- float* contentsScaleY,
- gfx::Size* contentBounds)
-{
- *contentsScaleX = 1;
- *contentsScaleY = 1;
- *contentBounds = bounds();
-}
+ if (reference == new_layer)
+ return;
-void Layer::setMasksToBounds(bool masksToBounds)
-{
- if (m_masksToBounds == masksToBounds)
- return;
- m_masksToBounds = masksToBounds;
- setNeedsCommit();
-}
+ int reference_index = IndexOfChild(reference);
+ if (reference_index == -1) {
+ NOTREACHED();
+ return;
+ }
-void Layer::setMaskLayer(Layer* maskLayer)
-{
- if (m_maskLayer == maskLayer)
- return;
- if (m_maskLayer) {
- DCHECK_EQ(this, m_maskLayer->parent());
- m_maskLayer->removeFromParent();
- }
- m_maskLayer = maskLayer;
- if (m_maskLayer) {
- DCHECK(!m_maskLayer->parent());
- m_maskLayer->removeFromParent();
- m_maskLayer->setParent(this);
- m_maskLayer->setIsMask(true);
- }
- setNeedsFullTreeSync();
-}
+ reference->RemoveFromParent();
-void Layer::setReplicaLayer(Layer* layer)
-{
- if (m_replicaLayer == layer)
- return;
- if (m_replicaLayer) {
- DCHECK_EQ(this, m_replicaLayer->parent());
- m_replicaLayer->removeFromParent();
- }
- m_replicaLayer = layer;
- if (m_replicaLayer) {
- DCHECK(!m_replicaLayer->parent());
- m_replicaLayer->removeFromParent();
- m_replicaLayer->setParent(this);
- }
- setNeedsFullTreeSync();
+ if (new_layer) {
+ new_layer->RemoveFromParent();
+ InsertChild(new_layer, reference_index);
+ }
}
-void Layer::setFilters(const WebKit::WebFilterOperations& filters)
-{
- if (m_filters == filters)
- return;
- DCHECK(!m_filter);
- m_filters = filters;
- setNeedsCommit();
- if (!filters.isEmpty() && m_layerTreeHost)
- m_layerTreeHost->setNeedsFilterContext();
+int Layer::IndexOfChild(const Layer* reference) {
+ for (size_t i = 0; i < children_.size(); ++i) {
+ if (children_[i] == reference)
+ return i;
+ }
+ return -1;
}
-void Layer::setFilter(const skia::RefPtr<SkImageFilter>& filter)
-{
- if (m_filter.get() == filter.get())
- return;
- DCHECK(m_filters.isEmpty());
- m_filter = filter;
- setNeedsCommit();
- if (filter && m_layerTreeHost)
- m_layerTreeHost->setNeedsFilterContext();
-}
+void Layer::SetBounds(gfx::Size size) {
+ if (bounds() == size)
+ return;
-void Layer::setBackgroundFilters(const WebKit::WebFilterOperations& backgroundFilters)
-{
- if (m_backgroundFilters == backgroundFilters)
- return;
- m_backgroundFilters = backgroundFilters;
- setNeedsCommit();
- if (!backgroundFilters.isEmpty() && m_layerTreeHost)
- m_layerTreeHost->setNeedsFilterContext();
+ bool first_resize = bounds().IsEmpty() && !size.IsEmpty();
+
+ bounds_ = size;
+
+ if (first_resize)
+ SetNeedsDisplay();
+ else
+ SetNeedsCommit();
+}
+
+Layer* Layer::RootLayer() {
+ Layer* layer = this;
+ while (layer->parent())
+ layer = layer->parent();
+ return layer;
+}
+
+void Layer::RemoveAllChildren() {
+ while (children_.size()) {
+ Layer* layer = children_[0].get();
+ DCHECK_EQ(this, layer->parent());
+ layer->RemoveFromParent();
+ }
+}
+
+void Layer::SetChildren(const LayerList& children) {
+ if (children == children_)
+ return;
+
+ RemoveAllChildren();
+ for (size_t i = 0; i < children.size(); ++i)
+ AddChild(children[i]);
+}
+
+void Layer::SetAnchorPoint(gfx::PointF anchor_point) {
+ if (anchor_point_ == anchor_point)
+ return;
+ anchor_point_ = anchor_point;
+ SetNeedsCommit();
+}
+
+void Layer::SetAnchorPointZ(float anchor_point_z) {
+ if (anchor_point_z_ == anchor_point_z)
+ return;
+ anchor_point_z_ = anchor_point_z;
+ SetNeedsCommit();
+}
+
+void Layer::SetBackgroundColor(SkColor background_color) {
+ if (background_color_ == background_color)
+ return;
+ background_color_ = background_color;
+ SetNeedsCommit();
}
-
-void Layer::setOpacity(float opacity)
-{
- if (m_opacity == opacity)
- return;
- m_opacity = opacity;
- setNeedsCommit();
+
+void Layer::CalculateContentsScale(
+ float ideal_contents_scale,
+ bool animating_transform_to_screen,
+ float* contents_scale_x,
+ float* contents_scale_y,
+ gfx::Size* contentBounds) {
+ *contents_scale_x = 1;
+ *contents_scale_y = 1;
+ *contentBounds = bounds();
}
-float Layer::opacity() const
-{
- return m_opacity;
-}
+void Layer::SetMasksToBounds(bool masks_to_bounds) {
+ if (masks_to_bounds_ == masks_to_bounds)
+ return;
+ masks_to_bounds_ = masks_to_bounds;
+ SetNeedsCommit();
+}
-bool Layer::opacityIsAnimating() const
-{
- return m_layerAnimationController->IsAnimatingProperty(Animation::Opacity);
+void Layer::SetMaskLayer(Layer* mask_layer) {
+ if (mask_layer_ == mask_layer)
+ return;
+ if (mask_layer_) {
+ DCHECK_EQ(this, mask_layer_->parent());
+ mask_layer_->RemoveFromParent();
+ }
+ mask_layer_ = mask_layer;
+ if (mask_layer_) {
+ DCHECK(!mask_layer_->parent());
+ mask_layer_->RemoveFromParent();
+ mask_layer_->SetParent(this);
+ mask_layer_->SetIsMask(true);
+ }
+ SetNeedsFullTreeSync();
}
-void Layer::setContentsOpaque(bool opaque)
-{
- if (m_contentsOpaque == opaque)
- return;
- m_contentsOpaque = opaque;
- setNeedsCommit();
+void Layer::SetReplicaLayer(Layer* layer) {
+ if (replica_layer_ == layer)
+ return;
+ if (replica_layer_) {
+ DCHECK_EQ(this, replica_layer_->parent());
+ replica_layer_->RemoveFromParent();
+ }
+ replica_layer_ = layer;
+ if (replica_layer_) {
+ DCHECK(!replica_layer_->parent());
+ replica_layer_->RemoveFromParent();
+ replica_layer_->SetParent(this);
+ }
+ SetNeedsFullTreeSync();
+}
+
+void Layer::SetFilters(const WebKit::WebFilterOperations& filters) {
+ if (filters_ == filters)
+ return;
+ DCHECK(!filter_);
+ filters_ = filters;
+ SetNeedsCommit();
+ if (!filters.isEmpty() && layer_tree_host_)
+ layer_tree_host_->setNeedsFilterContext();
}
-void Layer::setPosition(const gfx::PointF& position)
-{
- if (m_position == position)
- return;
- m_position = position;
- setNeedsCommit();
+void Layer::SetFilter(const skia::RefPtr<SkImageFilter>& filter) {
+ if (filter_.get() == filter.get())
+ return;
+ DCHECK(filters_.isEmpty());
+ filter_ = filter;
+ SetNeedsCommit();
+ if (filter && layer_tree_host_)
+ layer_tree_host_->setNeedsFilterContext();
}
-
-void Layer::setSublayerTransform(const gfx::Transform& sublayerTransform)
-{
- if (m_sublayerTransform == sublayerTransform)
- return;
- m_sublayerTransform = sublayerTransform;
- setNeedsCommit();
+
+void Layer::SetBackgroundFilters(const WebKit::WebFilterOperations& filters) {
+ if (background_filters_ == filters)
+ return;
+ background_filters_ = filters;
+ SetNeedsCommit();
+ if (!filters.isEmpty() && layer_tree_host_)
+ layer_tree_host_->setNeedsFilterContext();
}
-void Layer::setTransform(const gfx::Transform& transform)
-{
- if (m_transform == transform)
- return;
- m_transform = transform;
- setNeedsCommit();
+void Layer::SetOpacity(float opacity) {
+ if (opacity_ == opacity)
+ return;
+ opacity_ = opacity;
+ SetNeedsCommit();
}
-const gfx::Transform& Layer::transform() const
-{
- return m_transform;
+bool Layer::OpacityIsAnimating() const {
+ return layer_animation_controller_->IsAnimatingProperty(Animation::Opacity);
}
-bool Layer::transformIsAnimating() const
-{
- return m_layerAnimationController->IsAnimatingProperty(Animation::Transform);
+void Layer::SetContentsOpaque(bool opaque) {
+ if (contents_opaque_ == opaque)
+ return;
+ contents_opaque_ = opaque;
+ SetNeedsCommit();
}
-void Layer::setScrollOffset(gfx::Vector2d scrollOffset)
-{
- if (m_scrollOffset == scrollOffset)
- return;
- m_scrollOffset = scrollOffset;
- if (m_layerScrollClient)
- m_layerScrollClient->didScroll();
- setNeedsCommit();
+void Layer::SetPosition(gfx::PointF position) {
+ if (position_ == position)
+ return;
+ position_ = position;
+ SetNeedsCommit();
}
-void Layer::setMaxScrollOffset(gfx::Vector2d maxScrollOffset)
-{
- if (m_maxScrollOffset == maxScrollOffset)
- return;
- m_maxScrollOffset = maxScrollOffset;
- setNeedsCommit();
+void Layer::SetSublayerTransform(const gfx::Transform& sublayer_transform) {
+ if (sublayer_transform_ == sublayer_transform)
+ return;
+ sublayer_transform_ = sublayer_transform;
+ SetNeedsCommit();
}
-void Layer::setScrollable(bool scrollable)
-{
- if (m_scrollable == scrollable)
- return;
- m_scrollable = scrollable;
- setNeedsCommit();
+void Layer::SetTransform(const gfx::Transform& transform) {
+ if (transform_ == transform)
+ return;
+ transform_ = transform;
+ SetNeedsCommit();
}
-void Layer::setShouldScrollOnMainThread(bool shouldScrollOnMainThread)
-{
- if (m_shouldScrollOnMainThread == shouldScrollOnMainThread)
- return;
- m_shouldScrollOnMainThread = shouldScrollOnMainThread;
- setNeedsCommit();
+bool Layer::TransformIsAnimating() const {
+ return layer_animation_controller_->IsAnimatingProperty(Animation::Transform);
}
-void Layer::setHaveWheelEventHandlers(bool haveWheelEventHandlers)
-{
- if (m_haveWheelEventHandlers == haveWheelEventHandlers)
- return;
- m_haveWheelEventHandlers = haveWheelEventHandlers;
- setNeedsCommit();
+void Layer::SetScrollOffset(gfx::Vector2d scroll_offset) {
+ if (scroll_offset_ == scroll_offset)
+ return;
+ scroll_offset_ = scroll_offset;
+ if (layer_scroll_client_)
+ layer_scroll_client_->didScroll();
+ SetNeedsCommit();
}
-void Layer::setNonFastScrollableRegion(const Region& region)
-{
- if (m_nonFastScrollableRegion == region)
- return;
- m_nonFastScrollableRegion = region;
- setNeedsCommit();
+void Layer::SetMaxScrollOffset(gfx::Vector2d max_scroll_offset) {
+ if (max_scroll_offset_ == max_scroll_offset)
+ return;
+ max_scroll_offset_ = max_scroll_offset;
+ SetNeedsCommit();
}
-void Layer::setTouchEventHandlerRegion(const Region& region)
-{
- if (m_touchEventHandlerRegion == region)
- return;
- m_touchEventHandlerRegion = region;
+void Layer::SetScrollable(bool scrollable) {
+ if (scrollable_ == scrollable)
+ return;
+ scrollable_ = scrollable;
+ SetNeedsCommit();
}
-void Layer::setDrawCheckerboardForMissingTiles(bool checkerboard)
-{
- if (m_drawCheckerboardForMissingTiles == checkerboard)
- return;
- m_drawCheckerboardForMissingTiles = checkerboard;
- setNeedsCommit();
+void Layer::SetShouldScrollOnMainThread(bool should_scroll_on_main_thread) {
+ if (should_scroll_on_main_thread_ == should_scroll_on_main_thread)
+ return;
+ should_scroll_on_main_thread_ = should_scroll_on_main_thread;
+ SetNeedsCommit();
}
-void Layer::setForceRenderSurface(bool force)
-{
- if (m_forceRenderSurface == force)
- return;
- m_forceRenderSurface = force;
- setNeedsCommit();
+void Layer::SetHaveWheelEventHandlers(bool have_wheel_event_handlers) {
+ if (have_wheel_event_handlers_ == have_wheel_event_handlers)
+ return;
+ have_wheel_event_handlers_ = have_wheel_event_handlers;
+ SetNeedsCommit();
}
-void Layer::setImplTransform(const gfx::Transform& transform)
-{
- if (m_implTransform == transform)
- return;
- m_implTransform = transform;
- setNeedsCommit();
+void Layer::SetNonFastScrollableRegion(const Region& region) {
+ if (non_fast_scrollable_region_ == region)
+ return;
+ non_fast_scrollable_region_ = region;
+ SetNeedsCommit();
}
-void Layer::setDoubleSided(bool doubleSided)
-{
- if (m_doubleSided == doubleSided)
- return;
- m_doubleSided = doubleSided;
- setNeedsCommit();
+void Layer::SetTouchEventHandlerRegion(const Region& region) {
+ if (touch_event_handler_region_ == region)
+ return;
+ touch_event_handler_region_ = region;
}
-void Layer::setIsDrawable(bool isDrawable)
-{
- if (m_isDrawable == isDrawable)
- return;
-
- m_isDrawable = isDrawable;
- setNeedsCommit();
+void Layer::SetDrawCheckerboardForMissingTiles(bool checkerboard) {
+ if (draw_checkerboard_for_missing_tiles_ == checkerboard)
+ return;
+ draw_checkerboard_for_missing_tiles_ = checkerboard;
+ SetNeedsCommit();
}
-void Layer::setNeedsDisplayRect(const gfx::RectF& dirtyRect)
-{
- m_updateRect.Union(dirtyRect);
- m_needsDisplay = true;
-
- // Simply mark the contents as dirty. For non-root layers, the call to
- // setNeedsCommit will schedule a fresh compositing pass.
- // For the root layer, setNeedsCommit has no effect.
- if (drawsContent() && !m_updateRect.IsEmpty())
- setNeedsCommit();
+void Layer::SetForceRenderSurface(bool force) {
+ if (force_render_surface_ == force)
+ return;
+ force_render_surface_ = force;
+ SetNeedsCommit();
}
-bool Layer::descendantIsFixedToContainerLayer() const
-{
- for (size_t i = 0; i < m_children.size(); ++i) {
- if (m_children[i]->fixedToContainerLayer() || m_children[i]->descendantIsFixedToContainerLayer())
- return true;
- }
- return false;
-}
-
-void Layer::setIsContainerForFixedPositionLayers(bool isContainerForFixedPositionLayers)
-{
- if (m_isContainerForFixedPositionLayers == isContainerForFixedPositionLayers)
- return;
- m_isContainerForFixedPositionLayers = isContainerForFixedPositionLayers;
-
- if (m_layerTreeHost && m_layerTreeHost->commitRequested())
- return;
-
- // Only request a commit if we have a fixed positioned descendant.
- if (descendantIsFixedToContainerLayer())
- setNeedsCommit();
-}
-
-void Layer::setFixedToContainerLayer(bool fixedToContainerLayer)
-{
- if (m_fixedToContainerLayer == fixedToContainerLayer)
- return;
- m_fixedToContainerLayer = fixedToContainerLayer;
- setNeedsCommit();
-}
-
-void Layer::pushPropertiesTo(LayerImpl* layer)
-{
- layer->setAnchorPoint(m_anchorPoint);
- layer->setAnchorPointZ(m_anchorPointZ);
- layer->setBackgroundColor(m_backgroundColor);
- layer->setBounds(m_bounds);
- layer->setContentBounds(contentBounds());
- layer->setContentsScale(contentsScaleX(), contentsScaleY());
- layer->setDebugName(m_debugName);
- layer->setDoubleSided(m_doubleSided);
- layer->setDrawCheckerboardForMissingTiles(m_drawCheckerboardForMissingTiles);
- layer->setForceRenderSurface(m_forceRenderSurface);
- layer->setDrawsContent(drawsContent());
- layer->setFilters(filters());
- layer->setFilter(filter());
- layer->setBackgroundFilters(backgroundFilters());
- layer->setMasksToBounds(m_masksToBounds);
- layer->setShouldScrollOnMainThread(m_shouldScrollOnMainThread);
- layer->setHaveWheelEventHandlers(m_haveWheelEventHandlers);
- layer->setNonFastScrollableRegion(m_nonFastScrollableRegion);
- layer->setTouchEventHandlerRegion(m_touchEventHandlerRegion);
- layer->setContentsOpaque(m_contentsOpaque);
- if (!opacityIsAnimating())
- layer->setOpacity(m_opacity);
- layer->setPosition(m_position);
- layer->setIsContainerForFixedPositionLayers(m_isContainerForFixedPositionLayers);
- layer->setFixedToContainerLayer(m_fixedToContainerLayer);
- layer->setPreserves3D(preserves3D());
- layer->setUseParentBackfaceVisibility(m_useParentBackfaceVisibility);
- layer->setSublayerTransform(m_sublayerTransform);
- if (!transformIsAnimating())
- layer->setTransform(m_transform);
-
- layer->setScrollable(m_scrollable);
- layer->setScrollOffset(m_scrollOffset);
- layer->setMaxScrollOffset(m_maxScrollOffset);
-
- // If the main thread commits multiple times before the impl thread actually draws, then damage tracking
- // will become incorrect if we simply clobber the updateRect here. The LayerImpl's updateRect needs to
- // accumulate (i.e. union) any update changes that have occurred on the main thread.
- m_updateRect.Union(layer->updateRect());
- layer->setUpdateRect(m_updateRect);
-
- if (layer->layerTreeImpl()->settings().implSidePainting) {
- DCHECK(layer->layerTreeImpl()->IsPendingTree());
- LayerImpl* active_twin = layer->layerTreeImpl()->FindActiveTreeLayerById(id());
- // Update the scroll delta from the active layer, which may have
- // adjusted its scroll delta prior to this pending layer being created.
- // This code is identical to that in LayerImpl::setScrollDelta.
- if (active_twin) {
- DCHECK(layer->sentScrollDelta().IsZero());
- layer->setScrollDelta(active_twin->scrollDelta() - active_twin->sentScrollDelta());
- }
- } else {
- layer->setScrollDelta(layer->scrollDelta() - layer->sentScrollDelta());
- layer->setSentScrollDelta(gfx::Vector2d());
+void Layer::SetImplTransform(const gfx::Transform& transform) {
+ if (impl_transform_ == transform)
+ return;
+ impl_transform_ = transform;
+ SetNeedsCommit();
+}
+
+void Layer::SetDoubleSided(bool double_sided) {
+ if (double_sided_ == double_sided)
+ return;
+ double_sided_ = double_sided;
+ SetNeedsCommit();
+}
+
+void Layer::SetIsDrawable(bool is_drawable) {
+ if (is_drawable_ == is_drawable)
+ return;
+
+ is_drawable_ = is_drawable;
+ SetNeedsCommit();
+}
+
+void Layer::SetNeedsDisplayRect(const gfx::RectF& dirty_rect) {
+ update_rect_.Union(dirty_rect);
+ needs_display_ = true;
+
+ // Simply mark the contents as dirty. For non-root layers, the call to
+ // setNeedsCommit will schedule a fresh compositing pass.
+ // For the root layer, setNeedsCommit has no effect.
+ if (DrawsContent() && !update_rect_.IsEmpty())
+ SetNeedsCommit();
+}
+
+bool Layer::DescendantIsFixedToContainerLayer() const {
+ for (size_t i = 0; i < children_.size(); ++i) {
+ if (children_[i]->fixed_to_container_layer() ||
+ children_[i]->DescendantIsFixedToContainerLayer())
+ return true;
+ }
+ return false;
+}
+
+void Layer::SetIsContainerForFixedPositionLayers(bool container) {
+ if (is_container_for_fixed_position_layers_ == container)
+ return;
+ is_container_for_fixed_position_layers_ = container;
+
+ if (layer_tree_host_ && layer_tree_host_->commitRequested())
+ return;
+
+ // Only request a commit if we have a fixed positioned descendant.
+ if (DescendantIsFixedToContainerLayer())
+ SetNeedsCommit();
+}
+
+void Layer::SetFixedToContainerLayer(bool fixed_to_container_layer) {
+ if (fixed_to_container_layer_ == fixed_to_container_layer)
+ return;
+ fixed_to_container_layer_ = fixed_to_container_layer;
+ SetNeedsCommit();
+}
+
+void Layer::PushPropertiesTo(LayerImpl* layer) {
+ layer->SetAnchorPoint(anchor_point_);
+ layer->SetAnchorPointZ(anchor_point_z_);
+ layer->SetBackgroundColor(background_color_);
+ layer->SetBounds(bounds_);
+ layer->SetContentBounds(content_bounds());
+ layer->SetContentsScale(contents_scale_x(), contents_scale_y());
+ layer->SetDebugName(debug_name_);
+ layer->SetDoubleSided(double_sided_);
+ layer->SetDrawCheckerboardForMissingTiles(
+ draw_checkerboard_for_missing_tiles_);
+ layer->SetForceRenderSurface(force_render_surface_);
+ layer->SetDrawsContent(DrawsContent());
+ layer->SetFilters(filters());
+ layer->SetFilter(filter());
+ layer->SetBackgroundFilters(background_filters());
+ layer->SetMasksToBounds(masks_to_bounds_);
+ layer->SetShouldScrollOnMainThread(should_scroll_on_main_thread_);
+ layer->SetHaveWheelEventHandlers(have_wheel_event_handlers_);
+ layer->SetNonFastScrollableRegion(non_fast_scrollable_region_);
+ layer->SetTouchEventHandlerRegion(touch_event_handler_region_);
+ layer->SetContentsOpaque(contents_opaque_);
+ if (!OpacityIsAnimating())
+ layer->SetOpacity(opacity_);
+ layer->SetPosition(position_);
+ layer->SetIsContainerForFixedPositionLayers(
+ is_container_for_fixed_position_layers_);
+ layer->SetFixedToContainerLayer(fixed_to_container_layer_);
+ layer->SetPreserves3d(preserves_3d());
+ layer->SetUseParentBackfaceVisibility(use_parent_backface_visibility_);
+ layer->SetSublayerTransform(sublayer_transform_);
+ if (!TransformIsAnimating())
+ layer->SetTransform(transform_);
+
+ layer->SetScrollable(scrollable_);
+ layer->SetScrollOffset(scroll_offset_);
+ layer->SetMaxScrollOffset(max_scroll_offset_);
+
+ // If the main thread commits multiple times before the impl thread actually
+ // draws, then damage tracking will become incorrect if we simply clobber the
+ // updateRect here. The LayerImpl's updateRect needs to accumulate (i.e.
+ // union) any update changes that have occurred on the main thread.
+ update_rect_.Union(layer->update_rect());
+ layer->set_update_rect(update_rect_);
+
+ if (layer->layer_tree_impl()->settings().implSidePainting) {
+ DCHECK(layer->layer_tree_impl()->IsPendingTree());
+ LayerImpl* active_twin =
+ layer->layer_tree_impl()->FindActiveTreeLayerById(id());
+ // Update the scroll delta from the active layer, which may have
+ // adjusted its scroll delta prior to this pending layer being created.
+ // This code is identical to that in LayerImpl::setScrollDelta.
+ if (active_twin) {
+ DCHECK(layer->sent_scroll_delta().IsZero());
+ layer->SetScrollDelta(active_twin->scroll_delta() -
+ active_twin->sent_scroll_delta());
}
+ } else {
+ layer->SetScrollDelta(layer->scroll_delta() - layer->sent_scroll_delta());
+ layer->SetSentScrollDelta(gfx::Vector2d());
+ }
- layer->setStackingOrderChanged(m_stackingOrderChanged);
+ layer->SetStackingOrderChanged(stacking_order_changed_);
- m_layerAnimationController->PushAnimationUpdatesTo(layer->layerAnimationController());
+ layer_animation_controller_->PushAnimationUpdatesTo(
+ layer->layer_animation_controller());
- // Reset any state that should be cleared for the next update.
- m_stackingOrderChanged = false;
- m_updateRect = gfx::RectF();
+ // Reset any state that should be cleared for the next update.
+ stacking_order_changed_ = false;
+ update_rect_ = gfx::RectF();
}
-scoped_ptr<LayerImpl> Layer::createLayerImpl(LayerTreeImpl* treeImpl)
-{
- return LayerImpl::create(treeImpl, m_layerId);
+scoped_ptr<LayerImpl> Layer::CreateLayerImpl(LayerTreeImpl* tree_impl) {
+ return LayerImpl::Create(tree_impl, layer_id_);
}
-bool Layer::drawsContent() const
-{
- return m_isDrawable;
+bool Layer::DrawsContent() const {
+ return is_drawable_;
}
-bool Layer::needMoreUpdates()
-{
- return false;
+bool Layer::NeedMoreUpdates() {
+ return false;
}
-void Layer::setDebugName(const std::string& debugName)
-{
- m_debugName = debugName;
- setNeedsCommit();
+void Layer::SetDebugName(const std::string& debug_name) {
+ debug_name_ = debug_name;
+ SetNeedsCommit();
}
-void Layer::setRasterScale(float scale)
-{
- if (m_rasterScale == scale)
- return;
- m_rasterScale = scale;
+void Layer::SetRasterScale(float scale) {
+ if (raster_scale_ == scale)
+ return;
+ raster_scale_ = scale;
- // When automatically computed, this acts like a draw property.
- if (m_automaticallyComputeRasterScale)
- return;
- setNeedsDisplay();
+ // When automatically computed, this acts like a draw property.
+ if (automatically_compute_raster_scale_)
+ return;
+ SetNeedsDisplay();
}
-void Layer::setAutomaticallyComputeRasterScale(bool automatic)
-{
- if (m_automaticallyComputeRasterScale == automatic)
- return;
- m_automaticallyComputeRasterScale = automatic;
+void Layer::SetAutomaticallyComputeRasterScale(bool automatic) {
+ if (automatically_compute_raster_scale_ == automatic)
+ return;
+ automatically_compute_raster_scale_ = automatic;
- if (m_automaticallyComputeRasterScale)
- forceAutomaticRasterScaleToBeRecomputed();
- else
- setRasterScale(1);
+ if (automatically_compute_raster_scale_)
+ ForceAutomaticRasterScaleToBeRecomputed();
+ else
+ SetRasterScale(1);
}
-void Layer::forceAutomaticRasterScaleToBeRecomputed()
-{
- if (!m_automaticallyComputeRasterScale)
- return;
- if (!m_rasterScale)
- return;
- m_rasterScale = 0;
- setNeedsCommit();
+void Layer::ForceAutomaticRasterScaleToBeRecomputed() {
+ if (!automatically_compute_raster_scale_)
+ return;
+ if (!raster_scale_)
+ return;
+ raster_scale_ = 0.f;
+ SetNeedsCommit();
}
-void Layer::setBoundsContainPageScale(bool boundsContainPageScale)
-{
- for (size_t i = 0; i < m_children.size(); ++i)
- m_children[i]->setBoundsContainPageScale(boundsContainPageScale);
+void Layer::SetBoundsContainPageScale(bool bounds_contain_page_scale) {
+ for (size_t i = 0; i < children_.size(); ++i)
+ children_[i]->SetBoundsContainPageScale(bounds_contain_page_scale);
- if (boundsContainPageScale == m_boundsContainPageScale)
- return;
+ if (bounds_contain_page_scale == bounds_contain_page_scale_)
+ return;
- m_boundsContainPageScale = boundsContainPageScale;
- setNeedsDisplay();
+ bounds_contain_page_scale_ = bounds_contain_page_scale;
+ SetNeedsDisplay();
}
-void Layer::createRenderSurface()
-{
- DCHECK(!m_drawProperties.render_surface);
- m_drawProperties.render_surface = make_scoped_ptr(new RenderSurface(this));
- m_drawProperties.render_target = this;
+void Layer::CreateRenderSurface() {
+ DCHECK(!draw_properties_.render_surface);
+ draw_properties_.render_surface = make_scoped_ptr(new RenderSurface(this));
+ draw_properties_.render_target = this;
}
-int Layer::id() const
-{
- return m_layerId;
+void Layer::OnOpacityAnimated(float opacity) {
+ // This is called due to an ongoing accelerated animation. Since this
+ // animation is also being run on the impl thread, there is no need to request
+ // a commit to push this value over, so set the value directly rather than
+ // calling setOpacity.
+ opacity_ = opacity;
}
-void Layer::OnOpacityAnimated(float opacity)
-{
- // This is called due to an ongoing accelerated animation. Since this animation is
- // also being run on the impl thread, there is no need to request a commit to push
- // this value over, so set the value directly rather than calling setOpacity.
- m_opacity = opacity;
+void Layer::OnTransformAnimated(const gfx::Transform& transform) {
+ // This is called due to an ongoing accelerated animation. Since this
+ // animation is also being run on the impl thread, there is no need to request
+ // a commit to push this value over, so set this value directly rather than
+ // calling setTransform.
+ transform_ = transform;
}
-void Layer::OnTransformAnimated(const gfx::Transform& transform)
-{
- // This is called due to an ongoing accelerated animation. Since this animation is
- // also being run on the impl thread, there is no need to request a commit to push
- // this value over, so set this value directly rather than calling setTransform.
- m_transform = transform;
+bool Layer::IsActive() const {
+ return true;
}
-bool Layer::IsActive() const
-{
- return true;
-}
-
-bool Layer::AddAnimation(scoped_ptr <Animation> animation)
-{
- if (!m_layerAnimationController->animation_registrar())
- return false;
-
- m_layerAnimationController->AddAnimation(animation.Pass());
- setNeedsCommit();
- return true;
-}
+bool Layer::AddAnimation(scoped_ptr <Animation> animation) {
+ if (!layer_animation_controller_->animation_registrar())
+ return false;
-void Layer::PauseAnimation(int animationId, double timeOffset)
-{
- m_layerAnimationController->PauseAnimation(animationId, timeOffset);
- setNeedsCommit();
+ layer_animation_controller_->AddAnimation(animation.Pass());
+ SetNeedsCommit();
+ return true;
}
-void Layer::RemoveAnimation(int animationId)
-{
- m_layerAnimationController->RemoveAnimation(animationId);
- setNeedsCommit();
+void Layer::PauseAnimation(int animation_id, double time_offset) {
+ layer_animation_controller_->PauseAnimation(animation_id, time_offset);
+ SetNeedsCommit();
}
-void Layer::suspendAnimations(double monotonicTime)
-{
- m_layerAnimationController->SuspendAnimations(monotonicTime);
- setNeedsCommit();
+void Layer::RemoveAnimation(int animation_id) {
+ layer_animation_controller_->RemoveAnimation(animation_id);
+ SetNeedsCommit();
}
-void Layer::resumeAnimations(double monotonicTime)
-{
- m_layerAnimationController->ResumeAnimations(monotonicTime);
- setNeedsCommit();
+void Layer::SuspendAnimations(double monotonic_time) {
+ layer_animation_controller_->SuspendAnimations(monotonic_time);
+ SetNeedsCommit();
}
-void Layer::setLayerAnimationController(scoped_refptr<LayerAnimationController> layerAnimationController)
-{
- removeLayerAnimationEventObserver(m_layerAnimationController.get());
- m_layerAnimationController->RemoveObserver(this);
- m_layerAnimationController = layerAnimationController;
- m_layerAnimationController->set_force_sync();
- m_layerAnimationController->AddObserver(this);
- addLayerAnimationEventObserver(m_layerAnimationController.get());
- setNeedsCommit();
+void Layer::ResumeAnimations(double monotonic_time) {
+ layer_animation_controller_->ResumeAnimations(monotonic_time);
+ SetNeedsCommit();
}
-scoped_refptr<LayerAnimationController> Layer::releaseLayerAnimationController()
-{
- m_layerAnimationController->RemoveObserver(this);
- scoped_refptr<LayerAnimationController> toReturn = m_layerAnimationController;
- m_layerAnimationController = LayerAnimationController::Create(id());
- m_layerAnimationController->AddObserver(this);
- m_layerAnimationController->SetAnimationRegistrar(toReturn->animation_registrar());
- return toReturn;
+void Layer::SetLayerAnimationController(
+ scoped_refptr<LayerAnimationController> controller) {
+ RemoveLayerAnimationEventObserver(layer_animation_controller_.get());
+ layer_animation_controller_->RemoveObserver(this);
+ layer_animation_controller_ = controller;
+ layer_animation_controller_->set_force_sync();
+ layer_animation_controller_->AddObserver(this);
+ AddLayerAnimationEventObserver(layer_animation_controller_.get());
+ SetNeedsCommit();
}
-bool Layer::hasActiveAnimation() const
-{
- return m_layerAnimationController->HasActiveAnimation();
+scoped_refptr<LayerAnimationController>
+Layer::ReleaseLayerAnimationController() {
+ layer_animation_controller_->RemoveObserver(this);
+ scoped_refptr<LayerAnimationController> to_return =
+ layer_animation_controller_;
+ layer_animation_controller_ = LayerAnimationController::Create(id());
+ layer_animation_controller_->AddObserver(this);
+ layer_animation_controller_->SetAnimationRegistrar(
+ to_return->animation_registrar());
+ return to_return;
}
-void Layer::notifyAnimationStarted(const AnimationEvent& event, double wallClockTime)
-{
- FOR_EACH_OBSERVER(LayerAnimationEventObserver, m_layerAnimationObservers,
- OnAnimationStarted(event));
- if (m_layerAnimationDelegate)
- m_layerAnimationDelegate->notifyAnimationStarted(wallClockTime);
+bool Layer::HasActiveAnimation() const {
+ return layer_animation_controller_->HasActiveAnimation();
}
-void Layer::notifyAnimationFinished(double wallClockTime)
-{
- if (m_layerAnimationDelegate)
- m_layerAnimationDelegate->notifyAnimationFinished(wallClockTime);
+void Layer::NotifyAnimationStarted(const AnimationEvent& event,
+ double wall_clock_time) {
+ FOR_EACH_OBSERVER(LayerAnimationEventObserver, layer_animation_observers_,
+ OnAnimationStarted(event));
+ if (layer_animation_delegate_)
+ layer_animation_delegate_->notifyAnimationStarted(wall_clock_time);
}
-void Layer::notifyAnimationPropertyUpdate(const AnimationEvent& event)
-{
- if (event.target_property == Animation::Opacity)
- setOpacity(event.opacity);
- else
- setTransform(event.transform);
+void Layer::NotifyAnimationFinished(double wall_clock_time) {
+ if (layer_animation_delegate_)
+ layer_animation_delegate_->notifyAnimationFinished(wall_clock_time);
}
-void Layer::addLayerAnimationEventObserver(LayerAnimationEventObserver* animationObserver)
-{
- if (!m_layerAnimationObservers.HasObserver(animationObserver))
- m_layerAnimationObservers.AddObserver(animationObserver);
+void Layer::NotifyAnimationPropertyUpdate(const AnimationEvent& event) {
+ if (event.target_property == Animation::Opacity)
+ SetOpacity(event.opacity);
+ else
+ SetTransform(event.transform);
}
-void Layer::removeLayerAnimationEventObserver(LayerAnimationEventObserver* animationObserver)
-{
- m_layerAnimationObservers.RemoveObserver(animationObserver);
+void Layer::AddLayerAnimationEventObserver(
+ LayerAnimationEventObserver* animation_observer) {
+ if (!layer_animation_observers_.HasObserver(animation_observer))
+ layer_animation_observers_.AddObserver(animation_observer);
}
-Region Layer::visibleContentOpaqueRegion() const
-{
- if (contentsOpaque())
- return visibleContentRect();
- return Region();
+void Layer::RemoveLayerAnimationEventObserver(
+ LayerAnimationEventObserver* animation_observer) {
+ layer_animation_observers_.RemoveObserver(animation_observer);
}
-ScrollbarLayer* Layer::toScrollbarLayer()
-{
- return 0;
+Region Layer::VisibleContentOpaqueRegion() const {
+ if (contents_opaque())
+ return visible_content_rect();
+ return Region();
}
-void sortLayers(std::vector<scoped_refptr<Layer> >::iterator, std::vector<scoped_refptr<Layer> >::iterator, void*)
-{
- // Currently we don't use z-order to decide what to paint, so there's no need to actually sort Layers.
+ScrollbarLayer* Layer::ToScrollbarLayer() {
+ return NULL;
}
} // namespace cc