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

Side by Side Diff: ui/compositor/test/in_process_context_factory.cc

Issue 2691363002: Centralize FrameSinkId allocation in one place (Closed)
Patch Set: explicit Created 3 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 unified diff | Download patch
« no previous file with comments | « ui/compositor/test/in_process_context_factory.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/compositor/test/in_process_context_factory.h" 5 #include "ui/compositor/test/in_process_context_factory.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 20 matching lines...) Expand all
31 #include "ui/compositor/test/in_process_context_provider.h" 31 #include "ui/compositor/test/in_process_context_provider.h"
32 #include "ui/gl/gl_implementation.h" 32 #include "ui/gl/gl_implementation.h"
33 #include "ui/gl/test/gl_surface_test_support.h" 33 #include "ui/gl/test/gl_surface_test_support.h"
34 34
35 #if !defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW) 35 #if !defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW)
36 #include "gpu/ipc/common/gpu_surface_tracker.h" 36 #include "gpu/ipc/common/gpu_surface_tracker.h"
37 #endif 37 #endif
38 38
39 namespace ui { 39 namespace ui {
40 namespace { 40 namespace {
41 // The client_id used here should not conflict with the client_id generated
42 // from RenderWidgetHostImpl.
43 constexpr uint32_t kDefaultClientId = 0u;
41 44
42 class FakeReflector : public Reflector { 45 class FakeReflector : public Reflector {
43 public: 46 public:
44 FakeReflector() {} 47 FakeReflector() {}
45 ~FakeReflector() override {} 48 ~FakeReflector() override {}
46 void OnMirroringCompositorResized() override {} 49 void OnMirroringCompositorResized() override {}
47 void AddMirroringLayer(Layer* layer) override {} 50 void AddMirroringLayer(Layer* layer) override {}
48 void RemoveMirroringLayer(Layer* layer) override {} 51 void RemoveMirroringLayer(Layer* layer) override {}
49 }; 52 };
50 53
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 125
123 struct InProcessContextFactory::PerCompositorData { 126 struct InProcessContextFactory::PerCompositorData {
124 gpu::SurfaceHandle surface_handle = gpu::kNullSurfaceHandle; 127 gpu::SurfaceHandle surface_handle = gpu::kNullSurfaceHandle;
125 std::unique_ptr<cc::BeginFrameSource> begin_frame_source; 128 std::unique_ptr<cc::BeginFrameSource> begin_frame_source;
126 std::unique_ptr<cc::Display> display; 129 std::unique_ptr<cc::Display> display;
127 }; 130 };
128 131
129 InProcessContextFactory::InProcessContextFactory( 132 InProcessContextFactory::InProcessContextFactory(
130 bool context_factory_for_test, 133 bool context_factory_for_test,
131 cc::SurfaceManager* surface_manager) 134 cc::SurfaceManager* surface_manager)
132 : next_surface_sink_id_(1u), 135 : frame_sink_id_allocator_(kDefaultClientId),
133 use_test_surface_(true), 136 use_test_surface_(true),
134 context_factory_for_test_(context_factory_for_test), 137 context_factory_for_test_(context_factory_for_test),
135 surface_manager_(surface_manager) { 138 surface_manager_(surface_manager) {
136 DCHECK(surface_manager); 139 DCHECK(surface_manager);
137 DCHECK_NE(gl::GetGLImplementation(), gl::kGLImplementationNone) 140 DCHECK_NE(gl::GetGLImplementation(), gl::kGLImplementationNone)
138 << "If running tests, ensure that main() is calling " 141 << "If running tests, ensure that main() is calling "
139 << "gl::GLSurfaceTestSupport::InitializeOneOff()"; 142 << "gl::GLSurfaceTestSupport::InitializeOneOff()";
140 } 143 }
141 144
142 InProcessContextFactory::~InProcessContextFactory() { 145 InProcessContextFactory::~InProcessContextFactory() {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 gpu::GpuMemoryBufferManager* 281 gpu::GpuMemoryBufferManager*
279 InProcessContextFactory::GetGpuMemoryBufferManager() { 282 InProcessContextFactory::GetGpuMemoryBufferManager() {
280 return &gpu_memory_buffer_manager_; 283 return &gpu_memory_buffer_manager_;
281 } 284 }
282 285
283 cc::TaskGraphRunner* InProcessContextFactory::GetTaskGraphRunner() { 286 cc::TaskGraphRunner* InProcessContextFactory::GetTaskGraphRunner() {
284 return &task_graph_runner_; 287 return &task_graph_runner_;
285 } 288 }
286 289
287 cc::FrameSinkId InProcessContextFactory::AllocateFrameSinkId() { 290 cc::FrameSinkId InProcessContextFactory::AllocateFrameSinkId() {
288 // The FrameSinkId generated here must be unique with 291 return frame_sink_id_allocator_.NextFrameSinkId();
289 // RenderWidgetHostViewAura's
290 // and RenderWidgetHostViewMac's FrameSinkId allocation.
291 // TODO(crbug.com/685777): Centralize allocation in one place for easier
292 // maintenance.
293 return cc::FrameSinkId(0, next_surface_sink_id_++);
294 } 292 }
295 293
296 cc::SurfaceManager* InProcessContextFactory::GetSurfaceManager() { 294 cc::SurfaceManager* InProcessContextFactory::GetSurfaceManager() {
297 return surface_manager_; 295 return surface_manager_;
298 } 296 }
299 297
300 void InProcessContextFactory::SetDisplayVisible(ui::Compositor* compositor, 298 void InProcessContextFactory::SetDisplayVisible(ui::Compositor* compositor,
301 bool visible) { 299 bool visible) {
302 if (!per_compositor_data_.count(compositor)) 300 if (!per_compositor_data_.count(compositor))
303 return; 301 return;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 data->surface_handle = tracker->AddSurfaceForNativeWidget(widget); 334 data->surface_handle = tracker->AddSurfaceForNativeWidget(widget);
337 #endif 335 #endif
338 } 336 }
339 337
340 PerCompositorData* return_ptr = data.get(); 338 PerCompositorData* return_ptr = data.get();
341 per_compositor_data_[compositor] = std::move(data); 339 per_compositor_data_[compositor] = std::move(data);
342 return return_ptr; 340 return return_ptr;
343 } 341 }
344 342
345 } // namespace ui 343 } // namespace ui
OLDNEW
« no previous file with comments | « ui/compositor/test/in_process_context_factory.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698