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

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: review comments addressed. 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 6242 matching lines...) Expand 10 before | Expand all | Expand 10 after
6253 SetScrollOffsetDelta(child_ptr, gfx::Vector2dF()); 6253 SetScrollOffsetDelta(child_ptr, gfx::Vector2dF());
6254 gfx::Vector2d gesture_scroll_delta(10, 0); 6254 gfx::Vector2d gesture_scroll_delta(10, 0);
6255 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 6255 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD,
6256 host_impl_ 6256 host_impl_
6257 ->ScrollBegin(BeginState(gfx::Point(1, 1)).get(), 6257 ->ScrollBegin(BeginState(gfx::Point(1, 1)).get(),
6258 InputHandler::TOUCHSCREEN) 6258 InputHandler::TOUCHSCREEN)
6259 .thread); 6259 .thread);
6260 host_impl_->ScrollBy(UpdateState(gfx::Point(), gesture_scroll_delta).get()); 6260 host_impl_->ScrollBy(UpdateState(gfx::Point(), gesture_scroll_delta).get());
6261 host_impl_->ScrollEnd(EndState().get()); 6261 host_impl_->ScrollEnd(EndState().get());
6262 6262
6263 // The child layer shouldn't have scrolled. 6263 // The child layer should have scrolled down in its local coordinates an
6264 // amount proportional to the angle between it and the input scroll delta.
6264 gfx::Vector2d expected_scroll_delta( 6265 gfx::Vector2d expected_scroll_delta(
6265 0, -gesture_scroll_delta.x() * 6266 0, -gesture_scroll_delta.x() *
6266 std::sin(MathUtil::Deg2Rad(child_layer_angle))); 6267 std::sin(MathUtil::Deg2Rad(child_layer_angle)));
6267 std::unique_ptr<ScrollAndScaleSet> scroll_info = 6268 std::unique_ptr<ScrollAndScaleSet> scroll_info =
6268 host_impl_->ProcessScrollDeltas(); 6269 host_impl_->ProcessScrollDeltas();
6269 EXPECT_TRUE(ScrollInfoContains(*scroll_info.get(), child_scroll_id, 6270 EXPECT_TRUE(ScrollInfoContains(*scroll_info.get(), child_scroll_id,
6270 expected_scroll_delta)); 6271 expected_scroll_delta));
6271 6272
6272 // The root scroll layer shouldn't have scrolled. 6273 // The root scroll layer shouldn't have scrolled.
6273 ExpectNone(*scroll_info.get(), scroll_layer->element_id()); 6274 ExpectNone(*scroll_info.get(), scroll_layer->element_id());
(...skipping 4662 matching lines...) Expand 10 before | Expand all | Expand 10 after
10936 scrolling_layer->CurrentScrollOffset()); 10937 scrolling_layer->CurrentScrollOffset());
10937 EXPECT_EQ(nullptr, host_impl_->CurrentlyScrollingNode()); 10938 EXPECT_EQ(nullptr, host_impl_->CurrentlyScrollingNode());
10938 host_impl_->DidFinishImplFrame(); 10939 host_impl_->DidFinishImplFrame();
10939 } 10940 }
10940 10941
10941 TEST_F(LayerTreeHostImplTest, SecondScrollAnimatedBeginNotIgnored) { 10942 TEST_F(LayerTreeHostImplTest, SecondScrollAnimatedBeginNotIgnored) {
10942 const gfx::Size content_size(1000, 1000); 10943 const gfx::Size content_size(1000, 1000);
10943 const gfx::Size viewport_size(50, 100); 10944 const gfx::Size viewport_size(50, 100);
10944 CreateBasicVirtualViewportLayers(viewport_size, content_size); 10945 CreateBasicVirtualViewportLayers(viewport_size, content_size);
10945 10946
10946 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 10947 EXPECT_EQ(
10947 host_impl_->ScrollAnimatedBegin(gfx::Point()).thread); 10948 InputHandler::SCROLL_ON_IMPL_THREAD,
10949 host_impl_->ScrollAnimatedBegin(BeginState(gfx::Point()).get()).thread);
10948 10950
10949 // The second ScrollAnimatedBegin should not get ignored. 10951 // The second ScrollAnimatedBegin should not get ignored.
10950 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, 10952 EXPECT_EQ(
10951 host_impl_->ScrollAnimatedBegin(gfx::Point()).thread); 10953 InputHandler::SCROLL_ON_IMPL_THREAD,
10954 host_impl_->ScrollAnimatedBegin(BeginState(gfx::Point()).get()).thread);
10952 } 10955 }
10953 10956
10954 // Verfify that a smooth scroll animation doesn't jump when UpdateTarget gets 10957 // Verfify that a smooth scroll animation doesn't jump when UpdateTarget gets
10955 // called before the animation is started. 10958 // called before the animation is started.
10956 TEST_F(LayerTreeHostImplTest, AnimatedScrollUpdateTargetBeforeStarting) { 10959 TEST_F(LayerTreeHostImplTest, AnimatedScrollUpdateTargetBeforeStarting) {
10957 const gfx::Size content_size(1000, 1000); 10960 const gfx::Size content_size(1000, 1000);
10958 const gfx::Size viewport_size(50, 100); 10961 const gfx::Size viewport_size(50, 100);
10959 CreateBasicVirtualViewportLayers(viewport_size, content_size); 10962 CreateBasicVirtualViewportLayers(viewport_size, content_size);
10960 10963
10961 DrawFrame(); 10964 DrawFrame();
(...skipping 1700 matching lines...) Expand 10 before | Expand all | Expand 10 after
12662 // layer should be prioritized over the hidden layer. 12665 // layer should be prioritized over the hidden layer.
12663 hidden_layer->set_contributes_to_drawn_render_surface(false); 12666 hidden_layer->set_contributes_to_drawn_render_surface(false);
12664 hidden_layer->set_raster_even_if_not_drawn(true); 12667 hidden_layer->set_raster_even_if_not_drawn(true);
12665 queue = host_impl_->BuildRasterQueue(TreePriority::SMOOTHNESS_TAKES_PRIORITY, 12668 queue = host_impl_->BuildRasterQueue(TreePriority::SMOOTHNESS_TAKES_PRIORITY,
12666 RasterTilePriorityQueue::Type::ALL); 12669 RasterTilePriorityQueue::Type::ALL);
12667 EXPECT_EQ(queue->Top().tile()->layer_id(), 3); 12670 EXPECT_EQ(queue->Top().tile()->layer_id(), 3);
12668 } 12671 }
12669 12672
12670 } // namespace 12673 } // namespace
12671 } // namespace cc 12674 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698