• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
10 namespace content {
11 
InProcessGpuThread(const std::string & channel_id)12 InProcessGpuThread::InProcessGpuThread(const std::string& channel_id)
13     : base::Thread("Chrome_InProcGpuThread"),
14       channel_id_(channel_id),
15       gpu_process_(NULL) {
16 }
17 
~InProcessGpuThread()18 InProcessGpuThread::~InProcessGpuThread() {
19   Stop();
20 }
21 
Init()22 void 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 
CleanUp()29 void InProcessGpuThread::CleanUp() {
30   delete gpu_process_;
31 }
32 
CreateInProcessGpuThread(const std::string & channel_id)33 base::Thread* CreateInProcessGpuThread(const std::string& channel_id) {
34   return new InProcessGpuThread(channel_id);
35 }
36 
37 }  // namespace content
38