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

Unified Diff: cc/surfaces/surface_factory_unittest.cc

Issue 2651843002: FrameGenerator should receive SurfaceInfo and use it in frame generation (Closed)
Patch Set: c Created 3 years, 11 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 | « cc/surfaces/surface_factory.cc ('k') | services/ui/ws/display.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/surfaces/surface_factory_unittest.cc
diff --git a/cc/surfaces/surface_factory_unittest.cc b/cc/surfaces/surface_factory_unittest.cc
index 8099815d2298277b62ca6f9451a510a096f33020..6deff8b8d5061fec6d561ae16f06fb242d5d3685 100644
--- a/cc/surfaces/surface_factory_unittest.cc
+++ b/cc/surfaces/surface_factory_unittest.cc
@@ -87,6 +87,7 @@ class SurfaceFactoryTest : public testing::Test, public SurfaceObserver {
void OnSurfaceCreated(const SurfaceInfo& surface_info) override {
EXPECT_EQ(kArbitraryFrameSinkId, surface_info.id().frame_sink_id());
last_created_surface_id_ = surface_info.id();
+ last_surface_info_ = surface_info;
}
void OnSurfaceDamaged(const SurfaceId& id, bool* changed) override {
@@ -155,6 +156,7 @@ class SurfaceFactoryTest : public testing::Test, public SurfaceObserver {
std::unique_ptr<SurfaceFactory> factory_;
LocalFrameId local_frame_id_;
SurfaceId last_created_surface_id_;
+ SurfaceInfo last_surface_info_;
// This is the sync token submitted with the frame. It should never be
// returned to the client.
@@ -669,5 +671,28 @@ TEST_F(SurfaceFactoryTest, DuplicateCopyRequest) {
EXPECT_TRUE(called3);
}
+// Check whether the SurfaceInfo object is created and populated correctly
+// after the frame submission.
+TEST_F(SurfaceFactoryTest, SurfaceInfo) {
+ CompositorFrame frame;
+
+ auto render_pass = RenderPass::Create();
+ render_pass->SetNew(1, gfx::Rect(5, 6), gfx::Rect(), gfx::Transform());
+ frame.render_pass_list.push_back(std::move(render_pass));
+
+ render_pass = RenderPass::Create();
+ render_pass->SetNew(2, gfx::Rect(7, 8), gfx::Rect(), gfx::Transform());
+ frame.render_pass_list.push_back(std::move(render_pass));
+
+ frame.metadata.device_scale_factor = 2.5f;
+
+ factory_->SubmitCompositorFrame(local_frame_id_, std::move(frame),
+ SurfaceFactory::DrawCallback());
+ SurfaceId expected_surface_id(factory_->frame_sink_id(), local_frame_id_);
+ EXPECT_EQ(expected_surface_id, last_surface_info_.id());
+ EXPECT_EQ(2.5f, last_surface_info_.device_scale_factor());
+ EXPECT_EQ(gfx::Size(7, 8), last_surface_info_.size_in_pixels());
+}
+
} // namespace
} // namespace cc
« no previous file with comments | « cc/surfaces/surface_factory.cc ('k') | services/ui/ws/display.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698