1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "content/gpu/in_process_gpu_thread.h" 6 7#include "content/gpu/gpu_child_thread.h" 8#include "content/gpu/gpu_process.h" 9 10namespace content { 11 12InProcessGpuThread::InProcessGpuThread(const std::string& channel_id) 13 : base::Thread("Chrome_InProcGpuThread"), 14 channel_id_(channel_id), 15 gpu_process_(NULL) { 16} 17 18InProcessGpuThread::~InProcessGpuThread() { 19 Stop(); 20} 21 22void InProcessGpuThread::Init() { 23 gpu_process_ = new GpuProcess(); 24 // The process object takes ownership of the thread object, so do not 25 // save and delete the pointer. 26 gpu_process_->set_main_thread(new GpuChildThread(channel_id_)); 27} 28 29void InProcessGpuThread::CleanUp() { 30 SetThreadWasQuitProperly(true); 31 delete gpu_process_; 32} 33 34base::Thread* CreateInProcessGpuThread(const std::string& channel_id) { 35 return new InProcessGpuThread(channel_id); 36} 37 38} // namespace content 39