- add sources.
[platform/framework/web/crosswalk.git] / src / content / gpu / in_process_gpu_thread.cc
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
12 InProcessGpuThread::InProcessGpuThread(const std::string& channel_id)
13     : base::Thread("Chrome_InProcGpuThread"),
14       channel_id_(channel_id),
15       gpu_process_(NULL) {
16 }
17
18 InProcessGpuThread::~InProcessGpuThread() {
19   Stop();
20 }
21
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
29 void InProcessGpuThread::CleanUp() {
30   delete gpu_process_;
31 }
32
33 base::Thread* CreateInProcessGpuThread(const std::string& channel_id) {
34   return new InProcessGpuThread(channel_id);
35 }
36
37 }  // namespace content