Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: cc/layer_impl.cc

Issue 11598005: Ref count layer animation controllers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/layer_impl.h ('k') | cc/layer_tree_host.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/layer_impl.h" 5 #include "cc/layer_impl.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/stringprintf.h" 8 #include "base/stringprintf.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "cc/animation_registrar.h"
10 #include "cc/debug_border_draw_quad.h" 11 #include "cc/debug_border_draw_quad.h"
11 #include "cc/debug_colors.h" 12 #include "cc/debug_colors.h"
12 #include "cc/layer_tree_debug_state.h" 13 #include "cc/layer_tree_debug_state.h"
13 #include "cc/layer_tree_impl.h" 14 #include "cc/layer_tree_impl.h"
14 #include "cc/layer_tree_settings.h" 15 #include "cc/layer_tree_settings.h"
15 #include "cc/math_util.h" 16 #include "cc/math_util.h"
16 #include "cc/proxy.h" 17 #include "cc/proxy.h"
17 #include "cc/quad_sink.h" 18 #include "cc/quad_sink.h"
18 #include "cc/scrollbar_animation_controller.h" 19 #include "cc/scrollbar_animation_controller.h"
19 #include "ui/gfx/point_conversions.h" 20 #include "ui/gfx/point_conversions.h"
(...skipping 23 matching lines...) Expand all
43 , m_useParentBackfaceVisibility(false) 44 , m_useParentBackfaceVisibility(false)
44 , m_drawCheckerboardForMissingTiles(false) 45 , m_drawCheckerboardForMissingTiles(false)
45 , m_drawsContent(false) 46 , m_drawsContent(false)
46 , m_forceRenderSurface(false) 47 , m_forceRenderSurface(false)
47 , m_isContainerForFixedPositionLayers(false) 48 , m_isContainerForFixedPositionLayers(false)
48 , m_fixedToContainerLayer(false) 49 , m_fixedToContainerLayer(false)
49 , m_drawDepth(0) 50 , m_drawDepth(0)
50 #ifndef NDEBUG 51 #ifndef NDEBUG
51 , m_betweenWillDrawAndDidDraw(false) 52 , m_betweenWillDrawAndDidDraw(false)
52 #endif 53 #endif
53 , m_layerAnimationController(LayerAnimationController::create(this))
54 { 54 {
55 DCHECK(m_layerId > 0); 55 DCHECK(m_layerId > 0);
56 DCHECK(m_layerTreeImpl); 56 DCHECK(m_layerTreeImpl);
57 m_layerTreeImpl->RegisterLayer(this); 57 m_layerTreeImpl->RegisterLayer(this);
58 AnimationRegistrar* registrar = m_layerTreeImpl->animationRegistrar();
59 m_layerAnimationController = registrar->GetAnimationControllerForId(m_layerI d);
60 m_layerAnimationController->addObserver(this);
58 } 61 }
59 62
60 LayerImpl::~LayerImpl() 63 LayerImpl::~LayerImpl()
61 { 64 {
62 #ifndef NDEBUG 65 #ifndef NDEBUG
63 DCHECK(!m_betweenWillDrawAndDidDraw); 66 DCHECK(!m_betweenWillDrawAndDidDraw);
64 #endif 67 #endif
65 m_layerTreeImpl->UnregisterLayer(this); 68 m_layerTreeImpl->UnregisterLayer(this);
69 m_layerAnimationController->removeObserver(this);
66 } 70 }
67 71
68 void LayerImpl::addChild(scoped_ptr<LayerImpl> child) 72 void LayerImpl::addChild(scoped_ptr<LayerImpl> child)
69 { 73 {
70 child->setParent(this); 74 child->setParent(this);
71 DCHECK_EQ(layerTreeImpl(), child->layerTreeImpl()); 75 DCHECK_EQ(layerTreeImpl(), child->layerTreeImpl());
72 m_children.append(child.Pass()); 76 m_children.append(child.Pass());
73 layerTreeImpl()->SetNeedsUpdateDrawProperties(); 77 layerTreeImpl()->SetNeedsUpdateDrawProperties();
74 } 78 }
75 79
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 bool LayerImpl::layerIsAlwaysDamaged() const 456 bool LayerImpl::layerIsAlwaysDamaged() const
453 { 457 {
454 return false; 458 return false;
455 } 459 }
456 460
457 int LayerImpl::id() const 461 int LayerImpl::id() const
458 { 462 {
459 return m_layerId; 463 return m_layerId;
460 } 464 }
461 465
462 float LayerImpl::opacity() const 466 void LayerImpl::OnOpacityAnimated(float opacity)
463 {
464 return m_opacity;
465 }
466
467 void LayerImpl::setOpacityFromAnimation(float opacity)
468 { 467 {
469 setOpacity(opacity); 468 setOpacity(opacity);
470 } 469 }
471 470
472 const gfx::Transform& LayerImpl::transform() const 471 void LayerImpl::OnTransformAnimated(const gfx::Transform& transform)
473 {
474 return m_transform;
475 }
476
477 void LayerImpl::setTransformFromAnimation(const gfx::Transform& transform)
478 { 472 {
479 setTransform(transform); 473 setTransform(transform);
480 } 474 }
481 475
482 void LayerImpl::setBounds(const gfx::Size& bounds) 476 void LayerImpl::setBounds(const gfx::Size& bounds)
483 { 477 {
484 if (m_bounds == bounds) 478 if (m_bounds == bounds)
485 return; 479 return;
486 480
487 m_bounds = bounds; 481 m_bounds = bounds;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 613
620 void LayerImpl::setOpacity(float opacity) 614 void LayerImpl::setOpacity(float opacity)
621 { 615 {
622 if (m_opacity == opacity) 616 if (m_opacity == opacity)
623 return; 617 return;
624 618
625 m_opacity = opacity; 619 m_opacity = opacity;
626 noteLayerSurfacePropertyChanged(); 620 noteLayerSurfacePropertyChanged();
627 } 621 }
628 622
623 float LayerImpl::opacity() const
624 {
625 return m_opacity;
626 }
627
629 bool LayerImpl::opacityIsAnimating() const 628 bool LayerImpl::opacityIsAnimating() const
630 { 629 {
631 return m_layerAnimationController->isAnimatingProperty(ActiveAnimation::Opac ity); 630 return m_layerAnimationController->isAnimatingProperty(ActiveAnimation::Opac ity);
632 } 631 }
633 632
634 void LayerImpl::setPosition(const gfx::PointF& position) 633 void LayerImpl::setPosition(const gfx::PointF& position)
635 { 634 {
636 if (m_position == position) 635 if (m_position == position)
637 return; 636 return;
638 637
(...skipping 22 matching lines...) Expand all
661 660
662 void LayerImpl::setTransform(const gfx::Transform& transform) 661 void LayerImpl::setTransform(const gfx::Transform& transform)
663 { 662 {
664 if (m_transform == transform) 663 if (m_transform == transform)
665 return; 664 return;
666 665
667 m_transform = transform; 666 m_transform = transform;
668 noteLayerSurfacePropertyChanged(); 667 noteLayerSurfacePropertyChanged();
669 } 668 }
670 669
670 const gfx::Transform& LayerImpl::transform() const
671 {
672 return m_transform;
673 }
674
671 bool LayerImpl::transformIsAnimating() const 675 bool LayerImpl::transformIsAnimating() const
672 { 676 {
673 return m_layerAnimationController->isAnimatingProperty(ActiveAnimation::Tran sform); 677 return m_layerAnimationController->isAnimatingProperty(ActiveAnimation::Tran sform);
674 } 678 }
675 679
676 void LayerImpl::setContentBounds(const gfx::Size& contentBounds) 680 void LayerImpl::setContentBounds(const gfx::Size& contentBounds)
677 { 681 {
678 if (this->contentBounds() == contentBounds) 682 if (this->contentBounds() == contentBounds)
679 return; 683 return;
680 684
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 786
783 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer) 787 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer)
784 { 788 {
785 if (!m_scrollbarAnimationController) 789 if (!m_scrollbarAnimationController)
786 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is); 790 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is);
787 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer); 791 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer);
788 m_scrollbarAnimationController->updateScrollOffset(this); 792 m_scrollbarAnimationController->updateScrollOffset(this);
789 } 793 }
790 794
791 } // namespace cc 795 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layer_impl.h ('k') | cc/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698