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

Side by Side Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 12760011: cc: Chromify LayerTreeHostCommon (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months 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
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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 ASSERT_EQ(layer->scroll_delta(), gfx::Vector2d()); 134 ASSERT_EQ(layer->scroll_delta(), gfx::Vector2d());
135 for (size_t i = 0; i < layer->children().size(); ++i) 135 for (size_t i = 0; i < layer->children().size(); ++i)
136 expectClearedScrollDeltasRecursive(layer->children()[i]); 136 expectClearedScrollDeltasRecursive(layer->children()[i]);
137 } 137 }
138 138
139 static void expectContains(const ScrollAndScaleSet& scrollInfo, int id, cons t gfx::Vector2d& scrollDelta) 139 static void expectContains(const ScrollAndScaleSet& scrollInfo, int id, cons t gfx::Vector2d& scrollDelta)
140 { 140 {
141 int timesEncountered = 0; 141 int timesEncountered = 0;
142 142
143 for (size_t i = 0; i < scrollInfo.scrolls.size(); ++i) { 143 for (size_t i = 0; i < scrollInfo.scrolls.size(); ++i) {
144 if (scrollInfo.scrolls[i].layerId != id) 144 if (scrollInfo.scrolls[i].layer_id != id)
145 continue; 145 continue;
146 EXPECT_VECTOR_EQ(scrollDelta, scrollInfo.scrolls[i].scrollDelta); 146 EXPECT_VECTOR_EQ(scrollDelta, scrollInfo.scrolls[i].scroll_delta);
147 timesEncountered++; 147 timesEncountered++;
148 } 148 }
149 149
150 ASSERT_EQ(timesEncountered, 1); 150 ASSERT_EQ(timesEncountered, 1);
151 } 151 }
152 152
153 static void expectNone(const ScrollAndScaleSet& scrollInfo, int id) 153 static void expectNone(const ScrollAndScaleSet& scrollInfo, int id)
154 { 154 {
155 int timesEncountered = 0; 155 int timesEncountered = 0;
156 156
157 for (size_t i = 0; i < scrollInfo.scrolls.size(); ++i) { 157 for (size_t i = 0; i < scrollInfo.scrolls.size(); ++i) {
158 if (scrollInfo.scrolls[i].layerId != id) 158 if (scrollInfo.scrolls[i].layer_id != id)
159 continue; 159 continue;
160 timesEncountered++; 160 timesEncountered++;
161 } 161 }
162 162
163 ASSERT_EQ(0, timesEncountered); 163 ASSERT_EQ(0, timesEncountered);
164 } 164 }
165 165
166 void setupScrollAndContentsLayers(const gfx::Size& contentSize) 166 void setupScrollAndContentsLayers(const gfx::Size& contentSize)
167 { 167 {
168 scoped_ptr<LayerImpl> root = LayerImpl::Create(m_hostImpl->active_tree() , 1); 168 scoped_ptr<LayerImpl> root = LayerImpl::Create(m_hostImpl->active_tree() , 1);
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 scrollLayer->SetScrollDelta(gfx::Vector2d()); 574 scrollLayer->SetScrollDelta(gfx::Vector2d());
575 575
576 float pageScaleDelta = 2; 576 float pageScaleDelta = 2;
577 m_hostImpl->PinchGestureBegin(); 577 m_hostImpl->PinchGestureBegin();
578 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50)); 578 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50));
579 m_hostImpl->PinchGestureEnd(); 579 m_hostImpl->PinchGestureEnd();
580 EXPECT_TRUE(m_didRequestRedraw); 580 EXPECT_TRUE(m_didRequestRedraw);
581 EXPECT_TRUE(m_didRequestCommit); 581 EXPECT_TRUE(m_didRequestCommit);
582 582
583 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 583 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
584 EXPECT_EQ(scrollInfo->pageScaleDelta, pageScaleDelta); 584 EXPECT_EQ(scrollInfo->page_scale_delta, pageScaleDelta);
585 585
586 EXPECT_EQ(gfx::Vector2d(75, 75), m_hostImpl->active_tree()->root_layer() ->max_scroll_offset()); 586 EXPECT_EQ(gfx::Vector2d(75, 75), m_hostImpl->active_tree()->root_layer() ->max_scroll_offset());
587 } 587 }
588 588
589 // Scrolling after a pinch gesture should always be in local space. The scr oll deltas do not 589 // Scrolling after a pinch gesture should always be in local space. The scr oll deltas do not
590 // have the page scale factor applied. 590 // have the page scale factor applied.
591 { 591 {
592 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 592 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
593 m_hostImpl->active_tree()->SetPageScaleDelta(1); 593 m_hostImpl->active_tree()->SetPageScaleDelta(1);
594 scrollLayer->SetImplTransform(identityScaleTransform); 594 scrollLayer->SetImplTransform(identityScaleTransform);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 scrollLayer->SetScrollDelta(gfx::Vector2d()); 629 scrollLayer->SetScrollDelta(gfx::Vector2d());
630 630
631 float pageScaleDelta = 2; 631 float pageScaleDelta = 2;
632 m_hostImpl->PinchGestureBegin(); 632 m_hostImpl->PinchGestureBegin();
633 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50)); 633 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50));
634 m_hostImpl->PinchGestureEnd(); 634 m_hostImpl->PinchGestureEnd();
635 EXPECT_TRUE(m_didRequestRedraw); 635 EXPECT_TRUE(m_didRequestRedraw);
636 EXPECT_TRUE(m_didRequestCommit); 636 EXPECT_TRUE(m_didRequestCommit);
637 637
638 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 638 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
639 EXPECT_EQ(scrollInfo->pageScaleDelta, pageScaleDelta); 639 EXPECT_EQ(scrollInfo->page_scale_delta, pageScaleDelta);
640 } 640 }
641 641
642 // Zoom-in clamping 642 // Zoom-in clamping
643 { 643 {
644 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 644 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
645 scrollLayer->SetImplTransform(identityScaleTransform); 645 scrollLayer->SetImplTransform(identityScaleTransform);
646 scrollLayer->SetScrollDelta(gfx::Vector2d()); 646 scrollLayer->SetScrollDelta(gfx::Vector2d());
647 float pageScaleDelta = 10; 647 float pageScaleDelta = 10;
648 648
649 m_hostImpl->PinchGestureBegin(); 649 m_hostImpl->PinchGestureBegin();
650 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50)); 650 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(50, 50));
651 m_hostImpl->PinchGestureEnd(); 651 m_hostImpl->PinchGestureEnd();
652 652
653 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 653 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
654 EXPECT_EQ(scrollInfo->pageScaleDelta, maxPageScale); 654 EXPECT_EQ(scrollInfo->page_scale_delta, maxPageScale);
655 } 655 }
656 656
657 // Zoom-out clamping 657 // Zoom-out clamping
658 { 658 {
659 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 659 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
660 scrollLayer->SetImplTransform(identityScaleTransform); 660 scrollLayer->SetImplTransform(identityScaleTransform);
661 scrollLayer->SetScrollDelta(gfx::Vector2d()); 661 scrollLayer->SetScrollDelta(gfx::Vector2d());
662 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50)); 662 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50));
663 663
664 float pageScaleDelta = 0.1f; 664 float pageScaleDelta = 0.1f;
665 m_hostImpl->PinchGestureBegin(); 665 m_hostImpl->PinchGestureBegin();
666 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(0, 0)); 666 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(0, 0));
667 m_hostImpl->PinchGestureEnd(); 667 m_hostImpl->PinchGestureEnd();
668 668
669 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 669 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
670 EXPECT_EQ(scrollInfo->pageScaleDelta, minPageScale); 670 EXPECT_EQ(scrollInfo->page_scale_delta, minPageScale);
671 671
672 EXPECT_TRUE(scrollInfo->scrolls.empty()); 672 EXPECT_TRUE(scrollInfo->scrolls.empty());
673 } 673 }
674 674
675 // Two-finger panning should not happen based on pinch events only 675 // Two-finger panning should not happen based on pinch events only
676 { 676 {
677 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 677 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
678 scrollLayer->SetImplTransform(identityScaleTransform); 678 scrollLayer->SetImplTransform(identityScaleTransform);
679 scrollLayer->SetScrollDelta(gfx::Vector2d()); 679 scrollLayer->SetScrollDelta(gfx::Vector2d());
680 scrollLayer->SetScrollOffset(gfx::Vector2d(20, 20)); 680 scrollLayer->SetScrollOffset(gfx::Vector2d(20, 20));
681 681
682 float pageScaleDelta = 1; 682 float pageScaleDelta = 1;
683 m_hostImpl->PinchGestureBegin(); 683 m_hostImpl->PinchGestureBegin();
684 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(10, 10)); 684 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(10, 10));
685 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(20, 20)); 685 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(20, 20));
686 m_hostImpl->PinchGestureEnd(); 686 m_hostImpl->PinchGestureEnd();
687 687
688 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 688 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
689 EXPECT_EQ(scrollInfo->pageScaleDelta, pageScaleDelta); 689 EXPECT_EQ(scrollInfo->page_scale_delta, pageScaleDelta);
690 EXPECT_TRUE(scrollInfo->scrolls.empty()); 690 EXPECT_TRUE(scrollInfo->scrolls.empty());
691 } 691 }
692 692
693 // Two-finger panning should work with interleaved scroll events 693 // Two-finger panning should work with interleaved scroll events
694 { 694 {
695 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 695 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
696 scrollLayer->SetImplTransform(identityScaleTransform); 696 scrollLayer->SetImplTransform(identityScaleTransform);
697 scrollLayer->SetScrollDelta(gfx::Vector2d()); 697 scrollLayer->SetScrollDelta(gfx::Vector2d());
698 scrollLayer->SetScrollOffset(gfx::Vector2d(20, 20)); 698 scrollLayer->SetScrollOffset(gfx::Vector2d(20, 20));
699 699
700 float pageScaleDelta = 1; 700 float pageScaleDelta = 1;
701 m_hostImpl->ScrollBegin(gfx::Point(10, 10), InputHandlerClient::Wheel); 701 m_hostImpl->ScrollBegin(gfx::Point(10, 10), InputHandlerClient::Wheel);
702 m_hostImpl->PinchGestureBegin(); 702 m_hostImpl->PinchGestureBegin();
703 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(10, 10)); 703 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(10, 10));
704 m_hostImpl->ScrollBy(gfx::Point(10, 10), gfx::Vector2d(-10, -10)); 704 m_hostImpl->ScrollBy(gfx::Point(10, 10), gfx::Vector2d(-10, -10));
705 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(20, 20)); 705 m_hostImpl->PinchGestureUpdate(pageScaleDelta, gfx::Point(20, 20));
706 m_hostImpl->PinchGestureEnd(); 706 m_hostImpl->PinchGestureEnd();
707 m_hostImpl->ScrollEnd(); 707 m_hostImpl->ScrollEnd();
708 708
709 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 709 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
710 EXPECT_EQ(scrollInfo->pageScaleDelta, pageScaleDelta); 710 EXPECT_EQ(scrollInfo->page_scale_delta, pageScaleDelta);
711 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-10, -10)); 711 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-10, -10));
712 } 712 }
713 } 713 }
714 714
715 TEST_F(LayerTreeHostImplTest, pageScaleAnimation) 715 TEST_F(LayerTreeHostImplTest, pageScaleAnimation)
716 { 716 {
717 setupScrollAndContentsLayers(gfx::Size(100, 100)); 717 setupScrollAndContentsLayers(gfx::Size(100, 100));
718 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); 718 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50));
719 initializeRendererAndDrawFrame(); 719 initializeRendererAndDrawFrame();
720 720
(...skipping 14 matching lines...) Expand all
735 scrollLayer->SetImplTransform(identityScaleTransform); 735 scrollLayer->SetImplTransform(identityScaleTransform);
736 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50)); 736 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50));
737 737
738 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(0, 0), false, 2, start Time, duration); 738 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(0, 0), false, 2, start Time, duration);
739 m_hostImpl->Animate(halfwayThroughAnimation, base::Time()); 739 m_hostImpl->Animate(halfwayThroughAnimation, base::Time());
740 EXPECT_TRUE(m_didRequestRedraw); 740 EXPECT_TRUE(m_didRequestRedraw);
741 m_hostImpl->Animate(endTime, base::Time()); 741 m_hostImpl->Animate(endTime, base::Time());
742 EXPECT_TRUE(m_didRequestCommit); 742 EXPECT_TRUE(m_didRequestCommit);
743 743
744 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 744 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
745 EXPECT_EQ(scrollInfo->pageScaleDelta, 2); 745 EXPECT_EQ(scrollInfo->page_scale_delta, 2);
746 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-50, -50)); 746 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-50, -50));
747 } 747 }
748 748
749 // Anchor zoom-out 749 // Anchor zoom-out
750 { 750 {
751 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale); 751 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1, minPageScale, maxPageScale);
752 scrollLayer->SetImplTransform(identityScaleTransform); 752 scrollLayer->SetImplTransform(identityScaleTransform);
753 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50)); 753 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50));
754 754
755 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(25, 25), true, minPage Scale, startTime, duration); 755 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(25, 25), true, minPage Scale, startTime, duration);
756 m_hostImpl->Animate(endTime, base::Time()); 756 m_hostImpl->Animate(endTime, base::Time());
757 EXPECT_TRUE(m_didRequestRedraw); 757 EXPECT_TRUE(m_didRequestRedraw);
758 EXPECT_TRUE(m_didRequestCommit); 758 EXPECT_TRUE(m_didRequestCommit);
759 759
760 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 760 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
761 EXPECT_EQ(scrollInfo->pageScaleDelta, minPageScale); 761 EXPECT_EQ(scrollInfo->page_scale_delta, minPageScale);
762 // Pushed to (0,0) via clamping against contents layer size. 762 // Pushed to (0,0) via clamping against contents layer size.
763 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-50, -50)); 763 expectContains(*scrollInfo, scrollLayer->id(), gfx::Vector2d(-50, -50));
764 } 764 }
765 } 765 }
766 766
767 TEST_F(LayerTreeHostImplTest, pageScaleAnimationNoOp) 767 TEST_F(LayerTreeHostImplTest, pageScaleAnimationNoOp)
768 { 768 {
769 setupScrollAndContentsLayers(gfx::Size(100, 100)); 769 setupScrollAndContentsLayers(gfx::Size(100, 100));
770 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); 770 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50));
771 initializeRendererAndDrawFrame(); 771 initializeRendererAndDrawFrame();
(...skipping 15 matching lines...) Expand all
787 scrollLayer->SetImplTransform(identityScaleTransform); 787 scrollLayer->SetImplTransform(identityScaleTransform);
788 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50)); 788 scrollLayer->SetScrollOffset(gfx::Vector2d(50, 50));
789 789
790 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(0, 0), true, 1, startT ime, duration); 790 m_hostImpl->StartPageScaleAnimation(gfx::Vector2d(0, 0), true, 1, startT ime, duration);
791 m_hostImpl->Animate(halfwayThroughAnimation, base::Time()); 791 m_hostImpl->Animate(halfwayThroughAnimation, base::Time());
792 EXPECT_TRUE(m_didRequestRedraw); 792 EXPECT_TRUE(m_didRequestRedraw);
793 m_hostImpl->Animate(endTime, base::Time()); 793 m_hostImpl->Animate(endTime, base::Time());
794 EXPECT_TRUE(m_didRequestCommit); 794 EXPECT_TRUE(m_didRequestCommit);
795 795
796 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as(); 796 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->ProcessScrollDelt as();
797 EXPECT_EQ(scrollInfo->pageScaleDelta, 1); 797 EXPECT_EQ(scrollInfo->page_scale_delta, 1);
798 expectNone(*scrollInfo, scrollLayer->id()); 798 expectNone(*scrollInfo, scrollLayer->id());
799 } 799 }
800 } 800 }
801 801
802 TEST_F(LayerTreeHostImplTest, compositorFrameMetadata) 802 TEST_F(LayerTreeHostImplTest, compositorFrameMetadata)
803 { 803 {
804 setupScrollAndContentsLayers(gfx::Size(100, 100)); 804 setupScrollAndContentsLayers(gfx::Size(100, 100));
805 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); 805 m_hostImpl->SetViewportSize(gfx::Size(50, 50), gfx::Size(50, 50));
806 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1.0f, 0.5f, 4.0f); 806 m_hostImpl->active_tree()->SetPageScaleFactorAndLimits(1.0f, 0.5f, 4.0f);
807 initializeRendererAndDrawFrame(); 807 initializeRendererAndDrawFrame();
(...skipping 3534 matching lines...) Expand 10 before | Expand all | Expand 10 after
4342 EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(), renderPassQuad->rect.ToS tring()); 4342 EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(), renderPassQuad->rect.ToS tring());
4343 EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(), renderPassQuad->mas k_uv_rect.ToString()); 4343 EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(), renderPassQuad->mas k_uv_rect.ToString());
4344 4344
4345 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now()); 4345 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now());
4346 m_hostImpl->DidDrawAllLayers(frame); 4346 m_hostImpl->DidDrawAllLayers(frame);
4347 } 4347 }
4348 } 4348 }
4349 4349
4350 } // namespace 4350 } // namespace
4351 } // namespace cc 4351 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698