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

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

Issue 2907053004: GSB uses delta_hints to calculate scrolling chain. (Closed)
Patch Set: Merged with master. Created 3 years, 6 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 6227 matching lines...) Expand 10 before | Expand all | Expand 10 after
6238 gfx::Vector2d gesture_scroll_delta(10, 0); 6238 gfx::Vector2d gesture_scroll_delta(10, 0);
6239 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 6239 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD,
6240 host_impl_ 6240 host_impl_
6241 ->ScrollBegin(BeginState(gfx::Point(1, 1)).get(), 6241 ->ScrollBegin(BeginState(gfx::Point(1, 1)).get(),
6242 InputHandler::TOUCHSCREEN) 6242 InputHandler::TOUCHSCREEN)
6243 .thread); 6243 .thread);
6244 host_impl_->ScrollBy(UpdateState(gfx::Point(), gesture_scroll_delta).get()); 6244 host_impl_->ScrollBy(UpdateState(gfx::Point(), gesture_scroll_delta).get());
6245 host_impl_->ScrollEnd(EndState().get()); 6245 host_impl_->ScrollEnd(EndState().get());
6246 6246
6247 // The child layer shouldn't have scrolled. 6247 // The child layer shouldn't have scrolled.
6248 gfx::Vector2d expected_scroll_delta(
6249 0, -gesture_scroll_delta.x() *
6250 std::sin(MathUtil::Deg2Rad(child_layer_angle)));
6251 std::unique_ptr<ScrollAndScaleSet> scroll_info = 6248 std::unique_ptr<ScrollAndScaleSet> scroll_info =
6252 host_impl_->ProcessScrollDeltas(); 6249 host_impl_->ProcessScrollDeltas();
6253 EXPECT_TRUE(ScrollInfoContains(*scroll_info.get(), child_scroll_id, 6250 ExpectNone(*scroll_info.get(), child_scroll_id);
bokan 2017/06/19 21:43:17 What's this change about? The comment above says t
sahel 2017/06/22 16:34:17 As we discussed the comment is incorrect, I confir
bokan 2017/06/22 21:44:37 Acknowledged.
6254 expected_scroll_delta));
6255 6251
6256 // The root scroll layer shouldn't have scrolled. 6252 // The root scroll layer shouldn't have scrolled.
6257 ExpectNone(*scroll_info.get(), scroll_layer->element_id()); 6253 ExpectNone(*scroll_info.get(), scroll_layer->element_id());
6258 } 6254 }
6259 } 6255 }
6260 6256
6261 TEST_F(LayerTreeHostImplTest, ScrollPerspectiveTransformedLayer) { 6257 TEST_F(LayerTreeHostImplTest, ScrollPerspectiveTransformedLayer) {
6262 // When scrolling an element with perspective, the distance scrolled 6258 // When scrolling an element with perspective, the distance scrolled
6263 // depends on the point at which the scroll begins. 6259 // depends on the point at which the scroll begins.
6264 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100)); 6260 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100));
(...skipping 4651 matching lines...) Expand 10 before | Expand all | Expand 10 after
10916 scrolling_layer->CurrentScrollOffset()); 10912 scrolling_layer->CurrentScrollOffset());
10917 EXPECT_EQ(nullptr, host_impl_->CurrentlyScrollingNode()); 10913 EXPECT_EQ(nullptr, host_impl_->CurrentlyScrollingNode());
10918 host_impl_->DidFinishImplFrame(); 10914 host_impl_->DidFinishImplFrame();
10919 } 10915 }
10920 10916
10921 TEST_F(LayerTreeHostImplTest, SecondScrollAnimatedBeginNotIgnored) { 10917 TEST_F(LayerTreeHostImplTest, SecondScrollAnimatedBeginNotIgnored) {
10922 const gfx::Size content_size(1000, 1000); 10918 const gfx::Size content_size(1000, 1000);
10923 const gfx::Size viewport_size(50, 100); 10919 const gfx::Size viewport_size(50, 100);
10924 CreateBasicVirtualViewportLayers(viewport_size, content_size); 10920 CreateBasicVirtualViewportLayers(viewport_size, content_size);
10925 10921
10926 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 10922 EXPECT_EQ(
10927 host_impl_->ScrollAnimatedBegin(gfx::Point()).thread); 10923 InputHandler::SCROLL_ON_IMPL_THREAD,
10924 host_impl_->ScrollAnimatedBegin(BeginState(gfx::Point()).get()).thread);
10928 10925
10929 // The second ScrollAnimatedBegin should not get ignored. 10926 // The second ScrollAnimatedBegin should not get ignored.
10930 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 10927 EXPECT_EQ(
10931 host_impl_->ScrollAnimatedBegin(gfx::Point()).thread); 10928 InputHandler::SCROLL_ON_IMPL_THREAD,
10929 host_impl_->ScrollAnimatedBegin(BeginState(gfx::Point()).get()).thread);
10932 } 10930 }
10933 10931
10934 // Verfify that a smooth scroll animation doesn't jump when UpdateTarget gets 10932 // Verfify that a smooth scroll animation doesn't jump when UpdateTarget gets
10935 // called before the animation is started. 10933 // called before the animation is started.
10936 TEST_F(LayerTreeHostImplTest, AnimatedScrollUpdateTargetBeforeStarting) { 10934 TEST_F(LayerTreeHostImplTest, AnimatedScrollUpdateTargetBeforeStarting) {
10937 const gfx::Size content_size(1000, 1000); 10935 const gfx::Size content_size(1000, 1000);
10938 const gfx::Size viewport_size(50, 100); 10936 const gfx::Size viewport_size(50, 100);
10939 CreateBasicVirtualViewportLayers(viewport_size, content_size); 10937 CreateBasicVirtualViewportLayers(viewport_size, content_size);
10940 10938
10941 DrawFrame(); 10939 DrawFrame();
(...skipping 1701 matching lines...) Expand 10 before | Expand all | Expand 10 after
12643 // layer should be prioritized over the hidden layer. 12641 // layer should be prioritized over the hidden layer.
12644 hidden_layer->set_contributes_to_drawn_render_surface(false); 12642 hidden_layer->set_contributes_to_drawn_render_surface(false);
12645 hidden_layer->set_raster_even_if_not_drawn(true); 12643 hidden_layer->set_raster_even_if_not_drawn(true);
12646 queue = host_impl_->BuildRasterQueue(TreePriority::SMOOTHNESS_TAKES_PRIORITY, 12644 queue = host_impl_->BuildRasterQueue(TreePriority::SMOOTHNESS_TAKES_PRIORITY,
12647 RasterTilePriorityQueue::Type::ALL); 12645 RasterTilePriorityQueue::Type::ALL);
12648 EXPECT_EQ(queue->Top().tile()->layer_id(), 3); 12646 EXPECT_EQ(queue->Top().tile()->layer_id(), 3);
12649 } 12647 }
12650 12648
12651 } // namespace 12649 } // namespace
12652 } // namespace cc 12650 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698