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

Side by Side Diff: content/browser/gpu/browser_gpu_channel_host_factory.cc

Issue 1117183006: Remove BrowserGpuChannelHostFactory usage of UnsafeGetMessageLoopForThread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/gpu/browser_gpu_channel_host_factory.h" 5 #include "content/browser/gpu/browser_gpu_channel_host_factory.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/profiler/scoped_tracker.h" 10 #include "base/profiler/scoped_tracker.h"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 case gfx::IO_SURFACE_BUFFER: 274 case gfx::IO_SURFACE_BUFFER:
275 // IOSurface backed images require GL_TEXTURE_RECTANGLE_ARB. 275 // IOSurface backed images require GL_TEXTURE_RECTANGLE_ARB.
276 return GL_TEXTURE_RECTANGLE_ARB; 276 return GL_TEXTURE_RECTANGLE_ARB;
277 default: 277 default:
278 return GL_TEXTURE_2D; 278 return GL_TEXTURE_2D;
279 } 279 }
280 } 280 }
281 281
282 BrowserGpuChannelHostFactory::BrowserGpuChannelHostFactory() 282 BrowserGpuChannelHostFactory::BrowserGpuChannelHostFactory()
283 : gpu_client_id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()), 283 : gpu_client_id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()),
284 main_task_runner_(base::MessageLoopProxy::current()),
284 shutdown_event_(new base::WaitableEvent(true, false)), 285 shutdown_event_(new base::WaitableEvent(true, false)),
285 gpu_memory_buffer_manager_( 286 gpu_memory_buffer_manager_(
286 new BrowserGpuMemoryBufferManager(this, gpu_client_id_)), 287 new BrowserGpuMemoryBufferManager(this, gpu_client_id_)),
287 gpu_host_id_(0), 288 gpu_host_id_(0),
288 next_create_gpu_memory_buffer_request_id_(0) { 289 next_create_gpu_memory_buffer_request_id_(0) {
289 } 290 }
290 291
291 BrowserGpuChannelHostFactory::~BrowserGpuChannelHostFactory() { 292 BrowserGpuChannelHostFactory::~BrowserGpuChannelHostFactory() {
292 DCHECK(IsMainThread()); 293 DCHECK(main_task_runner_->BelongsToCurrentThread());
293 if (pending_request_.get()) 294 if (pending_request_.get())
294 pending_request_->Cancel(); 295 pending_request_->Cancel();
295 for (size_t n = 0; n < established_callbacks_.size(); n++) 296 for (size_t n = 0; n < established_callbacks_.size(); n++)
296 established_callbacks_[n].Run(); 297 established_callbacks_[n].Run();
297 shutdown_event_->Signal(); 298 shutdown_event_->Signal();
298 } 299 }
299 300
300 bool BrowserGpuChannelHostFactory::IsMainThread() { 301 scoped_refptr<base::SingleThreadTaskRunner>
301 return BrowserThread::CurrentlyOn(BrowserThread::UI); 302 BrowserGpuChannelHostFactory::GetMainTaskRunner() {
302 } 303 return main_task_runner_;
303
304 base::MessageLoop* BrowserGpuChannelHostFactory::GetMainLoop() {
305 return BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::UI);
306 } 304 }
307 305
308 scoped_refptr<base::MessageLoopProxy> 306 scoped_refptr<base::MessageLoopProxy>
309 BrowserGpuChannelHostFactory::GetIOLoopProxy() { 307 BrowserGpuChannelHostFactory::GetIOLoopProxy() {
310 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); 308 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO);
311 } 309 }
312 310
313 scoped_ptr<base::SharedMemory> 311 scoped_ptr<base::SharedMemory>
314 BrowserGpuChannelHostFactory::AllocateSharedMemory(size_t size) { 312 BrowserGpuChannelHostFactory::AllocateSharedMemory(size_t size) {
315 scoped_ptr<base::SharedMemory> shm(new base::SharedMemory()); 313 scoped_ptr<base::SharedMemory> shm(new base::SharedMemory());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 } 412 }
415 413
416 GpuChannelHost* BrowserGpuChannelHostFactory::GetGpuChannel() { 414 GpuChannelHost* BrowserGpuChannelHostFactory::GetGpuChannel() {
417 if (gpu_channel_.get() && !gpu_channel_->IsLost()) 415 if (gpu_channel_.get() && !gpu_channel_->IsLost())
418 return gpu_channel_.get(); 416 return gpu_channel_.get();
419 417
420 return NULL; 418 return NULL;
421 } 419 }
422 420
423 void BrowserGpuChannelHostFactory::GpuChannelEstablished() { 421 void BrowserGpuChannelHostFactory::GpuChannelEstablished() {
424 DCHECK(IsMainThread()); 422 DCHECK(main_task_runner_->BelongsToCurrentThread());
425 DCHECK(pending_request_.get()); 423 DCHECK(pending_request_.get());
426 if (pending_request_->channel_handle().name.empty()) { 424 if (pending_request_->channel_handle().name.empty()) {
427 DCHECK(!gpu_channel_.get()); 425 DCHECK(!gpu_channel_.get());
428 } else { 426 } else {
429 // TODO(robliao): Remove ScopedTracker below once https://crbug.com/466866 427 // TODO(robliao): Remove ScopedTracker below once https://crbug.com/466866
430 // is fixed. 428 // is fixed.
431 tracked_objects::ScopedTracker tracking_profile1( 429 tracked_objects::ScopedTracker tracking_profile1(
432 FROM_HERE_WITH_EXPLICIT_FUNCTION( 430 FROM_HERE_WITH_EXPLICIT_FUNCTION(
433 "466866 BrowserGpuChannelHostFactory::GpuChannelEstablished1")); 431 "466866 BrowserGpuChannelHostFactory::GpuChannelEstablished1"));
434 GetContentClient()->SetGpuInfo(pending_request_->gpu_info()); 432 GetContentClient()->SetGpuInfo(pending_request_->gpu_info());
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 DCHECK_CURRENTLY_ON(BrowserThread::IO); 557 DCHECK_CURRENTLY_ON(BrowserThread::IO);
560 558
561 CreateGpuMemoryBufferCallbackMap::iterator iter = 559 CreateGpuMemoryBufferCallbackMap::iterator iter =
562 create_gpu_memory_buffer_requests_.find(request_id); 560 create_gpu_memory_buffer_requests_.find(request_id);
563 DCHECK(iter != create_gpu_memory_buffer_requests_.end()); 561 DCHECK(iter != create_gpu_memory_buffer_requests_.end());
564 iter->second.Run(handle); 562 iter->second.Run(handle);
565 create_gpu_memory_buffer_requests_.erase(iter); 563 create_gpu_memory_buffer_requests_.erase(iter);
566 } 564 }
567 565
568 } // namespace content 566 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/browser_gpu_channel_host_factory.h ('k') | content/common/gpu/client/gpu_channel_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698