Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 150153003: Revert of aura: Remove old GL paths from RenderWidgetHostViewAura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698