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 13 namespace content { 14 class 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. 18 class 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 34 CONTENT_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