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

Side by Side Diff: cc/surfaces/display_unittest.cc

Issue 1201573002: cc: Remove BeginFrameSourcesConstructor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/test/null_task_runner.h" 5 #include "base/test/null_task_runner.h"
6 #include "cc/output/compositor_frame.h" 6 #include "cc/output/compositor_frame.h"
7 #include "cc/output/copy_output_result.h" 7 #include "cc/output/copy_output_result.h"
8 #include "cc/output/delegated_frame_data.h" 8 #include "cc/output/delegated_frame_data.h"
9 #include "cc/quads/render_pass.h" 9 #include "cc/quads/render_pass.h"
10 #include "cc/resources/shared_bitmap_manager.h" 10 #include "cc/resources/shared_bitmap_manager.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 SurfaceFactory::DrawCallback()); 59 SurfaceFactory::DrawCallback());
60 } 60 }
61 61
62 SurfaceManager manager_; 62 SurfaceManager manager_;
63 EmptySurfaceFactoryClient empty_client_; 63 EmptySurfaceFactoryClient empty_client_;
64 SurfaceFactory factory_; 64 SurfaceFactory factory_;
65 scoped_ptr<FakeOutputSurface> output_surface_; 65 scoped_ptr<FakeOutputSurface> output_surface_;
66 FakeOutputSurface* output_surface_ptr_; 66 FakeOutputSurface* output_surface_ptr_;
67 FakeBeginFrameSource fake_begin_frame_source_; 67 FakeBeginFrameSource fake_begin_frame_source_;
68 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; 68 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
69 scoped_refptr<base::NullTaskRunner> task_runner_;
69 }; 70 };
70 71
71 class TestDisplayClient : public DisplayClient { 72 class TestDisplayClient : public DisplayClient {
72 public: 73 public:
73 TestDisplayClient() {} 74 TestDisplayClient() {}
74 ~TestDisplayClient() override {} 75 ~TestDisplayClient() override {}
75 76
76 void CommitVSyncParameters(base::TimeTicks timebase, 77 void CommitVSyncParameters(base::TimeTicks timebase,
77 base::TimeDelta interval) override {} 78 base::TimeDelta interval) override {}
78 void OutputSurfaceLost() override {} 79 void OutputSurfaceLost() override {}
79 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {} 80 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {}
80 }; 81 };
81 82
82 class TestDisplayScheduler : public DisplayScheduler { 83 class TestDisplayScheduler : public DisplayScheduler {
83 public: 84 public:
84 TestDisplayScheduler(DisplaySchedulerClient* client, 85 TestDisplayScheduler(DisplaySchedulerClient* client,
85 BeginFrameSource* begin_frame_source) 86 BeginFrameSource* begin_frame_source,
86 : DisplayScheduler(client, 87 base::NullTaskRunner* task_runner)
87 begin_frame_source, 88 : DisplayScheduler(client, begin_frame_source, task_runner, 1),
88 make_scoped_refptr(new base::NullTaskRunner),
89 1),
90 damaged(false), 89 damaged(false),
91 entire_display_damaged(false), 90 entire_display_damaged(false),
92 swapped(false) {} 91 swapped(false) {}
93 92
94 ~TestDisplayScheduler() override {} 93 ~TestDisplayScheduler() override {}
95 94
96 void EntireDisplayDamaged(SurfaceId root_surface_id) override { 95 void EntireDisplayDamaged(SurfaceId root_surface_id) override {
97 entire_display_damaged = true; 96 entire_display_damaged = true;
98 } 97 }
99 98
(...skipping 21 matching lines...) Expand all
121 // Check that frame is damaged and swapped only under correct conditions. 120 // Check that frame is damaged and swapped only under correct conditions.
122 TEST_F(DisplayTest, DisplayDamaged) { 121 TEST_F(DisplayTest, DisplayDamaged) {
123 SetUpContext(nullptr); 122 SetUpContext(nullptr);
124 TestDisplayClient client; 123 TestDisplayClient client;
125 RendererSettings settings; 124 RendererSettings settings;
126 settings.partial_swap_enabled = true; 125 settings.partial_swap_enabled = true;
127 settings.finish_rendering_on_resize = true; 126 settings.finish_rendering_on_resize = true;
128 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 127 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
129 settings); 128 settings);
130 129
131 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_); 130 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
131 task_runner_.get());
132 display.Initialize(output_surface_.Pass(), &scheduler); 132 display.Initialize(output_surface_.Pass(), &scheduler);
133 133
134 SurfaceId surface_id(7u); 134 SurfaceId surface_id(7u);
135 EXPECT_FALSE(scheduler.damaged); 135 EXPECT_FALSE(scheduler.damaged);
136 EXPECT_FALSE(scheduler.entire_display_damaged); 136 EXPECT_FALSE(scheduler.entire_display_damaged);
137 display.SetSurfaceId(surface_id, 1.f); 137 display.SetSurfaceId(surface_id, 1.f);
138 EXPECT_FALSE(scheduler.damaged); 138 EXPECT_FALSE(scheduler.damaged);
139 EXPECT_TRUE(scheduler.entire_display_damaged); 139 EXPECT_TRUE(scheduler.entire_display_damaged);
140 140
141 scheduler.ResetDamageForTest(); 141 scheduler.ResetDamageForTest();
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 SetUpContext(context.Pass()); 328 SetUpContext(context.Pass());
329 329
330 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0); 330 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0);
331 TestDisplayClient client; 331 TestDisplayClient client;
332 RendererSettings settings; 332 RendererSettings settings;
333 settings.partial_swap_enabled = true; 333 settings.partial_swap_enabled = true;
334 settings.finish_rendering_on_resize = true; 334 settings.finish_rendering_on_resize = true;
335 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 335 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
336 settings); 336 settings);
337 337
338 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_); 338 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
339 task_runner_.get());
339 display.Initialize(output_surface_.Pass(), &scheduler); 340 display.Initialize(output_surface_.Pass(), &scheduler);
340 341
341 SurfaceId surface_id(7u); 342 SurfaceId surface_id(7u);
342 display.SetSurfaceId(surface_id, 1.f); 343 display.SetSurfaceId(surface_id, 1.f);
343 344
344 display.Resize(gfx::Size(100, 100)); 345 display.Resize(gfx::Size(100, 100));
345 factory_.Create(surface_id); 346 factory_.Create(surface_id);
346 347
347 { 348 {
348 RenderPassList pass_list; 349 RenderPassList pass_list;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 388
388 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); 389 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM());
389 display.Resize(gfx::Size(250, 250)); 390 display.Resize(gfx::Size(250, 250));
390 testing::Mock::VerifyAndClearExpectations(context_ptr); 391 testing::Mock::VerifyAndClearExpectations(context_ptr);
391 392
392 factory_.Destroy(surface_id); 393 factory_.Destroy(surface_id);
393 } 394 }
394 395
395 } // namespace 396 } // namespace
396 } // namespace cc 397 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698