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 1063853005: Unify Android Webview and Chrome's fling (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: add a todo Created 5 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 <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 3928 matching lines...) Expand 10 before | Expand all | Expand 10 after
3939 host_impl_->active_tree()->InnerViewportScrollLayer(); 3939 host_impl_->active_tree()->InnerViewportScrollLayer();
3940 EXPECT_EQ(gfx::ScrollOffset(0, 0), 3940 EXPECT_EQ(gfx::ScrollOffset(0, 0),
3941 inner_viewport_scroll_layer->MaxScrollOffset()); 3941 inner_viewport_scroll_layer->MaxScrollOffset());
3942 } 3942 }
3943 3943
3944 class TestScrollOffsetDelegate : public LayerScrollOffsetDelegate { 3944 class TestScrollOffsetDelegate : public LayerScrollOffsetDelegate {
3945 public: 3945 public:
3946 TestScrollOffsetDelegate() 3946 TestScrollOffsetDelegate()
3947 : page_scale_factor_(0.f), 3947 : page_scale_factor_(0.f),
3948 min_page_scale_factor_(-1.f), 3948 min_page_scale_factor_(-1.f),
3949 max_page_scale_factor_(-1.f) {} 3949 max_page_scale_factor_(-1.f),
3950 needs_animate_(false) {}
3950 3951
3951 ~TestScrollOffsetDelegate() override {} 3952 ~TestScrollOffsetDelegate() override {}
3952 3953
3953 gfx::ScrollOffset GetTotalScrollOffset() override { 3954 gfx::ScrollOffset GetTotalScrollOffset() override {
3954 return getter_return_value_; 3955 return getter_return_value_;
3955 } 3956 }
3956 3957
3957 bool IsExternalFlingActive() const override { return false; } 3958 bool IsExternalScrollActive() const override { return false; }
3959
3960 void SetNeedsAnimate(const AnimationCallback&) override {
3961 needs_animate_ = true;
3962 }
3958 3963
3959 void UpdateRootLayerState(const gfx::ScrollOffset& total_scroll_offset, 3964 void UpdateRootLayerState(const gfx::ScrollOffset& total_scroll_offset,
3960 const gfx::ScrollOffset& max_scroll_offset, 3965 const gfx::ScrollOffset& max_scroll_offset,
3961 const gfx::SizeF& scrollable_size, 3966 const gfx::SizeF& scrollable_size,
3962 float page_scale_factor, 3967 float page_scale_factor,
3963 float min_page_scale_factor, 3968 float min_page_scale_factor,
3964 float max_page_scale_factor) override { 3969 float max_page_scale_factor) override {
3965 DCHECK(total_scroll_offset.x() <= max_scroll_offset.x()); 3970 DCHECK(total_scroll_offset.x() <= max_scroll_offset.x());
3966 DCHECK(total_scroll_offset.y() <= max_scroll_offset.y()); 3971 DCHECK(total_scroll_offset.y() <= max_scroll_offset.y());
3967 last_set_scroll_offset_ = total_scroll_offset; 3972 last_set_scroll_offset_ = total_scroll_offset;
3968 max_scroll_offset_ = max_scroll_offset; 3973 max_scroll_offset_ = max_scroll_offset;
3969 scrollable_size_ = scrollable_size; 3974 scrollable_size_ = scrollable_size;
3970 page_scale_factor_ = page_scale_factor; 3975 page_scale_factor_ = page_scale_factor;
3971 min_page_scale_factor_ = min_page_scale_factor; 3976 min_page_scale_factor_ = min_page_scale_factor;
3972 max_page_scale_factor_ = max_page_scale_factor; 3977 max_page_scale_factor_ = max_page_scale_factor;
3973 3978
3974 set_getter_return_value(last_set_scroll_offset_); 3979 set_getter_return_value(last_set_scroll_offset_);
3975 } 3980 }
3976 3981
3982 bool GetAndResetNeedsAnimate() {
3983 bool needs_animate = needs_animate_;
3984 needs_animate_ = false;
3985 return needs_animate;
3986 }
3987
3977 gfx::ScrollOffset last_set_scroll_offset() { 3988 gfx::ScrollOffset last_set_scroll_offset() {
3978 return last_set_scroll_offset_; 3989 return last_set_scroll_offset_;
3979 } 3990 }
3980 3991
3981 void set_getter_return_value(const gfx::ScrollOffset& value) { 3992 void set_getter_return_value(const gfx::ScrollOffset& value) {
3982 getter_return_value_ = value; 3993 getter_return_value_ = value;
3983 } 3994 }
3984 3995
3985 gfx::ScrollOffset max_scroll_offset() const { 3996 gfx::ScrollOffset max_scroll_offset() const {
3986 return max_scroll_offset_; 3997 return max_scroll_offset_;
(...skipping 16 matching lines...) Expand all
4003 } 4014 }
4004 4015
4005 private: 4016 private:
4006 gfx::ScrollOffset last_set_scroll_offset_; 4017 gfx::ScrollOffset last_set_scroll_offset_;
4007 gfx::ScrollOffset getter_return_value_; 4018 gfx::ScrollOffset getter_return_value_;
4008 gfx::ScrollOffset max_scroll_offset_; 4019 gfx::ScrollOffset max_scroll_offset_;
4009 gfx::SizeF scrollable_size_; 4020 gfx::SizeF scrollable_size_;
4010 float page_scale_factor_; 4021 float page_scale_factor_;
4011 float min_page_scale_factor_; 4022 float min_page_scale_factor_;
4012 float max_page_scale_factor_; 4023 float max_page_scale_factor_;
4024 bool needs_animate_;
4013 }; 4025 };
4014 4026
4027 // TODO(jdduke): Test root fling animation.
4015 TEST_F(LayerTreeHostImplTest, RootLayerScrollOffsetDelegation) { 4028 TEST_F(LayerTreeHostImplTest, RootLayerScrollOffsetDelegation) {
4016 TestScrollOffsetDelegate scroll_delegate; 4029 TestScrollOffsetDelegate scroll_delegate;
4017 host_impl_->SetViewportSize(gfx::Size(10, 20)); 4030 host_impl_->SetViewportSize(gfx::Size(10, 20));
4018 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100)); 4031 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100));
4019 LayerImpl* clip_layer = scroll_layer->parent()->parent(); 4032 LayerImpl* clip_layer = scroll_layer->parent()->parent();
4020 clip_layer->SetBounds(gfx::Size(10, 20)); 4033 clip_layer->SetBounds(gfx::Size(10, 20));
4021 4034
4022 // Setting the delegate results in the current scroll offset being set. 4035 // Setting the delegate results in the current scroll offset being set.
4023 gfx::Vector2dF initial_scroll_delta(10.f, 10.f); 4036 gfx::Vector2dF initial_scroll_delta(10.f, 10.f);
4024 scroll_layer->PushScrollOffsetFromMainThread(gfx::ScrollOffset()); 4037 scroll_layer->PushScrollOffsetFromMainThread(gfx::ScrollOffset());
(...skipping 3855 matching lines...) Expand 10 before | Expand all | Expand 10 after
7880 // Hold an unowned pointer to the output surface to use for mock expectations. 7893 // Hold an unowned pointer to the output surface to use for mock expectations.
7881 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get(); 7894 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get();
7882 7895
7883 CreateHostImpl(DefaultSettings(), output_surface.Pass()); 7896 CreateHostImpl(DefaultSettings(), output_surface.Pass());
7884 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1); 7897 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1);
7885 host_impl_->BeginCommit(); 7898 host_impl_->BeginCommit();
7886 } 7899 }
7887 7900
7888 } // namespace 7901 } // namespace
7889 } // namespace cc 7902 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698