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

Side by Side Diff: content/browser/compositor/gpu_process_transport_factory.cc

Issue 943763004: cc: Remove the unused compositor thread variable and interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: compositorthread: build Created 5 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
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 "content/browser/compositor/gpu_process_transport_factory.h" 5 #include "content/browser/compositor/gpu_process_transport_factory.h"
6 6
7 #include <string> 7 #include <string>
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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 manager, compositor->surface_id_allocator(), context_provider)); 214 manager, compositor->surface_id_allocator(), context_provider));
215 display_client->set_surface_output_surface(output_surface.get()); 215 display_client->set_surface_output_surface(output_surface.get());
216 output_surface->set_display_client(display_client.get()); 216 output_surface->set_display_client(display_client.get());
217 display_client->display()->Resize(compositor->size()); 217 display_client->display()->Resize(compositor->size());
218 data->display_client = display_client.Pass(); 218 data->display_client = display_client.Pass();
219 compositor->SetOutputSurface(output_surface.Pass()); 219 compositor->SetOutputSurface(output_surface.Pass());
220 return; 220 return;
221 } 221 }
222 222
223 if (!context_provider.get()) { 223 if (!context_provider.get()) {
224 if (compositor_thread_.get()) { 224 #if defined(OS_CHROMEOS)
225 LOG(FATAL) << "Failed to create UI context, but can't use software" 225 LOG(FATAL) << "Shouldn't use software compositing on ChromeOS.";
226 " compositing with browser threaded compositing. Aborting."; 226 #endif
227 }
228 227
229 scoped_ptr<SoftwareBrowserCompositorOutputSurface> surface( 228 scoped_ptr<SoftwareBrowserCompositorOutputSurface> surface(
230 new SoftwareBrowserCompositorOutputSurface( 229 new SoftwareBrowserCompositorOutputSurface(
231 CreateSoftwareOutputDevice(compositor.get()), 230 CreateSoftwareOutputDevice(compositor.get()),
232 data->surface_id, 231 data->surface_id,
233 &output_surface_map_, 232 &output_surface_map_,
234 compositor->vsync_manager())); 233 compositor->vsync_manager()));
235 compositor->SetOutputSurface(surface.Pass()); 234 compositor->SetOutputSurface(surface.Pass());
236 return; 235 return;
237 } 236 }
238 237
239 scoped_ptr<BrowserCompositorOutputSurface> surface; 238 scoped_ptr<BrowserCompositorOutputSurface> surface;
240 #if defined(USE_OZONE) 239 #if defined(USE_OZONE)
241 if (ui::SurfaceFactoryOzone::GetInstance()->CanShowPrimaryPlaneAsOverlay()) { 240 if (ui::SurfaceFactoryOzone::GetInstance()->CanShowPrimaryPlaneAsOverlay()) {
242 surface.reset(new GpuSurfacelessBrowserCompositorOutputSurface( 241 surface.reset(new GpuSurfacelessBrowserCompositorOutputSurface(
243 context_provider, data->surface_id, &output_surface_map_, 242 context_provider, data->surface_id, &output_surface_map_,
244 compositor->vsync_manager(), 243 compositor->vsync_manager(),
245 CreateOverlayCandidateValidator(compositor->widget()), GL_RGB, 244 CreateOverlayCandidateValidator(compositor->widget()), GL_RGB,
246 compositor_thread_ != nullptr,
247 BrowserGpuMemoryBufferManager::current())); 245 BrowserGpuMemoryBufferManager::current()));
248 } 246 }
249 #endif 247 #endif
250 if (!surface) 248 if (!surface)
251 surface.reset(new GpuBrowserCompositorOutputSurface( 249 surface.reset(new GpuBrowserCompositorOutputSurface(
252 context_provider, 250 context_provider,
253 data->surface_id, 251 data->surface_id,
254 &output_surface_map_, 252 &output_surface_map_,
255 compositor->vsync_manager(), 253 compositor->vsync_manager(),
256 CreateOverlayCandidateValidator(compositor->widget()))); 254 CreateOverlayCandidateValidator(compositor->widget())));
257 255
258 if (data->reflector.get()) 256 if (data->reflector.get())
259 data->reflector->ReattachToOutputSurfaceFromMainThread(surface.get()); 257 data->reflector->ReattachToOutputSurfaceFromMainThread(surface.get());
260 258
261 compositor->SetOutputSurface(surface.Pass()); 259 compositor->SetOutputSurface(surface.Pass());
262 } 260 }
263 261
264 scoped_refptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector( 262 scoped_refptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
265 ui::Compositor* source, 263 ui::Compositor* source,
266 ui::Layer* target) { 264 ui::Layer* target) {
267 PerCompositorData* data = per_compositor_data_[source]; 265 PerCompositorData* data = per_compositor_data_[source];
268 DCHECK(data); 266 DCHECK(data);
269 267
270 data->reflector = new ReflectorImpl(source, 268 data->reflector = new ReflectorImpl(source, target, &output_surface_map_,
271 target, 269 nullptr, // Compositor message loop.
272 &output_surface_map_,
273 GetCompositorMessageLoop(),
274 data->surface_id); 270 data->surface_id);
275 return data->reflector; 271 return data->reflector;
276 } 272 }
277 273
278 void GpuProcessTransportFactory::RemoveReflector( 274 void GpuProcessTransportFactory::RemoveReflector(
279 scoped_refptr<ui::Reflector> reflector) { 275 scoped_refptr<ui::Reflector> reflector) {
280 ReflectorImpl* reflector_impl = 276 ReflectorImpl* reflector_impl =
281 static_cast<ReflectorImpl*>(reflector.get()); 277 static_cast<ReflectorImpl*>(reflector.get());
282 PerCompositorData* data = 278 PerCompositorData* data =
283 per_compositor_data_[reflector_impl->mirrored_compositor()]; 279 per_compositor_data_[reflector_impl->mirrored_compositor()];
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 318
323 gpu::GpuMemoryBufferManager* 319 gpu::GpuMemoryBufferManager*
324 GpuProcessTransportFactory::GetGpuMemoryBufferManager() { 320 GpuProcessTransportFactory::GetGpuMemoryBufferManager() {
325 return BrowserGpuMemoryBufferManager::current(); 321 return BrowserGpuMemoryBufferManager::current();
326 } 322 }
327 323
328 ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() { 324 ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() {
329 return this; 325 return this;
330 } 326 }
331 327
332 base::MessageLoopProxy* GpuProcessTransportFactory::GetCompositorMessageLoop() {
333 if (!compositor_thread_)
334 return NULL;
335 return compositor_thread_->message_loop_proxy().get();
336 }
337
338 gfx::GLSurfaceHandle GpuProcessTransportFactory::GetSharedSurfaceHandle() { 328 gfx::GLSurfaceHandle GpuProcessTransportFactory::GetSharedSurfaceHandle() {
339 gfx::GLSurfaceHandle handle = gfx::GLSurfaceHandle( 329 gfx::GLSurfaceHandle handle = gfx::GLSurfaceHandle(
340 gfx::kNullPluginWindow, gfx::NULL_TRANSPORT); 330 gfx::kNullPluginWindow, gfx::NULL_TRANSPORT);
341 handle.parent_client_id = 331 handle.parent_client_id =
342 BrowserGpuChannelHostFactory::instance()->GetGpuChannelId(); 332 BrowserGpuChannelHostFactory::instance()->GetGpuChannelId();
343 return handle; 333 return handle;
344 } 334 }
345 335
346 scoped_ptr<cc::SurfaceIdAllocator> 336 scoped_ptr<cc::SurfaceIdAllocator>
347 GpuProcessTransportFactory::CreateSurfaceIdAllocator() { 337 GpuProcessTransportFactory::CreateSurfaceIdAllocator() {
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 FOR_EACH_OBSERVER(ImageTransportFactoryObserver, 502 FOR_EACH_OBSERVER(ImageTransportFactoryObserver,
513 observer_list_, 503 observer_list_,
514 OnLostResources()); 504 OnLostResources());
515 505
516 // Kill things that use the shared context before killing the shared context. 506 // Kill things that use the shared context before killing the shared context.
517 lost_gl_helper.reset(); 507 lost_gl_helper.reset();
518 lost_shared_main_thread_contexts = NULL; 508 lost_shared_main_thread_contexts = NULL;
519 } 509 }
520 510
521 } // namespace content 511 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698