| Index: cc/trees/layer_tree_host_unittest.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
|
| index d15c6a328f08fdeea18765bf5dff9034167600c6..20632174987f283f13b5f775b0d26ccdde58d1f2 100644
|
| --- a/cc/trees/layer_tree_host_unittest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest.cc
|
| @@ -4160,6 +4160,8 @@ class LayerTreeHostTestMaxTransferBufferUsageBytes : public LayerTreeHostTest {
|
| protected:
|
| void InitializeSettings(LayerTreeSettings* settings) override {
|
| settings->impl_side_painting = true;
|
| + settings->use_zero_copy = false;
|
| + settings->use_one_copy = false;
|
| }
|
|
|
| scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface(
|
| @@ -5128,4 +5130,55 @@ class LayerTreeHostTestSynchronousCompositeSwapPromise
|
| // Impl-side painting is not supported for synchronous compositing.
|
| SINGLE_THREAD_NOIMPL_TEST_F(LayerTreeHostTestSynchronousCompositeSwapPromise);
|
|
|
| +// Make sure page scale and top control deltas are applied to the client even
|
| +// when the LayerTreeHost doesn't have a root layer.
|
| +class LayerTreeHostAcceptsDeltasFromImplWithoutRootLayer
|
| + : public LayerTreeHostTest {
|
| + public:
|
| + LayerTreeHostAcceptsDeltasFromImplWithoutRootLayer()
|
| + : deltas_sent_to_client_(false) {}
|
| +
|
| + void BeginTest() override {
|
| + layer_tree_host()->SetRootLayer(nullptr);
|
| + info_.page_scale_delta = 3.14f;
|
| + info_.top_controls_delta = 2.73f;
|
| +
|
| + PostSetNeedsCommitToMainThread();
|
| + }
|
| +
|
| + void BeginMainFrame(const BeginFrameArgs& args) override {
|
| + EXPECT_EQ(nullptr, layer_tree_host()->root_layer());
|
| +
|
| + layer_tree_host()->ApplyScrollAndScale(&info_);
|
| + EndTest();
|
| + }
|
| +
|
| + void ApplyViewportDeltas(
|
| + const gfx::Vector2d& inner,
|
| + const gfx::Vector2d& outer,
|
| + float scale_delta,
|
| + float top_controls_delta) override {
|
| + EXPECT_EQ(info_.page_scale_delta, scale_delta);
|
| + EXPECT_EQ(info_.top_controls_delta, top_controls_delta);
|
| + deltas_sent_to_client_ = true;
|
| + }
|
| +
|
| + void ApplyViewportDeltas(
|
| + const gfx::Vector2d& scroll,
|
| + float scale_delta,
|
| + float top_controls_delta) override {
|
| + EXPECT_EQ(info_.page_scale_delta, scale_delta);
|
| + EXPECT_EQ(info_.top_controls_delta, top_controls_delta);
|
| + deltas_sent_to_client_ = true;
|
| + }
|
| +
|
| + void AfterTest() override {
|
| + EXPECT_TRUE(deltas_sent_to_client_);
|
| + }
|
| +
|
| + ScrollAndScaleSet info_;
|
| + bool deltas_sent_to_client_;
|
| +};
|
| +
|
| +MULTI_THREAD_TEST_F(LayerTreeHostAcceptsDeltasFromImplWithoutRootLayer);
|
| } // namespace cc
|
|
|