| 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 c029c781fc8880381ebb0f06a96e054ee4ffbe9c..d70d83223c4cc4d14773db2b58969a818dc33fc4 100644
|
| --- a/cc/trees/layer_tree_host_unittest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest.cc
|
| @@ -442,7 +442,7 @@ class LayerTreeHostTestSetNeedsRedrawRect : public LayerTreeHostTest {
|
|
|
| if (!num_draws_) {
|
| // If this is the first frame, expect full frame damage.
|
| - EXPECT_RECT_EQ(root_damage_rect, gfx::Rect(bounds_));
|
| + EXPECT_EQ(root_damage_rect, gfx::Rect(bounds_));
|
| } else {
|
| // Check that invalid_rect_ is indeed repainted.
|
| EXPECT_TRUE(root_damage_rect.Contains(invalid_rect_));
|
| @@ -624,17 +624,17 @@ class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest {
|
|
|
| switch (num_draws_) {
|
| case 0:
|
| - EXPECT_RECT_EQ(gfx::Rect(bounds_), root_damage_rect);
|
| + EXPECT_EQ(gfx::Rect(bounds_), root_damage_rect);
|
| break;
|
| case 1:
|
| case 2:
|
| - EXPECT_RECT_EQ(gfx::Rect(0, 0, 0, 0), root_damage_rect);
|
| + EXPECT_EQ(gfx::Rect(0, 0, 0, 0), root_damage_rect);
|
| break;
|
| case 3:
|
| - EXPECT_RECT_EQ(invalid_rect_, root_damage_rect);
|
| + EXPECT_EQ(invalid_rect_, root_damage_rect);
|
| break;
|
| case 4:
|
| - EXPECT_RECT_EQ(gfx::Rect(bounds_), root_damage_rect);
|
| + EXPECT_EQ(gfx::Rect(bounds_), root_damage_rect);
|
| break;
|
| default:
|
| NOTREACHED();
|
| @@ -736,12 +736,12 @@ class LayerTreeHostTestUndrawnLayersDamageLater : public LayerTreeHostTest {
|
| // box.
|
| switch (host_impl->active_tree()->source_frame_number()) {
|
| case 0:
|
| - EXPECT_RECT_EQ(gfx::Rect(root_layer_->bounds()), root_damage_rect);
|
| + EXPECT_EQ(gfx::Rect(root_layer_->bounds()), root_damage_rect);
|
| break;
|
| case 1:
|
| case 2:
|
| case 3:
|
| - EXPECT_RECT_EQ(gfx::Rect(child_layer_->bounds()), root_damage_rect);
|
| + EXPECT_EQ(gfx::Rect(child_layer_->bounds()), root_damage_rect);
|
| break;
|
| default:
|
| NOTREACHED();
|
| @@ -1269,8 +1269,7 @@ class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers
|
| ASSERT_EQ(2u, root->render_surface()->layer_list().size());
|
|
|
| // The root render surface is the size of the viewport.
|
| - EXPECT_RECT_EQ(gfx::Rect(0, 0, 60, 60),
|
| - root->render_surface()->content_rect());
|
| + EXPECT_EQ(gfx::Rect(0, 0, 60, 60), root->render_surface()->content_rect());
|
|
|
| // The max tiling scale of the child should be scaled.
|
| EXPECT_FLOAT_EQ(1.5f, child->MaximumTilingContentsScale());
|
| @@ -2643,10 +2642,10 @@ class LayerTreeHostTestChangeLayerPropertiesInPaintContents
|
| num_commits_++;
|
| if (num_commits_ == 1) {
|
| LayerImpl* root_layer = host_impl->active_tree()->root_layer();
|
| - EXPECT_SIZE_EQ(gfx::Size(1, 1), root_layer->bounds());
|
| + EXPECT_EQ(gfx::Size(1, 1), root_layer->bounds());
|
| } else {
|
| LayerImpl* root_layer = host_impl->active_tree()->root_layer();
|
| - EXPECT_SIZE_EQ(gfx::Size(2, 2), root_layer->bounds());
|
| + EXPECT_EQ(gfx::Size(2, 2), root_layer->bounds());
|
| EndTest();
|
| }
|
| }
|
| @@ -2769,7 +2768,7 @@ class LayerTreeHostTestIOSurfaceDrawing : public LayerTreeHostTest {
|
| CHECK_EQ(DrawQuad::IO_SURFACE_CONTENT, quad->material);
|
| const IOSurfaceDrawQuad* io_surface_draw_quad =
|
| IOSurfaceDrawQuad::MaterialCast(quad);
|
| - EXPECT_SIZE_EQ(io_surface_size_, io_surface_draw_quad->io_surface_size);
|
| + EXPECT_EQ(io_surface_size_, io_surface_draw_quad->io_surface_size);
|
| EXPECT_NE(0u, io_surface_draw_quad->io_surface_resource_id);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_RECTANGLE_ARB),
|
| resource_provider->TargetForTesting(
|
| @@ -4719,6 +4718,62 @@ class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest {
|
|
|
| MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise);
|
|
|
| +class LayerTreeHostTestKeepSwapPromise : public LayerTreeTest {
|
| + public:
|
| + LayerTreeHostTestKeepSwapPromise() {}
|
| +
|
| + void BeginTest() override {
|
| + layer_ = SolidColorLayer::Create();
|
| + layer_->SetIsDrawable(true);
|
| + layer_->SetBounds(gfx::Size(10, 10));
|
| + layer_tree_host()->SetRootLayer(layer_);
|
| + gfx::Size bounds(100, 100);
|
| + layer_tree_host()->SetViewportSize(bounds);
|
| + PostSetNeedsCommitToMainThread();
|
| + }
|
| +
|
| + void DidCommit() override {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&LayerTreeHostTestKeepSwapPromise::ChangeFrame,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void ChangeFrame() {
|
| + switch (layer_tree_host()->source_frame_number()) {
|
| + case 1:
|
| + layer_->SetBounds(gfx::Size(10, 11));
|
| + layer_tree_host()->QueueSwapPromise(
|
| + make_scoped_ptr(new TestSwapPromise(&swap_promise_result_)));
|
| + break;
|
| + case 2:
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| + }
|
| +
|
| + void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override {
|
| + EXPECT_TRUE(result);
|
| + if (host_impl->active_tree()->source_frame_number() >= 1) {
|
| + // The commit changes layers so it should cause a swap.
|
| + base::AutoLock lock(swap_promise_result_.lock);
|
| + EXPECT_TRUE(swap_promise_result_.did_swap_called);
|
| + EXPECT_FALSE(swap_promise_result_.did_not_swap_called);
|
| + EXPECT_TRUE(swap_promise_result_.dtor_called);
|
| + EndTest();
|
| + }
|
| + }
|
| +
|
| + void AfterTest() override {}
|
| +
|
| + private:
|
| + scoped_refptr<Layer> layer_;
|
| + TestSwapPromiseResult swap_promise_result_;
|
| +};
|
| +
|
| +SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromise);
|
| +
|
| class LayerTreeHostTestBreakSwapPromiseForVisibilityAbortedCommit
|
| : public LayerTreeHostTest {
|
| protected:
|
| @@ -4780,17 +4835,9 @@ class LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit
|
|
|
| void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl,
|
| bool did_handle) override {
|
| + // This is needed so that the impl-thread state matches main-thread state.
|
| + host_impl->DidLoseOutputSurface();
|
| EndTest();
|
| - // This lets the test finally commit and exit.
|
| - MainThreadTaskRunner()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit::
|
| - FindOutputSurface,
|
| - base::Unretained(this)));
|
| - }
|
| -
|
| - void FindOutputSurface() {
|
| - layer_tree_host()->OnCreateAndInitializeOutputSurfaceAttempted(true);
|
| }
|
|
|
| void AfterTest() override {
|
|
|