| Index: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
|
| index edeba63fb254de715f707cd7c6db890567e07a87..6911f280af418e8603273583f65ce2c0d6ef1fa7 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
|
| @@ -155,7 +155,7 @@
|
|
|
| virtual bool ShouldCreateResizeLock() OVERRIDE {
|
| gfx::Size desired_size = window()->bounds().size();
|
| - return desired_size != current_frame_size_in_dip();
|
| + return desired_size != current_frame_size();
|
| }
|
|
|
| virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock)
|
| @@ -834,6 +834,19 @@
|
| EXPECT_EQ(0, cursor_client.calls_to_set_cursor());
|
| }
|
|
|
| +scoped_ptr<cc::CompositorFrame> MakeGLFrame(float scale_factor,
|
| + gfx::Size size,
|
| + gfx::Rect damage) {
|
| + scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
|
| + frame->metadata.device_scale_factor = scale_factor;
|
| + frame->gl_frame_data.reset(new cc::GLFrameData);
|
| + frame->gl_frame_data->sync_point = 1;
|
| + memset(frame->gl_frame_data->mailbox.name, '1', 64);
|
| + frame->gl_frame_data->size = size;
|
| + frame->gl_frame_data->sub_buffer_rect = damage;
|
| + return frame.Pass();
|
| +}
|
| +
|
| scoped_ptr<cc::CompositorFrame> MakeSoftwareFrame(float scale_factor,
|
| gfx::Size size,
|
| gfx::Rect damage) {
|
| @@ -889,9 +902,7 @@
|
| // Resizes are blocked until we swapped a frame of the correct size, and
|
| // we've committed it.
|
| view_->OnSwapCompositorFrame(
|
| - 0,
|
| - MakeDelegatedFrame(
|
| - 1.f, params.a.new_size, gfx::Rect(params.a.new_size)));
|
| + 0, MakeGLFrame(1.f, params.a.new_size, gfx::Rect(params.a.new_size)));
|
| ui::DrawWaiterForTest::WaitForCommit(
|
| root_window->GetDispatcher()->host()->compositor());
|
| }
|
| @@ -912,9 +923,7 @@
|
| gfx::Rect(params.a.screen_info.availableRect).ToString());
|
| EXPECT_EQ("1600x1200", params.a.new_size.ToString());
|
| view_->OnSwapCompositorFrame(
|
| - 0,
|
| - MakeDelegatedFrame(
|
| - 1.f, params.a.new_size, gfx::Rect(params.a.new_size)));
|
| + 0, MakeGLFrame(1.f, params.a.new_size, gfx::Rect(params.a.new_size)));
|
| ui::DrawWaiterForTest::WaitForCommit(
|
| root_window->GetDispatcher()->host()->compositor());
|
| }
|
| @@ -935,6 +944,54 @@
|
|
|
| MockWindowObserver observer;
|
| view_->window_->AddObserver(&observer);
|
| +
|
| + // Swap a frame through the GPU path.
|
| + GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params;
|
| + params.surface_id = widget_host_->surface_id();
|
| + params.route_id = widget_host_->GetRoutingID();
|
| + params.mailbox_name = std::string(64, '1');
|
| + params.size = view_size;
|
| + params.scale_factor = 1.f;
|
| +
|
| + EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_, view_rect));
|
| + view_->AcceleratedSurfaceBuffersSwapped(params, 0);
|
| + testing::Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + // DSF = 2
|
| + params.size = gfx::Size(200, 200);
|
| + params.scale_factor = 2.f;
|
| + EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_, view_rect));
|
| + view_->AcceleratedSurfaceBuffersSwapped(params, 0);
|
| + testing::Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + // Partial frames though GPU path
|
| + GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params post_params;
|
| + post_params.surface_id = widget_host_->surface_id();
|
| + post_params.route_id = widget_host_->GetRoutingID();
|
| + post_params.mailbox_name = std::string(64, '1');
|
| + post_params.surface_size = gfx::Size(200, 200);
|
| + post_params.surface_scale_factor = 2.f;
|
| + post_params.x = 40;
|
| + post_params.y = 40;
|
| + post_params.width = 80;
|
| + post_params.height = 80;
|
| + // rect from params is upside down, and is inflated in RWHVA, just because.
|
| + EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_,
|
| + gfx::Rect(19, 39, 42, 42)));
|
| + view_->AcceleratedSurfacePostSubBuffer(post_params, 0);
|
| + testing::Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + // Composite-to-mailbox path
|
| + EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_, view_rect));
|
| + view_->OnSwapCompositorFrame(0, MakeGLFrame(1.f, view_size, view_rect));
|
| + testing::Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + // rect from GL frame is upside down, and is inflated in RWHVA, just because.
|
| + EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_,
|
| + gfx::Rect(4, 89, 7, 7)));
|
| + view_->OnSwapCompositorFrame(
|
| + 0, MakeGLFrame(1.f, view_size, gfx::Rect(5, 5, 5, 5)));
|
| + testing::Mock::VerifyAndClearExpectations(&observer);
|
|
|
| // Software path
|
| EXPECT_CALL(observer, OnWindowPaintScheduled(view_->window_, view_rect));
|
|
|