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

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

Issue 903273002: Update from https://crrev.com/315085 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_masks.cc » ('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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 185 }
186 186
187 static void ExpectClearedScrollDeltasRecursive(LayerImpl* layer) { 187 static void ExpectClearedScrollDeltasRecursive(LayerImpl* layer) {
188 ASSERT_EQ(layer->ScrollDelta(), gfx::Vector2d()); 188 ASSERT_EQ(layer->ScrollDelta(), gfx::Vector2d());
189 for (size_t i = 0; i < layer->children().size(); ++i) 189 for (size_t i = 0; i < layer->children().size(); ++i)
190 ExpectClearedScrollDeltasRecursive(layer->children()[i]); 190 ExpectClearedScrollDeltasRecursive(layer->children()[i]);
191 } 191 }
192 192
193 static void ExpectContains(const ScrollAndScaleSet& scroll_info, 193 static void ExpectContains(const ScrollAndScaleSet& scroll_info,
194 int id, 194 int id,
195 const gfx::Vector2d& scroll_delta) { 195 const gfx::Vector2dF& scroll_delta) {
196 int times_encountered = 0; 196 int times_encountered = 0;
197 197
198 for (size_t i = 0; i < scroll_info.scrolls.size(); ++i) { 198 for (size_t i = 0; i < scroll_info.scrolls.size(); ++i) {
199 if (scroll_info.scrolls[i].layer_id != id) 199 if (scroll_info.scrolls[i].layer_id != id)
200 continue; 200 continue;
201 EXPECT_VECTOR_EQ(scroll_delta, scroll_info.scrolls[i].scroll_delta); 201 EXPECT_VECTOR2DF_NEAR(scroll_delta, scroll_info.scrolls[i].scroll_delta,
202 1.0e-10);
202 times_encountered++; 203 times_encountered++;
203 } 204 }
204 205
205 ASSERT_EQ(1, times_encountered); 206 ASSERT_EQ(1, times_encountered);
206 } 207 }
207 208
208 static void ExpectNone(const ScrollAndScaleSet& scroll_info, int id) { 209 static void ExpectNone(const ScrollAndScaleSet& scroll_info, int id) {
209 int times_encountered = 0; 210 int times_encountered = 0;
210 211
211 for (size_t i = 0; i < scroll_info.scrolls.size(); ++i) { 212 for (size_t i = 0; i < scroll_info.scrolls.size(); ++i) {
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 562
562 // We should still be scrolling, because the scrolled layer also exists in the 563 // We should still be scrolling, because the scrolled layer also exists in the
563 // new tree. 564 // new tree.
564 gfx::Vector2d scroll_delta(0, 10); 565 gfx::Vector2d scroll_delta(0, 10);
565 host_impl_->ScrollBy(gfx::Point(), scroll_delta); 566 host_impl_->ScrollBy(gfx::Point(), scroll_delta);
566 host_impl_->ScrollEnd(); 567 host_impl_->ScrollEnd();
567 scoped_ptr<ScrollAndScaleSet> scroll_info = host_impl_->ProcessScrollDeltas(); 568 scoped_ptr<ScrollAndScaleSet> scroll_info = host_impl_->ProcessScrollDeltas();
568 ExpectContains(*scroll_info, scroll_layer->id(), scroll_delta); 569 ExpectContains(*scroll_info, scroll_layer->id(), scroll_delta);
569 } 570 }
570 571
571 TEST_F(LayerTreeHostImplTest, WheelEventHandlers) { 572 TEST_F(LayerTreeHostImplTest, ScrollBlocksOnWheelEventHandlers) {
572 SetupScrollAndContentsLayers(gfx::Size(100, 100)); 573 SetupScrollAndContentsLayers(gfx::Size(100, 100));
573 host_impl_->SetViewportSize(gfx::Size(50, 50)); 574 host_impl_->SetViewportSize(gfx::Size(50, 50));
574 DrawFrame(); 575 DrawFrame();
575 LayerImpl* root = host_impl_->active_tree()->root_layer(); 576 LayerImpl* root = host_impl_->active_tree()->root_layer();
576 577
578 // With registered event handlers, wheel scrolls don't necessarily
579 // have to go to the main thread.
577 root->SetHaveWheelEventHandlers(true); 580 root->SetHaveWheelEventHandlers(true);
581 EXPECT_EQ(InputHandler::ScrollStarted,
582 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel));
583 host_impl_->ScrollEnd();
578 584
579 // With registered event handlers, wheel scrolls have to go to the main 585 // But typically the scroll-blocks-on mode will require them to.
580 // thread. 586 root->SetScrollBlocksOn(ScrollBlocksOnWheelEvent | ScrollBlocksOnStartTouch);
581 EXPECT_EQ(InputHandler::ScrollOnMainThread, 587 EXPECT_EQ(InputHandler::ScrollOnMainThread,
582 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel)); 588 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel));
583 589
584 // But gesture scrolls can still be handled. 590 // But gesture scrolls can still be handled.
585 EXPECT_EQ(InputHandler::ScrollStarted, 591 EXPECT_EQ(InputHandler::ScrollStarted,
586 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture)); 592 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture));
593 host_impl_->ScrollEnd();
594
595 // And if the handlers go away, wheel scrolls can again be processed
596 // on impl (despite the scroll-blocks-on mode).
597 root->SetHaveWheelEventHandlers(false);
598 EXPECT_EQ(InputHandler::ScrollStarted,
599 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel));
600 host_impl_->ScrollEnd();
601 }
602
603 TEST_F(LayerTreeHostImplTest, ScrollBlocksOnTouchEventHandlers) {
604 LayerImpl* scroll = SetupScrollAndContentsLayers(gfx::Size(100, 100));
605 host_impl_->SetViewportSize(gfx::Size(50, 50));
606 DrawFrame();
607 LayerImpl* root = host_impl_->active_tree()->root_layer();
608
609 LayerImpl* child = 0;
610 {
611 scoped_ptr<LayerImpl> child_layer =
612 LayerImpl::Create(host_impl_->active_tree(), 6);
613 child = child_layer.get();
614 child_layer->SetDrawsContent(true);
615 child_layer->SetPosition(gfx::PointF(0, 20));
616 child_layer->SetBounds(gfx::Size(50, 50));
617 child_layer->SetContentBounds(gfx::Size(50, 50));
618 scroll->AddChild(child_layer.Pass());
619 }
620
621 // Touch handler regions determine whether touch events block scroll.
622 root->SetTouchEventHandlerRegion(gfx::Rect(0, 0, 100, 100));
623 EXPECT_FALSE(host_impl_->DoTouchEventsBlockScrollAt(gfx::Point(10, 10)));
624 root->SetScrollBlocksOn(ScrollBlocksOnStartTouch | ScrollBlocksOnWheelEvent);
625 EXPECT_TRUE(host_impl_->DoTouchEventsBlockScrollAt(gfx::Point(10, 10)));
626
627 // But they don't influence the actual handling of the scroll gestures.
628 EXPECT_EQ(InputHandler::ScrollStarted,
629 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture));
630 host_impl_->ScrollEnd();
631
632 // It's the union of scroll-blocks-on mode bits across all layers in the
633 // scroll paret chain that matters.
634 EXPECT_TRUE(host_impl_->DoTouchEventsBlockScrollAt(gfx::Point(10, 30)));
635 root->SetScrollBlocksOn(ScrollBlocksOnNone);
636 EXPECT_FALSE(host_impl_->DoTouchEventsBlockScrollAt(gfx::Point(10, 30)));
637 child->SetScrollBlocksOn(ScrollBlocksOnStartTouch);
638 EXPECT_TRUE(host_impl_->DoTouchEventsBlockScrollAt(gfx::Point(10, 30)));
639 }
640
641 TEST_F(LayerTreeHostImplTest, ScrollBlocksOnScrollEventHandlers) {
642 SetupScrollAndContentsLayers(gfx::Size(100, 100));
643 host_impl_->SetViewportSize(gfx::Size(50, 50));
644 DrawFrame();
645 LayerImpl* root = host_impl_->active_tree()->root_layer();
646
647 // With registered scroll handlers, scrolls don't generally have to go
648 // to the main thread.
649 root->SetHaveScrollEventHandlers(true);
650 EXPECT_EQ(InputHandler::ScrollStarted,
651 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel));
652 host_impl_->ScrollEnd();
653
654 // Even the default scroll blocks on mode doesn't require this.
655 root->SetScrollBlocksOn(ScrollBlocksOnWheelEvent | ScrollBlocksOnStartTouch);
656 EXPECT_EQ(InputHandler::ScrollStarted,
657 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture));
658 host_impl_->ScrollEnd();
659
660 // But the page can opt in to blocking on scroll event handlers.
661 root->SetScrollBlocksOn(ScrollBlocksOnScrollEvent);
662 EXPECT_EQ(InputHandler::ScrollOnMainThread,
663 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture));
664
665 // Gesture and Wheel scrolls behave identically in this regard.
666 EXPECT_EQ(InputHandler::ScrollOnMainThread,
667 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel));
668
669 // And if the handlers go away, scrolls can again be processed on impl
670 // (despite the scroll-blocks-on mode).
671 root->SetHaveScrollEventHandlers(false);
672 EXPECT_EQ(InputHandler::ScrollStarted,
673 host_impl_->ScrollBegin(gfx::Point(), InputHandler::Gesture));
674 host_impl_->ScrollEnd();
675 }
676
677 TEST_F(LayerTreeHostImplTest, ScrollBlocksOnLayerTopology) {
678 host_impl_->SetViewportSize(gfx::Size(50, 50));
679
680 // Create a normal scrollable root layer
681 LayerImpl* root_scroll = SetupScrollAndContentsLayers(gfx::Size(100, 100));
682 LayerImpl* root_child = root_scroll->children()[0];
683 LayerImpl* root = host_impl_->active_tree()->root_layer();
684 DrawFrame();
685
686 // Create two child scrollable layers
687 LayerImpl* child1 = 0;
688 {
689 scoped_ptr<LayerImpl> scrollable_child_clip_1 =
690 LayerImpl::Create(host_impl_->active_tree(), 6);
691 scoped_ptr<LayerImpl> scrollable_child_1 = CreateScrollableLayer(
692 7, gfx::Size(10, 10), scrollable_child_clip_1.get());
693 child1 = scrollable_child_1.get();
694 scrollable_child_1->SetPosition(gfx::Point(5, 5));
695 scrollable_child_1->SetHaveWheelEventHandlers(true);
696 scrollable_child_1->SetHaveScrollEventHandlers(true);
697 scrollable_child_clip_1->AddChild(scrollable_child_1.Pass());
698 root_child->AddChild(scrollable_child_clip_1.Pass());
699 }
700
701 LayerImpl* child2 = 0;
702 {
703 scoped_ptr<LayerImpl> scrollable_child_clip_2 =
704 LayerImpl::Create(host_impl_->active_tree(), 8);
705 scoped_ptr<LayerImpl> scrollable_child_2 = CreateScrollableLayer(
706 9, gfx::Size(10, 10), scrollable_child_clip_2.get());
707 child2 = scrollable_child_2.get();
708 scrollable_child_2->SetPosition(gfx::Point(5, 20));
709 scrollable_child_2->SetHaveWheelEventHandlers(true);
710 scrollable_child_2->SetHaveScrollEventHandlers(true);
711 scrollable_child_clip_2->AddChild(scrollable_child_2.Pass());
712 root_child->AddChild(scrollable_child_clip_2.Pass());
713 }
714
715 // Scroll-blocks-on on a layer affects scrolls that hit that layer.
716 EXPECT_EQ(InputHandler::ScrollStarted,
717 host_impl_->ScrollBegin(gfx::Point(10, 10), InputHandler::Gesture));
718 host_impl_->ScrollEnd();
719 child1->SetScrollBlocksOn(ScrollBlocksOnScrollEvent);
720 EXPECT_EQ(InputHandler::ScrollOnMainThread,
721 host_impl_->ScrollBegin(gfx::Point(10, 10), InputHandler::Gesture));
722
723 // But not those that hit only other layers.
724 EXPECT_EQ(InputHandler::ScrollStarted,
725 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Gesture));
726 host_impl_->ScrollEnd();
727
728 // It's the union of bits set across the scroll ancestor chain that matters.
729 EXPECT_EQ(InputHandler::ScrollStarted,
730 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Gesture));
731 host_impl_->ScrollEnd();
732 EXPECT_EQ(InputHandler::ScrollStarted,
733 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Wheel));
734 host_impl_->ScrollEnd();
735 root->SetScrollBlocksOn(ScrollBlocksOnWheelEvent);
736 EXPECT_EQ(InputHandler::ScrollStarted,
737 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Gesture));
738 host_impl_->ScrollEnd();
739 EXPECT_EQ(InputHandler::ScrollOnMainThread,
740 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Wheel));
741 child2->SetScrollBlocksOn(ScrollBlocksOnScrollEvent);
742 EXPECT_EQ(InputHandler::ScrollOnMainThread,
743 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Wheel));
744 EXPECT_EQ(InputHandler::ScrollOnMainThread,
745 host_impl_->ScrollBegin(gfx::Point(10, 25), InputHandler::Gesture));
587 } 746 }
588 747
589 TEST_F(LayerTreeHostImplTest, FlingOnlyWhenScrollingTouchscreen) { 748 TEST_F(LayerTreeHostImplTest, FlingOnlyWhenScrollingTouchscreen) {
590 SetupScrollAndContentsLayers(gfx::Size(100, 100)); 749 SetupScrollAndContentsLayers(gfx::Size(100, 100));
591 host_impl_->SetViewportSize(gfx::Size(50, 50)); 750 host_impl_->SetViewportSize(gfx::Size(50, 50));
592 DrawFrame(); 751 DrawFrame();
593 752
594 // Ignore the fling since no layer is being scrolled 753 // Ignore the fling since no layer is being scrolled
595 EXPECT_EQ(InputHandler::ScrollIgnored, 754 EXPECT_EQ(InputHandler::ScrollIgnored,
596 host_impl_->FlingScrollBegin()); 755 host_impl_->FlingScrollBegin());
(...skipping 2939 matching lines...) Expand 10 before | Expand all | Expand 10 after
3536 // Scroll to the right in screen coordinates with a gesture. 3695 // Scroll to the right in screen coordinates with a gesture.
3537 gfx::Vector2d gesture_scroll_delta(10, 0); 3696 gfx::Vector2d gesture_scroll_delta(10, 0);
3538 EXPECT_EQ(InputHandler::ScrollStarted, 3697 EXPECT_EQ(InputHandler::ScrollStarted,
3539 host_impl_->ScrollBegin(gfx::Point(), 3698 host_impl_->ScrollBegin(gfx::Point(),
3540 InputHandler::Gesture)); 3699 InputHandler::Gesture));
3541 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta); 3700 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta);
3542 host_impl_->ScrollEnd(); 3701 host_impl_->ScrollEnd();
3543 3702
3544 // The layer should have scrolled down in its local coordinates. 3703 // The layer should have scrolled down in its local coordinates.
3545 scoped_ptr<ScrollAndScaleSet> scroll_info = host_impl_->ProcessScrollDeltas(); 3704 scoped_ptr<ScrollAndScaleSet> scroll_info = host_impl_->ProcessScrollDeltas();
3546 ExpectContains(*scroll_info.get(), 3705 ExpectContains(*scroll_info.get(), scroll_layer->id(),
3547 scroll_layer->id(), 3706 gfx::Vector2dF(0, gesture_scroll_delta.x()));
3548 gfx::Vector2d(0, gesture_scroll_delta.x()));
3549 3707
3550 // Reset and scroll down with the wheel. 3708 // Reset and scroll down with the wheel.
3551 scroll_layer->SetScrollDelta(gfx::Vector2dF()); 3709 scroll_layer->SetScrollDelta(gfx::Vector2dF());
3552 gfx::Vector2d wheel_scroll_delta(0, 10); 3710 gfx::Vector2d wheel_scroll_delta(0, 10);
3553 EXPECT_EQ(InputHandler::ScrollStarted, 3711 EXPECT_EQ(InputHandler::ScrollStarted,
3554 host_impl_->ScrollBegin(gfx::Point(), 3712 host_impl_->ScrollBegin(gfx::Point(),
3555 InputHandler::Wheel)); 3713 InputHandler::Wheel));
3556 host_impl_->ScrollBy(gfx::Point(), wheel_scroll_delta); 3714 host_impl_->ScrollBy(gfx::Point(), wheel_scroll_delta);
3557 host_impl_->ScrollEnd(); 3715 host_impl_->ScrollEnd();
3558 3716
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
3599 // Scroll down in screen coordinates with a gesture. 3757 // Scroll down in screen coordinates with a gesture.
3600 gfx::Vector2d gesture_scroll_delta(0, 10); 3758 gfx::Vector2d gesture_scroll_delta(0, 10);
3601 EXPECT_EQ(InputHandler::ScrollStarted, 3759 EXPECT_EQ(InputHandler::ScrollStarted,
3602 host_impl_->ScrollBegin(gfx::Point(1, 1), 3760 host_impl_->ScrollBegin(gfx::Point(1, 1),
3603 InputHandler::Gesture)); 3761 InputHandler::Gesture));
3604 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta); 3762 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta);
3605 host_impl_->ScrollEnd(); 3763 host_impl_->ScrollEnd();
3606 3764
3607 // The child layer should have scrolled down in its local coordinates an 3765 // The child layer should have scrolled down in its local coordinates an
3608 // amount proportional to the angle between it and the input scroll delta. 3766 // amount proportional to the angle between it and the input scroll delta.
3609 gfx::Vector2d expected_scroll_delta( 3767 gfx::Vector2dF expected_scroll_delta(
3610 0, 3768 0, gesture_scroll_delta.y() *
3611 gesture_scroll_delta.y() * 3769 std::cos(MathUtil::Deg2Rad(child_layer_angle)));
3612 std::cos(MathUtil::Deg2Rad(child_layer_angle)));
3613 scoped_ptr<ScrollAndScaleSet> scroll_info = 3770 scoped_ptr<ScrollAndScaleSet> scroll_info =
3614 host_impl_->ProcessScrollDeltas(); 3771 host_impl_->ProcessScrollDeltas();
3615 ExpectContains(*scroll_info.get(), child_layer_id, expected_scroll_delta); 3772 ExpectContains(*scroll_info.get(), child_layer_id, expected_scroll_delta);
3616 3773
3617 // The root scroll layer should not have scrolled, because the input delta 3774 // The root scroll layer should not have scrolled, because the input delta
3618 // was close to the layer's axis of movement. 3775 // was close to the layer's axis of movement.
3619 EXPECT_EQ(scroll_info->scrolls.size(), 1u); 3776 EXPECT_EQ(scroll_info->scrolls.size(), 1u);
3620 } 3777 }
3621 { 3778 {
3622 // Now reset and scroll the same amount horizontally. 3779 // Now reset and scroll the same amount horizontally.
3623 child_ptr->SetScrollDelta(gfx::Vector2dF()); 3780 child_ptr->SetScrollDelta(gfx::Vector2dF());
3624 gfx::Vector2d gesture_scroll_delta(10, 0); 3781 gfx::Vector2d gesture_scroll_delta(10, 0);
3625 EXPECT_EQ(InputHandler::ScrollStarted, 3782 EXPECT_EQ(InputHandler::ScrollStarted,
3626 host_impl_->ScrollBegin(gfx::Point(1, 1), 3783 host_impl_->ScrollBegin(gfx::Point(1, 1),
3627 InputHandler::Gesture)); 3784 InputHandler::Gesture));
3628 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta); 3785 host_impl_->ScrollBy(gfx::Point(), gesture_scroll_delta);
3629 host_impl_->ScrollEnd(); 3786 host_impl_->ScrollEnd();
3630 3787
3631 // The child layer should have scrolled down in its local coordinates an 3788 // The child layer should have scrolled down in its local coordinates an
3632 // amount proportional to the angle between it and the input scroll delta. 3789 // amount proportional to the angle between it and the input scroll delta.
3633 gfx::Vector2d expected_scroll_delta( 3790 gfx::Vector2dF expected_scroll_delta(
3634 0, 3791 0, -gesture_scroll_delta.x() *
3635 -gesture_scroll_delta.x() * 3792 std::sin(MathUtil::Deg2Rad(child_layer_angle)));
3636 std::sin(MathUtil::Deg2Rad(child_layer_angle)));
3637 scoped_ptr<ScrollAndScaleSet> scroll_info = 3793 scoped_ptr<ScrollAndScaleSet> scroll_info =
3638 host_impl_->ProcessScrollDeltas(); 3794 host_impl_->ProcessScrollDeltas();
3639 ExpectContains(*scroll_info.get(), child_layer_id, expected_scroll_delta); 3795 ExpectContains(*scroll_info.get(), child_layer_id, expected_scroll_delta);
3640 3796
3641 // The root scroll layer should have scrolled more, since the input scroll 3797 // The root scroll layer should have scrolled more, since the input scroll
3642 // delta was mostly orthogonal to the child layer's vertical scroll axis. 3798 // delta was mostly orthogonal to the child layer's vertical scroll axis.
3643 gfx::Vector2d expected_root_scroll_delta( 3799 gfx::Vector2dF expected_root_scroll_delta(
3644 gesture_scroll_delta.x() * 3800 gesture_scroll_delta.x() *
3645 std::pow(std::cos(MathUtil::Deg2Rad(child_layer_angle)), 2), 3801 std::pow(std::cos(MathUtil::Deg2Rad(child_layer_angle)), 2),
3646 0); 3802 0);
3647 ExpectContains(*scroll_info.get(), 3803 ExpectContains(*scroll_info.get(),
3648 scroll_layer->id(), 3804 scroll_layer->id(),
3649 expected_root_scroll_delta); 3805 expected_root_scroll_delta);
3650 } 3806 }
3651 } 3807 }
3652 3808
3653 TEST_F(LayerTreeHostImplTest, ScrollScaledLayer) { 3809 TEST_F(LayerTreeHostImplTest, ScrollScaledLayer) {
(...skipping 4372 matching lines...) Expand 10 before | Expand all | Expand 10 after
8026 // surface. 8182 // surface.
8027 EXPECT_EQ(0, num_lost_surfaces_); 8183 EXPECT_EQ(0, num_lost_surfaces_);
8028 host_impl_->DidLoseOutputSurface(); 8184 host_impl_->DidLoseOutputSurface();
8029 EXPECT_EQ(1, num_lost_surfaces_); 8185 EXPECT_EQ(1, num_lost_surfaces_);
8030 host_impl_->DidLoseOutputSurface(); 8186 host_impl_->DidLoseOutputSurface();
8031 EXPECT_LE(1, num_lost_surfaces_); 8187 EXPECT_LE(1, num_lost_surfaces_);
8032 } 8188 }
8033 8189
8034 } // namespace 8190 } // namespace
8035 } // namespace cc 8191 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_masks.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698