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#ifndef CONTENT_RENDERER_IN_PROCESS_RENDERER_THREAD_H_ 6#define CONTENT_RENDERER_IN_PROCESS_RENDERER_THREAD_H_ 7 8#include <string> 9 10#include "base/threading/thread.h" 11#include "content/common/content_export.h" 12 13namespace content { 14class RenderProcess; 15 16// This class creates the IO thread for the renderer when running in 17// single-process mode. It's not used in multi-process mode. 18class InProcessRendererThread : public base::Thread { 19 public: 20 explicit InProcessRendererThread(const std::string& channel_id); 21 virtual ~InProcessRendererThread(); 22 23 protected: 24 virtual void Init() OVERRIDE; 25 virtual void CleanUp() OVERRIDE; 26 27 private: 28 std::string channel_id_; 29 scoped_ptr<RenderProcess> render_process_; 30 31 DISALLOW_COPY_AND_ASSIGN(InProcessRendererThread); 32}; 33 34CONTENT_EXPORT base::Thread* CreateInProcessRendererThread( 35 const std::string& channel_id); 36 37} // namespace content 38 39#endif // CONTENT_RENDERER_IN_PROCESS_RENDERER_THREAD_H_ 40