#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/effects/SkBlurImageFilter.h"
+#include "ui/gfx/geometry/vector2d_conversions.h"
namespace cc {
namespace {
return host_impl_.active_tree()->root_layer()->children()[0];
}
+ LayerTreeHostImpl& host_impl() { return host_impl_; }
+
LayerTreeImpl* tree() { return host_impl_.active_tree(); }
private:
EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset());
}
+TEST_F(LayerImplScrollTest, PushPropertiesToMirrorsTotalScrollOffset) {
+ gfx::Vector2d scroll_offset(10, 5);
+ gfx::Vector2dF scroll_delta(12, 18);
+
+ host_impl().CreatePendingTree();
+
+ layer()->SetScrollOffset(scroll_offset);
+ gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
+
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled);
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset());
+
+ layer()->SetSentScrollDelta(gfx::ToFlooredVector2d(scroll_delta));
+
+ scoped_ptr<LayerImpl> pending_layer =
+ LayerImpl::Create(host_impl().sync_tree(), layer()->id());
+ pending_layer->SetScrollOffset(
+ gfx::ToFlooredVector2d(layer()->TotalScrollOffset()));
+
+ pending_layer->PushPropertiesTo(layer());
+
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(layer()->TotalScrollOffset(),
+ pending_layer->TotalScrollOffset());
+}
+
TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) {
gfx::Vector2d scroll_offset(10, 5);
layer()->SetScrollOffset(scroll_offset);