Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: content/renderer/render_thread_impl.h

Issue 11232014: Move a bunch of code in content\renderer to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/observer_list.h" 12 #include "base/observer_list.h"
13 #include "base/timer.h" 13 #include "base/timer.h"
14 #include "build/build_config.h" 14 #include "build/build_config.h"
15 #include "content/common/child_process.h" 15 #include "content/common/child_process.h"
16 #include "content/common/child_thread.h" 16 #include "content/common/child_thread.h"
17 #include "content/common/content_export.h" 17 #include "content/common/content_export.h"
18 #include "content/common/css_colors.h" 18 #include "content/common/css_colors.h"
19 #include "content/common/gpu/client/gpu_channel_host.h" 19 #include "content/common/gpu/client/gpu_channel_host.h"
20 #include "content/common/gpu/gpu_process_launch_causes.h" 20 #include "content/common/gpu/gpu_process_launch_causes.h"
21 #include "content/public/renderer/render_thread.h" 21 #include "content/public/renderer/render_thread.h"
22 #include "ipc/ipc_channel_proxy.h" 22 #include "ipc/ipc_channel_proxy.h"
23 #include "ui/gfx/native_widget_types.h" 23 #include "ui/gfx/native_widget_types.h"
24 24
25 class AppCacheDispatcher; 25 class AppCacheDispatcher;
26 class AudioInputMessageFilter; 26 class AudioInputMessageFilter;
27 class AudioMessageFilter; 27 class AudioMessageFilter;
28 class CompositorThread;
29 class DBMessageFilter; 28 class DBMessageFilter;
30 class DevToolsAgentFilter;
31 class DomStorageDispatcher;
32 class GpuChannelHost; 29 class GpuChannelHost;
33 class IndexedDBDispatcher; 30 class IndexedDBDispatcher;
34 class MediaStreamDependencyFactory; 31 class MediaStreamDependencyFactory;
35 class RendererWebKitPlatformSupportImpl;
36 class SkBitmap; 32 class SkBitmap;
37 class VideoCaptureImplManager; 33 class VideoCaptureImplManager;
38 struct ViewMsg_New_Params; 34 struct ViewMsg_New_Params;
39 class WebDatabaseObserverImpl; 35 class WebDatabaseObserverImpl;
40 class WebGraphicsContext3DCommandBufferImpl; 36 class WebGraphicsContext3DCommandBufferImpl;
41 37
42 namespace WebKit { 38 namespace WebKit {
43 class WebMediaStreamCenter; 39 class WebMediaStreamCenter;
44 class WebMediaStreamCenterClient; 40 class WebMediaStreamCenterClient;
45 } 41 }
46 42
47 namespace base { 43 namespace base {
48 class MessageLoopProxy; 44 class MessageLoopProxy;
49 class Thread; 45 class Thread;
50 46
51 #if defined(OS_WIN) 47 #if defined(OS_WIN)
52 namespace win { 48 namespace win {
53 class ScopedCOMInitializer; 49 class ScopedCOMInitializer;
54 } 50 }
55 #endif 51 #endif
56 } 52 }
57 53
58 namespace IPC { 54 namespace IPC {
59 class ForwardingMessageFilter; 55 class ForwardingMessageFilter;
60 } 56 }
61 57
58 namespace v8 {
59 class Extension;
60 }
61
62 namespace content { 62 namespace content {
63
63 class AudioRendererMixerManager; 64 class AudioRendererMixerManager;
65 class CompositorThread;
66 class DevToolsAgentFilter;
67 class DomStorageDispatcher;
64 class MediaStreamCenter; 68 class MediaStreamCenter;
65 class P2PSocketDispatcher; 69 class P2PSocketDispatcher;
70 class RendererWebKitPlatformSupportImpl;
66 class RenderProcessObserver; 71 class RenderProcessObserver;
67 72
68 namespace old { 73 namespace old {
69 class BrowserPluginChannelManager; 74 class BrowserPluginChannelManager;
70 class BrowserPluginRegistry; 75 class BrowserPluginRegistry;
71 } 76 }
72 77
73 }
74
75 namespace v8 {
76 class Extension;
77 }
78
79 // The RenderThreadImpl class represents a background thread where RenderView 78 // The RenderThreadImpl class represents a background thread where RenderView
80 // instances live. The RenderThread supports an API that is used by its 79 // instances live. The RenderThread supports an API that is used by its
81 // consumer to talk indirectly to the RenderViews and supporting objects. 80 // consumer to talk indirectly to the RenderViews and supporting objects.
82 // Likewise, it provides an API for the RenderViews to talk back to the main 81 // Likewise, it provides an API for the RenderViews to talk back to the main
83 // process (i.e., their corresponding WebContentsImpl). 82 // process (i.e., their corresponding WebContentsImpl).
84 // 83 //
85 // Most of the communication occurs in the form of IPC messages. They are 84 // Most of the communication occurs in the form of IPC messages. They are
86 // routed to the RenderThread according to the routing IDs of the messages. 85 // routed to the RenderThread according to the routing IDs of the messages.
87 // The routing IDs correspond to RenderView instances. 86 // The routing IDs correspond to RenderView instances.
88 class CONTENT_EXPORT RenderThreadImpl : public content::RenderThread, 87 class CONTENT_EXPORT RenderThreadImpl : public RenderThread,
89 public ChildThread, 88 public ChildThread,
90 public GpuChannelHostFactory { 89 public GpuChannelHostFactory {
91 public: 90 public:
92 static RenderThreadImpl* current(); 91 static RenderThreadImpl* current();
93 92
94 RenderThreadImpl(); 93 RenderThreadImpl();
95 // Constructor that's used when running in single process mode. 94 // Constructor that's used when running in single process mode.
96 explicit RenderThreadImpl(const std::string& channel_name); 95 explicit RenderThreadImpl(const std::string& channel_name);
97 virtual ~RenderThreadImpl(); 96 virtual ~RenderThreadImpl();
98 97
99 // When initializing WebKit, ensure that any schemes needed for the content 98 // When initializing WebKit, ensure that any schemes needed for the content
100 // module are registered properly. Static to allow sharing with tests. 99 // module are registered properly. Static to allow sharing with tests.
101 static void RegisterSchemes(); 100 static void RegisterSchemes();
102 101
103 // content::RenderThread implementation: 102 // RenderThread implementation:
104 virtual bool Send(IPC::Message* msg) OVERRIDE; 103 virtual bool Send(IPC::Message* msg) OVERRIDE;
105 virtual MessageLoop* GetMessageLoop() OVERRIDE; 104 virtual MessageLoop* GetMessageLoop() OVERRIDE;
106 virtual IPC::SyncChannel* GetChannel() OVERRIDE; 105 virtual IPC::SyncChannel* GetChannel() OVERRIDE;
107 virtual std::string GetLocale() OVERRIDE; 106 virtual std::string GetLocale() OVERRIDE;
108 virtual IPC::SyncMessageFilter* GetSyncMessageFilter() OVERRIDE; 107 virtual IPC::SyncMessageFilter* GetSyncMessageFilter() OVERRIDE;
109 virtual scoped_refptr<base::MessageLoopProxy> GetIOMessageLoopProxy() 108 virtual scoped_refptr<base::MessageLoopProxy> GetIOMessageLoopProxy()
110 OVERRIDE; 109 OVERRIDE;
111 virtual void AddRoute(int32 routing_id, IPC::Listener* listener) OVERRIDE; 110 virtual void AddRoute(int32 routing_id, IPC::Listener* listener) OVERRIDE;
112 virtual void RemoveRoute(int32 routing_id) OVERRIDE; 111 virtual void RemoveRoute(int32 routing_id) OVERRIDE;
113 virtual int GenerateRoutingID() OVERRIDE; 112 virtual int GenerateRoutingID() OVERRIDE;
114 virtual void AddFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE; 113 virtual void AddFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE;
115 virtual void RemoveFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE; 114 virtual void RemoveFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE;
116 virtual void SetOutgoingMessageFilter( 115 virtual void SetOutgoingMessageFilter(
117 IPC::ChannelProxy::OutgoingMessageFilter* filter) OVERRIDE; 116 IPC::ChannelProxy::OutgoingMessageFilter* filter) OVERRIDE;
118 virtual void AddObserver(content::RenderProcessObserver* observer) OVERRIDE; 117 virtual void AddObserver(RenderProcessObserver* observer) OVERRIDE;
119 virtual void RemoveObserver( 118 virtual void RemoveObserver(RenderProcessObserver* observer) OVERRIDE;
120 content::RenderProcessObserver* observer) OVERRIDE;
121 virtual void SetResourceDispatcherDelegate( 119 virtual void SetResourceDispatcherDelegate(
122 content::ResourceDispatcherDelegate* delegate) OVERRIDE; 120 ResourceDispatcherDelegate* delegate) OVERRIDE;
123 virtual void WidgetHidden() OVERRIDE; 121 virtual void WidgetHidden() OVERRIDE;
124 virtual void WidgetRestored() OVERRIDE; 122 virtual void WidgetRestored() OVERRIDE;
125 virtual void EnsureWebKitInitialized() OVERRIDE; 123 virtual void EnsureWebKitInitialized() OVERRIDE;
126 virtual void RecordUserMetrics(const std::string& action) OVERRIDE; 124 virtual void RecordUserMetrics(const std::string& action) OVERRIDE;
127 virtual base::SharedMemoryHandle HostAllocateSharedMemoryBuffer( 125 virtual base::SharedMemoryHandle HostAllocateSharedMemoryBuffer(
128 uint32 buffer_size) OVERRIDE; 126 uint32 buffer_size) OVERRIDE;
129 virtual void RegisterExtension(v8::Extension* extension) OVERRIDE; 127 virtual void RegisterExtension(v8::Extension* extension) OVERRIDE;
130 virtual void ScheduleIdleHandler(int64 initial_delay_ms) OVERRIDE; 128 virtual void ScheduleIdleHandler(int64 initial_delay_ms) OVERRIDE;
131 virtual void IdleHandler() OVERRIDE; 129 virtual void IdleHandler() OVERRIDE;
132 virtual int64 GetIdleNotificationDelayInMs() const OVERRIDE; 130 virtual int64 GetIdleNotificationDelayInMs() const OVERRIDE;
133 virtual void SetIdleNotificationDelayInMs( 131 virtual void SetIdleNotificationDelayInMs(
134 int64 idle_notification_delay_in_ms) OVERRIDE; 132 int64 idle_notification_delay_in_ms) OVERRIDE;
135 virtual void ToggleWebKitSharedTimer(bool suspend) OVERRIDE; 133 virtual void ToggleWebKitSharedTimer(bool suspend) OVERRIDE;
136 virtual void UpdateHistograms(int sequence_number) OVERRIDE; 134 virtual void UpdateHistograms(int sequence_number) OVERRIDE;
137 #if defined(OS_WIN) 135 #if defined(OS_WIN)
138 virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE; 136 virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
139 virtual void ReleaseCachedFonts() OVERRIDE; 137 virtual void ReleaseCachedFonts() OVERRIDE;
140 #endif 138 #endif
141 139
142 // content::ChildThread: 140 // ChildThread:
143 virtual bool IsWebFrameValid(WebKit::WebFrame* frame) OVERRIDE; 141 virtual bool IsWebFrameValid(WebKit::WebFrame* frame) OVERRIDE;
144 142
145 // GpuChannelHostFactory implementation: 143 // GpuChannelHostFactory implementation:
146 virtual bool IsMainThread() OVERRIDE; 144 virtual bool IsMainThread() OVERRIDE;
147 virtual bool IsIOThread() OVERRIDE; 145 virtual bool IsIOThread() OVERRIDE;
148 virtual MessageLoop* GetMainLoop() OVERRIDE; 146 virtual MessageLoop* GetMainLoop() OVERRIDE;
149 virtual scoped_refptr<base::MessageLoopProxy> GetIOLoopProxy() OVERRIDE; 147 virtual scoped_refptr<base::MessageLoopProxy> GetIOLoopProxy() OVERRIDE;
150 virtual base::WaitableEvent* GetShutDownEvent() OVERRIDE; 148 virtual base::WaitableEvent* GetShutDownEvent() OVERRIDE;
151 virtual scoped_ptr<base::SharedMemory> AllocateSharedMemory( 149 virtual scoped_ptr<base::SharedMemory> AllocateSharedMemory(
152 uint32 size) OVERRIDE; 150 uint32 size) OVERRIDE;
153 virtual int32 CreateViewCommandBuffer( 151 virtual int32 CreateViewCommandBuffer(
154 int32 surface_id, 152 int32 surface_id,
155 const GPUCreateCommandBufferConfig& init_params) OVERRIDE; 153 const GPUCreateCommandBufferConfig& init_params) OVERRIDE;
156 virtual void CreateImage( 154 virtual void CreateImage(
157 gfx::PluginWindowHandle window, 155 gfx::PluginWindowHandle window,
158 int32 image_id, 156 int32 image_id,
159 const CreateImageCallback& callback) OVERRIDE; 157 const CreateImageCallback& callback) OVERRIDE;
160 virtual void DeleteImage(int32 image_id, int32 sync_point) OVERRIDE; 158 virtual void DeleteImage(int32 image_id, int32 sync_point) OVERRIDE;
161 159
162 // Synchronously establish a channel to the GPU plugin if not previously 160 // Synchronously establish a channel to the GPU plugin if not previously
163 // established or if it has been lost (for example if the GPU plugin crashed). 161 // established or if it has been lost (for example if the GPU plugin crashed).
164 // If there is a pending asynchronous request, it will be completed by the 162 // If there is a pending asynchronous request, it will be completed by the
165 // time this routine returns. 163 // time this routine returns.
166 virtual GpuChannelHost* EstablishGpuChannelSync( 164 virtual GpuChannelHost* EstablishGpuChannelSync(CauseForGpuLaunch) OVERRIDE;
167 content::CauseForGpuLaunch) OVERRIDE;
168 165
169 166
170 // These methods modify how the next message is sent. Normally, when sending 167 // These methods modify how the next message is sent. Normally, when sending
171 // a synchronous message that runs a nested message loop, we need to suspend 168 // a synchronous message that runs a nested message loop, we need to suspend
172 // callbacks into WebKit. This involves disabling timers and deferring 169 // callbacks into WebKit. This involves disabling timers and deferring
173 // resource loads. However, there are exceptions when we need to customize 170 // resource loads. However, there are exceptions when we need to customize
174 // the behavior. 171 // the behavior.
175 void DoNotSuspendWebKitSharedTimer(); 172 void DoNotSuspendWebKitSharedTimer();
176 void DoNotNotifyWebKitOfModalLoop(); 173 void DoNotNotifyWebKitOfModalLoop();
177 174
178 IPC::ForwardingMessageFilter* compositor_output_surface_filter() const { 175 IPC::ForwardingMessageFilter* compositor_output_surface_filter() const {
179 return compositor_output_surface_filter_.get(); 176 return compositor_output_surface_filter_.get();
180 } 177 }
181 178
182 // Will be NULL if threaded compositing has not been enabled. 179 // Will be NULL if threaded compositing has not been enabled.
183 CompositorThread* compositor_thread() const { 180 CompositorThread* compositor_thread() const {
184 return compositor_thread_.get(); 181 return compositor_thread_.get();
185 } 182 }
186 183
187 content::old::BrowserPluginRegistry* browser_plugin_registry() const { 184 old::BrowserPluginRegistry* browser_plugin_registry() const {
188 return browser_plugin_registry_.get(); 185 return browser_plugin_registry_.get();
189 } 186 }
190 187
191 content::old::BrowserPluginChannelManager* 188 old::BrowserPluginChannelManager* browser_plugin_channel_manager() const {
192 browser_plugin_channel_manager() const {
193 return browser_plugin_channel_manager_.get(); 189 return browser_plugin_channel_manager_.get();
194 } 190 }
195 191
196 AppCacheDispatcher* appcache_dispatcher() const { 192 AppCacheDispatcher* appcache_dispatcher() const {
197 return appcache_dispatcher_.get(); 193 return appcache_dispatcher_.get();
198 } 194 }
199 195
200 DomStorageDispatcher* dom_storage_dispatcher() const { 196 DomStorageDispatcher* dom_storage_dispatcher() const {
201 return dom_storage_dispatcher_.get(); 197 return dom_storage_dispatcher_.get();
202 } 198 }
(...skipping 10 matching lines...) Expand all
213 209
214 // Creates the embedder implementation of WebMediaStreamCenter. 210 // Creates the embedder implementation of WebMediaStreamCenter.
215 // The resulting object is owned by WebKit and deleted by WebKit at tear-down. 211 // The resulting object is owned by WebKit and deleted by WebKit at tear-down.
216 WebKit::WebMediaStreamCenter* CreateMediaStreamCenter( 212 WebKit::WebMediaStreamCenter* CreateMediaStreamCenter(
217 WebKit::WebMediaStreamCenterClient* client); 213 WebKit::WebMediaStreamCenterClient* client);
218 214
219 // Returns a factory used for creating RTC PeerConnection objects. 215 // Returns a factory used for creating RTC PeerConnection objects.
220 MediaStreamDependencyFactory* GetMediaStreamDependencyFactory(); 216 MediaStreamDependencyFactory* GetMediaStreamDependencyFactory();
221 217
222 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled. 218 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled.
223 content::P2PSocketDispatcher* p2p_socket_dispatcher() { 219 P2PSocketDispatcher* p2p_socket_dispatcher() {
224 return p2p_socket_dispatcher_.get(); 220 return p2p_socket_dispatcher_.get();
225 } 221 }
226 222
227 VideoCaptureImplManager* video_capture_impl_manager() const { 223 VideoCaptureImplManager* video_capture_impl_manager() const {
228 return vc_manager_.get(); 224 return vc_manager_.get();
229 } 225 }
230 226
231 // Get the GPU channel. Returns NULL if the channel is not established or 227 // Get the GPU channel. Returns NULL if the channel is not established or
232 // has been lost. 228 // has been lost.
233 GpuChannelHost* GetGpuChannel(); 229 GpuChannelHost* GetGpuChannel();
(...skipping 14 matching lines...) Expand all
248 // loss. The returned context is only valid on the compositor thread when 244 // loss. The returned context is only valid on the compositor thread when
249 // threaded compositing is enabled. 245 // threaded compositing is enabled.
250 WebGraphicsContext3DCommandBufferImpl* GetGpuVDAContext3D(); 246 WebGraphicsContext3DCommandBufferImpl* GetGpuVDAContext3D();
251 247
252 // Handle loss of the shared GpuVDAContext3D context above. 248 // Handle loss of the shared GpuVDAContext3D context above.
253 static void OnGpuVDAContextLoss(); 249 static void OnGpuVDAContextLoss();
254 250
255 // AudioRendererMixerManager instance which manages renderer side mixer 251 // AudioRendererMixerManager instance which manages renderer side mixer
256 // instances shared based on configured audio parameters. Lazily created on 252 // instances shared based on configured audio parameters. Lazily created on
257 // first call. 253 // first call.
258 content::AudioRendererMixerManager* GetAudioRendererMixerManager(); 254 AudioRendererMixerManager* GetAudioRendererMixerManager();
259 255
260 // For producing custom V8 histograms. Custom histograms are produced if all 256 // For producing custom V8 histograms. Custom histograms are produced if all
261 // RenderViews share the same host, and the host is in the pre-specified set 257 // RenderViews share the same host, and the host is in the pre-specified set
262 // of hosts we want to produce custom diagrams for. The name for a custom 258 // of hosts we want to produce custom diagrams for. The name for a custom
263 // diagram is the name of the corresponding generic diagram plus a 259 // diagram is the name of the corresponding generic diagram plus a
264 // host-specific suffix. 260 // host-specific suffix.
265 class CONTENT_EXPORT HistogramCustomizer { 261 class CONTENT_EXPORT HistogramCustomizer {
266 public: 262 public:
267 HistogramCustomizer(); 263 HistogramCustomizer();
268 ~HistogramCustomizer(); 264 ~HistogramCustomizer();
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 void OnGetAccessibilityTree(); 313 void OnGetAccessibilityTree();
318 void OnTempCrashWithData(const GURL& data); 314 void OnTempCrashWithData(const GURL& data);
319 315
320 void IdleHandlerInForegroundTab(); 316 void IdleHandlerInForegroundTab();
321 317
322 // These objects live solely on the render thread. 318 // These objects live solely on the render thread.
323 scoped_ptr<AppCacheDispatcher> appcache_dispatcher_; 319 scoped_ptr<AppCacheDispatcher> appcache_dispatcher_;
324 scoped_ptr<DomStorageDispatcher> dom_storage_dispatcher_; 320 scoped_ptr<DomStorageDispatcher> dom_storage_dispatcher_;
325 scoped_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_; 321 scoped_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_;
326 scoped_ptr<RendererWebKitPlatformSupportImpl> webkit_platform_support_; 322 scoped_ptr<RendererWebKitPlatformSupportImpl> webkit_platform_support_;
327 scoped_ptr<content::old::BrowserPluginChannelManager> 323 scoped_ptr<old::BrowserPluginChannelManager> browser_plugin_channel_manager_;
328 browser_plugin_channel_manager_;
329 324
330 // Used on the render thread and deleted by WebKit at shutdown. 325 // Used on the render thread and deleted by WebKit at shutdown.
331 content::MediaStreamCenter* media_stream_center_; 326 MediaStreamCenter* media_stream_center_;
332 327
333 // Used on the renderer and IPC threads. 328 // Used on the renderer and IPC threads.
334 scoped_refptr<DBMessageFilter> db_message_filter_; 329 scoped_refptr<DBMessageFilter> db_message_filter_;
335 scoped_refptr<AudioInputMessageFilter> audio_input_message_filter_; 330 scoped_refptr<AudioInputMessageFilter> audio_input_message_filter_;
336 scoped_refptr<AudioMessageFilter> audio_message_filter_; 331 scoped_refptr<AudioMessageFilter> audio_message_filter_;
337 scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_; 332 scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_;
338 333
339 scoped_ptr<MediaStreamDependencyFactory> media_stream_factory_; 334 scoped_ptr<MediaStreamDependencyFactory> media_stream_factory_;
340 335
341 // Dispatches all P2P sockets. 336 // Dispatches all P2P sockets.
342 scoped_refptr<content::P2PSocketDispatcher> p2p_socket_dispatcher_; 337 scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_;
343 338
344 // Used on multiple threads. 339 // Used on multiple threads.
345 scoped_refptr<VideoCaptureImplManager> vc_manager_; 340 scoped_refptr<VideoCaptureImplManager> vc_manager_;
346 341
347 // Used on multiple script execution context threads. 342 // Used on multiple script execution context threads.
348 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; 343 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_;
349 344
350 #if defined(OS_WIN) 345 #if defined(OS_WIN)
351 // Initialize COM when using plugins outside the sandbox. 346 // Initialize COM when using plugins outside the sandbox.
352 scoped_ptr<base::win::ScopedCOMInitializer> initialize_com_; 347 scoped_ptr<base::win::ScopedCOMInitializer> initialize_com_;
(...skipping 20 matching lines...) Expand all
373 // The channel from the renderer process to the GPU process. 368 // The channel from the renderer process to the GPU process.
374 scoped_refptr<GpuChannelHost> gpu_channel_; 369 scoped_refptr<GpuChannelHost> gpu_channel_;
375 370
376 // A lazily initiated thread on which file operations are run. 371 // A lazily initiated thread on which file operations are run.
377 scoped_ptr<base::Thread> file_thread_; 372 scoped_ptr<base::Thread> file_thread_;
378 373
379 bool compositor_initialized_; 374 bool compositor_initialized_;
380 scoped_ptr<CompositorThread> compositor_thread_; 375 scoped_ptr<CompositorThread> compositor_thread_;
381 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_; 376 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_;
382 377
383 scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_; 378 scoped_ptr<old::BrowserPluginRegistry> browser_plugin_registry_;
384 379
385 ObserverList<content::RenderProcessObserver> observers_; 380 ObserverList<RenderProcessObserver> observers_;
386 381
387 class GpuVDAContextLostCallback; 382 class GpuVDAContextLostCallback;
388 scoped_ptr<GpuVDAContextLostCallback> context_lost_cb_; 383 scoped_ptr<GpuVDAContextLostCallback> context_lost_cb_;
389 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; 384 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_;
390 385
391 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; 386 scoped_ptr<AudioRendererMixerManager> audio_renderer_mixer_manager_;
392 387
393 HistogramCustomizer histogram_customizer_; 388 HistogramCustomizer histogram_customizer_;
394 389
395 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); 390 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
396 }; 391 };
397 392
393 } // namespace content
394
398 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 395 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_plugin_delegate_impl.cc ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698