| OLD | NEW |
| 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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 display_output_surface = base::WrapUnique(new cc::PixelTestOutputSurface( | 163 display_output_surface = base::WrapUnique(new cc::PixelTestOutputSurface( |
| 164 context_provider, shared_worker_context_provider_, | 164 context_provider, shared_worker_context_provider_, |
| 165 flipped_output_surface)); | 165 flipped_output_surface)); |
| 166 } else { | 166 } else { |
| 167 display_output_surface = base::WrapUnique(new DirectOutputSurface( | 167 display_output_surface = base::WrapUnique(new DirectOutputSurface( |
| 168 context_provider, shared_worker_context_provider_)); | 168 context_provider, shared_worker_context_provider_)); |
| 169 } | 169 } |
| 170 | 170 |
| 171 if (surface_manager_) { | 171 if (surface_manager_) { |
| 172 std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source( | 172 std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source( |
| 173 new cc::DelayBasedBeginFrameSource( | 173 new cc::DelayBasedBeginFrameSource(compositor->task_runner().get())); |
| 174 base::MakeUnique<cc::DelayBasedTimeSource>( | |
| 175 compositor->task_runner().get()))); | |
| 176 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( | 174 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( |
| 177 begin_frame_source.get(), compositor->task_runner().get(), | 175 begin_frame_source.get(), compositor->task_runner().get(), |
| 178 display_output_surface->capabilities().max_frames_pending)); | 176 display_output_surface->capabilities().max_frames_pending)); |
| 179 per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>( | 177 per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>( |
| 180 surface_manager_, GetSharedBitmapManager(), GetGpuMemoryBufferManager(), | 178 surface_manager_, GetSharedBitmapManager(), GetGpuMemoryBufferManager(), |
| 181 compositor->GetRendererSettings(), | 179 compositor->GetRendererSettings(), |
| 182 compositor->surface_id_allocator()->id_namespace(), | 180 compositor->surface_id_allocator()->id_namespace(), |
| 183 std::move(begin_frame_source), std::move(display_output_surface), | 181 std::move(begin_frame_source), std::move(display_output_surface), |
| 184 std::move(scheduler), base::MakeUnique<cc::TextureMailboxDeleter>( | 182 std::move(scheduler), base::MakeUnique<cc::TextureMailboxDeleter>( |
| 185 compositor->task_runner().get())); | 183 compositor->task_runner().get())); |
| 186 | 184 |
| 187 auto* display = per_compositor_data_[compositor.get()].get(); | 185 auto* display = per_compositor_data_[compositor.get()].get(); |
| 188 std::unique_ptr<cc::SurfaceDisplayOutputSurface> surface_output_surface( | 186 std::unique_ptr<cc::SurfaceDisplayOutputSurface> surface_output_surface( |
| 189 new cc::SurfaceDisplayOutputSurface( | 187 new cc::SurfaceDisplayOutputSurface( |
| 190 surface_manager_, compositor->surface_id_allocator(), display, | 188 surface_manager_, compositor->surface_id_allocator(), display, |
| 191 context_provider, shared_worker_context_provider_)); | 189 context_provider, shared_worker_context_provider_)); |
| 192 compositor->SetOutputSurface(std::move(surface_output_surface)); | 190 compositor->SetOutputSurface(std::move(surface_output_surface)); |
| 193 } else { | 191 } else { |
| 194 compositor->SetOutputSurface(std::move(display_output_surface)); | 192 compositor->SetOutputSurface(std::move(display_output_surface)); |
| 195 } | 193 } |
| 196 } | 194 } |
| 197 | 195 |
| 198 std::unique_ptr<Reflector> InProcessContextFactory::CreateReflector( | 196 std::unique_ptr<Reflector> InProcessContextFactory::CreateReflector( |
| 199 Compositor* mirrored_compositor, | 197 Compositor* mirrored_compositor, |
| 200 Layer* mirroring_layer) { | 198 Layer* mirroring_layer) { |
| 201 return base::WrapUnique(new FakeReflector); | 199 return base::WrapUnique(new FakeReflector); |
| 202 } | 200 } |
| 203 | 201 |
| 204 void InProcessContextFactory::RemoveReflector(Reflector* reflector) { | 202 void InProcessContextFactory::RemoveReflector(Reflector* reflector) {} |
| 205 } | |
| 206 | 203 |
| 207 scoped_refptr<cc::ContextProvider> | 204 scoped_refptr<cc::ContextProvider> |
| 208 InProcessContextFactory::SharedMainThreadContextProvider() { | 205 InProcessContextFactory::SharedMainThreadContextProvider() { |
| 209 if (shared_main_thread_contexts_ && | 206 if (shared_main_thread_contexts_ && |
| 210 shared_main_thread_contexts_->ContextGL()->GetGraphicsResetStatusKHR() == | 207 shared_main_thread_contexts_->ContextGL()->GetGraphicsResetStatusKHR() == |
| 211 GL_NO_ERROR) | 208 GL_NO_ERROR) |
| 212 return shared_main_thread_contexts_; | 209 return shared_main_thread_contexts_; |
| 213 | 210 |
| 214 shared_main_thread_contexts_ = InProcessContextProvider::CreateOffscreen( | 211 shared_main_thread_contexts_ = InProcessContextProvider::CreateOffscreen( |
| 215 &gpu_memory_buffer_manager_, &image_factory_, nullptr); | 212 &gpu_memory_buffer_manager_, &image_factory_, nullptr); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 | 268 |
| 272 void InProcessContextFactory::AddObserver(ContextFactoryObserver* observer) { | 269 void InProcessContextFactory::AddObserver(ContextFactoryObserver* observer) { |
| 273 observer_list_.AddObserver(observer); | 270 observer_list_.AddObserver(observer); |
| 274 } | 271 } |
| 275 | 272 |
| 276 void InProcessContextFactory::RemoveObserver(ContextFactoryObserver* observer) { | 273 void InProcessContextFactory::RemoveObserver(ContextFactoryObserver* observer) { |
| 277 observer_list_.RemoveObserver(observer); | 274 observer_list_.RemoveObserver(observer); |
| 278 } | 275 } |
| 279 | 276 |
| 280 } // namespace ui | 277 } // namespace ui |
| OLD | NEW |