| OLD | NEW |
| 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 <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 // routed to the RenderThread according to the routing IDs of the messages. | 147 // routed to the RenderThread according to the routing IDs of the messages. |
| 148 // The routing IDs correspond to RenderView instances. | 148 // The routing IDs correspond to RenderView instances. |
| 149 class CONTENT_EXPORT RenderThreadImpl | 149 class CONTENT_EXPORT RenderThreadImpl |
| 150 : public RenderThread, | 150 : public RenderThread, |
| 151 public ChildThreadImpl, | 151 public ChildThreadImpl, |
| 152 public gpu::GpuChannelHostFactory, | 152 public gpu::GpuChannelHostFactory, |
| 153 NON_EXPORTED_BASE(public CompositorDependencies) { | 153 NON_EXPORTED_BASE(public CompositorDependencies) { |
| 154 public: | 154 public: |
| 155 static RenderThreadImpl* Create(const InProcessChildThreadParams& params); | 155 static RenderThreadImpl* Create(const InProcessChildThreadParams& params); |
| 156 static RenderThreadImpl* Create( | 156 static RenderThreadImpl* Create( |
| 157 scoped_ptr<base::MessageLoop> main_message_loop, | 157 std::unique_ptr<base::MessageLoop> main_message_loop, |
| 158 scoped_ptr<scheduler::RendererScheduler> renderer_scheduler); | 158 std::unique_ptr<scheduler::RendererScheduler> renderer_scheduler); |
| 159 static RenderThreadImpl* current(); | 159 static RenderThreadImpl* current(); |
| 160 | 160 |
| 161 ~RenderThreadImpl() override; | 161 ~RenderThreadImpl() override; |
| 162 void Shutdown() override; | 162 void Shutdown() override; |
| 163 | 163 |
| 164 // When initializing WebKit, ensure that any schemes needed for the content | 164 // When initializing WebKit, ensure that any schemes needed for the content |
| 165 // module are registered properly. Static to allow sharing with tests. | 165 // module are registered properly. Static to allow sharing with tests. |
| 166 static void RegisterSchemes(); | 166 static void RegisterSchemes(); |
| 167 | 167 |
| 168 // Notify V8 that the date/time configuration of the system might have | 168 // Notify V8 that the date/time configuration of the system might have |
| 169 // changed. | 169 // changed. |
| 170 static void NotifyTimezoneChange(); | 170 static void NotifyTimezoneChange(); |
| 171 | 171 |
| 172 // RenderThread implementation: | 172 // RenderThread implementation: |
| 173 bool Send(IPC::Message* msg) override; | 173 bool Send(IPC::Message* msg) override; |
| 174 IPC::SyncChannel* GetChannel() override; | 174 IPC::SyncChannel* GetChannel() override; |
| 175 std::string GetLocale() override; | 175 std::string GetLocale() override; |
| 176 IPC::SyncMessageFilter* GetSyncMessageFilter() override; | 176 IPC::SyncMessageFilter* GetSyncMessageFilter() override; |
| 177 scoped_refptr<base::SingleThreadTaskRunner> GetIOMessageLoopProxy() override; | 177 scoped_refptr<base::SingleThreadTaskRunner> GetIOMessageLoopProxy() override; |
| 178 void AddRoute(int32_t routing_id, IPC::Listener* listener) override; | 178 void AddRoute(int32_t routing_id, IPC::Listener* listener) override; |
| 179 void RemoveRoute(int32_t routing_id) override; | 179 void RemoveRoute(int32_t routing_id) override; |
| 180 int GenerateRoutingID() override; | 180 int GenerateRoutingID() override; |
| 181 void AddFilter(IPC::MessageFilter* filter) override; | 181 void AddFilter(IPC::MessageFilter* filter) override; |
| 182 void RemoveFilter(IPC::MessageFilter* filter) override; | 182 void RemoveFilter(IPC::MessageFilter* filter) override; |
| 183 void AddObserver(RenderProcessObserver* observer) override; | 183 void AddObserver(RenderProcessObserver* observer) override; |
| 184 void RemoveObserver(RenderProcessObserver* observer) override; | 184 void RemoveObserver(RenderProcessObserver* observer) override; |
| 185 void SetResourceDispatcherDelegate( | 185 void SetResourceDispatcherDelegate( |
| 186 ResourceDispatcherDelegate* delegate) override; | 186 ResourceDispatcherDelegate* delegate) override; |
| 187 scoped_ptr<base::SharedMemory> HostAllocateSharedMemoryBuffer( | 187 std::unique_ptr<base::SharedMemory> HostAllocateSharedMemoryBuffer( |
| 188 size_t buffer_size) override; | 188 size_t buffer_size) override; |
| 189 cc::SharedBitmapManager* GetSharedBitmapManager() override; | 189 cc::SharedBitmapManager* GetSharedBitmapManager() override; |
| 190 void RegisterExtension(v8::Extension* extension) override; | 190 void RegisterExtension(v8::Extension* extension) override; |
| 191 void ScheduleIdleHandler(int64_t initial_delay_ms) override; | 191 void ScheduleIdleHandler(int64_t initial_delay_ms) override; |
| 192 void IdleHandler() override; | 192 void IdleHandler() override; |
| 193 int64_t GetIdleNotificationDelayInMs() const override; | 193 int64_t GetIdleNotificationDelayInMs() const override; |
| 194 void SetIdleNotificationDelayInMs( | 194 void SetIdleNotificationDelayInMs( |
| 195 int64_t idle_notification_delay_in_ms) override; | 195 int64_t idle_notification_delay_in_ms) override; |
| 196 void UpdateHistograms(int sequence_number) override; | 196 void UpdateHistograms(int sequence_number) override; |
| 197 int PostTaskToAllWebWorkers(const base::Closure& closure) override; | 197 int PostTaskToAllWebWorkers(const base::Closure& closure) override; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 210 bool IsGpuMemoryBufferCompositorResourcesEnabled() override; | 210 bool IsGpuMemoryBufferCompositorResourcesEnabled() override; |
| 211 bool IsElasticOverscrollEnabled() override; | 211 bool IsElasticOverscrollEnabled() override; |
| 212 std::vector<unsigned> GetImageTextureTargets() override; | 212 std::vector<unsigned> GetImageTextureTargets() override; |
| 213 scoped_refptr<base::SingleThreadTaskRunner> | 213 scoped_refptr<base::SingleThreadTaskRunner> |
| 214 GetCompositorMainThreadTaskRunner() override; | 214 GetCompositorMainThreadTaskRunner() override; |
| 215 scoped_refptr<base::SingleThreadTaskRunner> | 215 scoped_refptr<base::SingleThreadTaskRunner> |
| 216 GetCompositorImplThreadTaskRunner() override; | 216 GetCompositorImplThreadTaskRunner() override; |
| 217 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; | 217 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; |
| 218 scheduler::RendererScheduler* GetRendererScheduler() override; | 218 scheduler::RendererScheduler* GetRendererScheduler() override; |
| 219 cc::ContextProvider* GetSharedMainThreadContextProvider() override; | 219 cc::ContextProvider* GetSharedMainThreadContextProvider() override; |
| 220 scoped_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( | 220 std::unique_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( |
| 221 int routing_id) override; | 221 int routing_id) override; |
| 222 cc::ImageSerializationProcessor* GetImageSerializationProcessor() override; | 222 cc::ImageSerializationProcessor* GetImageSerializationProcessor() override; |
| 223 cc::TaskGraphRunner* GetTaskGraphRunner() override; | 223 cc::TaskGraphRunner* GetTaskGraphRunner() override; |
| 224 bool AreImageDecodeTasksEnabled() override; | 224 bool AreImageDecodeTasksEnabled() override; |
| 225 bool IsThreadedAnimationEnabled() override; | 225 bool IsThreadedAnimationEnabled() override; |
| 226 | 226 |
| 227 // Synchronously establish a channel to the GPU plugin if not previously | 227 // Synchronously establish a channel to the GPU plugin if not previously |
| 228 // established or if it has been lost (for example if the GPU plugin crashed). | 228 // established or if it has been lost (for example if the GPU plugin crashed). |
| 229 // If there is a pending asynchronous request, it will be completed by the | 229 // If there is a pending asynchronous request, it will be completed by the |
| 230 // time this routine returns. | 230 // time this routine returns. |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 void RegisterPendingRenderFrameConnect( | 455 void RegisterPendingRenderFrameConnect( |
| 456 int routing_id, | 456 int routing_id, |
| 457 mojo::shell::mojom::InterfaceProviderRequest services, | 457 mojo::shell::mojom::InterfaceProviderRequest services, |
| 458 mojo::shell::mojom::InterfaceProviderPtr exposed_services); | 458 mojo::shell::mojom::InterfaceProviderPtr exposed_services); |
| 459 | 459 |
| 460 mojom::StoragePartitionService* GetStoragePartitionService(); | 460 mojom::StoragePartitionService* GetStoragePartitionService(); |
| 461 | 461 |
| 462 protected: | 462 protected: |
| 463 RenderThreadImpl( | 463 RenderThreadImpl( |
| 464 const InProcessChildThreadParams& params, | 464 const InProcessChildThreadParams& params, |
| 465 scoped_ptr<scheduler::RendererScheduler> scheduler, | 465 std::unique_ptr<scheduler::RendererScheduler> scheduler, |
| 466 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); | 466 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); |
| 467 RenderThreadImpl(scoped_ptr<base::MessageLoop> main_message_loop, | 467 RenderThreadImpl(std::unique_ptr<base::MessageLoop> main_message_loop, |
| 468 scoped_ptr<scheduler::RendererScheduler> scheduler); | 468 std::unique_ptr<scheduler::RendererScheduler> scheduler); |
| 469 | 469 |
| 470 private: | 470 private: |
| 471 // ChildThread | 471 // ChildThread |
| 472 bool OnControlMessageReceived(const IPC::Message& msg) override; | 472 bool OnControlMessageReceived(const IPC::Message& msg) override; |
| 473 void OnProcessBackgrounded(bool backgrounded) override; | 473 void OnProcessBackgrounded(bool backgrounded) override; |
| 474 void RecordAction(const base::UserMetricsAction& action) override; | 474 void RecordAction(const base::UserMetricsAction& action) override; |
| 475 void RecordComputedAction(const std::string& action) override; | 475 void RecordComputedAction(const std::string& action) override; |
| 476 | 476 |
| 477 // GpuChannelHostFactory implementation: | 477 // GpuChannelHostFactory implementation: |
| 478 bool IsMainThread() override; | 478 bool IsMainThread() override; |
| 479 scoped_refptr<base::SingleThreadTaskRunner> GetIOThreadTaskRunner() override; | 479 scoped_refptr<base::SingleThreadTaskRunner> GetIOThreadTaskRunner() override; |
| 480 scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t size) override; | 480 std::unique_ptr<base::SharedMemory> AllocateSharedMemory( |
| 481 size_t size) override; |
| 481 | 482 |
| 482 void Init(scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); | 483 void Init(scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); |
| 483 | 484 |
| 484 void InitializeCompositorThread(); | 485 void InitializeCompositorThread(); |
| 485 | 486 |
| 486 void InitializeWebKit( | 487 void InitializeWebKit( |
| 487 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); | 488 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue); |
| 488 | 489 |
| 489 void OnCreateNewFrame(FrameMsg_NewFrame_Params params); | 490 void OnCreateNewFrame(FrameMsg_NewFrame_Params params); |
| 490 void OnCreateNewFrameProxy(int routing_id, | 491 void OnCreateNewFrameProxy(int routing_id, |
| (...skipping 27 matching lines...) Expand all Loading... |
| 518 const std::string& highlight_color); | 519 const std::string& highlight_color); |
| 519 #endif | 520 #endif |
| 520 void OnCreateNewSharedWorker( | 521 void OnCreateNewSharedWorker( |
| 521 const WorkerProcessMsg_CreateWorker_Params& params); | 522 const WorkerProcessMsg_CreateWorker_Params& params); |
| 522 bool RendererIsHidden() const; | 523 bool RendererIsHidden() const; |
| 523 void OnRendererHidden(); | 524 void OnRendererHidden(); |
| 524 void OnRendererVisible(); | 525 void OnRendererVisible(); |
| 525 | 526 |
| 526 void ReleaseFreeMemory(); | 527 void ReleaseFreeMemory(); |
| 527 | 528 |
| 528 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateOffscreenContext3d(); | 529 std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> |
| 530 CreateOffscreenContext3d(); |
| 529 | 531 |
| 530 // These objects live solely on the render thread. | 532 // These objects live solely on the render thread. |
| 531 scoped_ptr<AppCacheDispatcher> appcache_dispatcher_; | 533 std::unique_ptr<AppCacheDispatcher> appcache_dispatcher_; |
| 532 scoped_ptr<DomStorageDispatcher> dom_storage_dispatcher_; | 534 std::unique_ptr<DomStorageDispatcher> dom_storage_dispatcher_; |
| 533 scoped_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_; | 535 std::unique_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_; |
| 534 scoped_ptr<scheduler::RendererScheduler> renderer_scheduler_; | 536 std::unique_ptr<scheduler::RendererScheduler> renderer_scheduler_; |
| 535 scoped_ptr<RendererBlinkPlatformImpl> blink_platform_impl_; | 537 std::unique_ptr<RendererBlinkPlatformImpl> blink_platform_impl_; |
| 536 scoped_ptr<ResourceDispatchThrottler> resource_dispatch_throttler_; | 538 std::unique_ptr<ResourceDispatchThrottler> resource_dispatch_throttler_; |
| 537 scoped_ptr<CacheStorageDispatcher> main_thread_cache_storage_dispatcher_; | 539 std::unique_ptr<CacheStorageDispatcher> main_thread_cache_storage_dispatcher_; |
| 538 scoped_ptr<EmbeddedWorkerDispatcher> embedded_worker_dispatcher_; | 540 std::unique_ptr<EmbeddedWorkerDispatcher> embedded_worker_dispatcher_; |
| 539 | 541 |
| 540 // Used on the render thread and deleted by WebKit at shutdown. | 542 // Used on the render thread and deleted by WebKit at shutdown. |
| 541 blink::WebMediaStreamCenter* media_stream_center_; | 543 blink::WebMediaStreamCenter* media_stream_center_; |
| 542 | 544 |
| 543 // Used on the renderer and IPC threads. | 545 // Used on the renderer and IPC threads. |
| 544 scoped_refptr<BlobMessageFilter> blob_message_filter_; | 546 scoped_refptr<BlobMessageFilter> blob_message_filter_; |
| 545 scoped_refptr<DBMessageFilter> db_message_filter_; | 547 scoped_refptr<DBMessageFilter> db_message_filter_; |
| 546 scoped_refptr<AudioInputMessageFilter> audio_input_message_filter_; | 548 scoped_refptr<AudioInputMessageFilter> audio_input_message_filter_; |
| 547 scoped_refptr<AudioMessageFilter> audio_message_filter_; | 549 scoped_refptr<AudioMessageFilter> audio_message_filter_; |
| 548 scoped_refptr<MidiMessageFilter> midi_message_filter_; | 550 scoped_refptr<MidiMessageFilter> midi_message_filter_; |
| 549 #if defined(OS_ANDROID) | 551 #if defined(OS_ANDROID) |
| 550 scoped_refptr<RendererDemuxerAndroid> renderer_demuxer_; | 552 scoped_refptr<RendererDemuxerAndroid> renderer_demuxer_; |
| 551 #endif | 553 #endif |
| 552 scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_; | 554 scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_; |
| 553 scoped_ptr<V8SamplingProfiler> v8_sampling_profiler_; | 555 std::unique_ptr<V8SamplingProfiler> v8_sampling_profiler_; |
| 554 | 556 |
| 555 scoped_ptr<BrowserPluginManager> browser_plugin_manager_; | 557 std::unique_ptr<BrowserPluginManager> browser_plugin_manager_; |
| 556 | 558 |
| 557 #if defined(ENABLE_WEBRTC) | 559 #if defined(ENABLE_WEBRTC) |
| 558 scoped_ptr<PeerConnectionDependencyFactory> peer_connection_factory_; | 560 std::unique_ptr<PeerConnectionDependencyFactory> peer_connection_factory_; |
| 559 | 561 |
| 560 // This is used to communicate to the browser process the status | 562 // This is used to communicate to the browser process the status |
| 561 // of all the peer connections created in the renderer. | 563 // of all the peer connections created in the renderer. |
| 562 scoped_ptr<PeerConnectionTracker> peer_connection_tracker_; | 564 std::unique_ptr<PeerConnectionTracker> peer_connection_tracker_; |
| 563 | 565 |
| 564 // Dispatches all P2P sockets. | 566 // Dispatches all P2P sockets. |
| 565 scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_; | 567 scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_; |
| 566 #endif | 568 #endif |
| 567 | 569 |
| 568 // Used on the render thread. | 570 // Used on the render thread. |
| 569 scoped_ptr<VideoCaptureImplManager> vc_manager_; | 571 std::unique_ptr<VideoCaptureImplManager> vc_manager_; |
| 570 | 572 |
| 571 // Used for communicating registering AEC dump consumers with the browser and | 573 // Used for communicating registering AEC dump consumers with the browser and |
| 572 // receving AEC dump file handles when AEC dump is enabled. An AEC dump is | 574 // receving AEC dump file handles when AEC dump is enabled. An AEC dump is |
| 573 // diagnostic audio data for WebRTC stored locally when enabled by the user in | 575 // diagnostic audio data for WebRTC stored locally when enabled by the user in |
| 574 // chrome://webrtc-internals. | 576 // chrome://webrtc-internals. |
| 575 scoped_refptr<AecDumpMessageFilter> aec_dump_message_filter_; | 577 scoped_refptr<AecDumpMessageFilter> aec_dump_message_filter_; |
| 576 | 578 |
| 577 // The count of RenderWidgets running through this thread. | 579 // The count of RenderWidgets running through this thread. |
| 578 int widget_count_; | 580 int widget_count_; |
| 579 | 581 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 598 // The channel from the renderer process to the GPU process. | 600 // The channel from the renderer process to the GPU process. |
| 599 scoped_refptr<gpu::GpuChannelHost> gpu_channel_; | 601 scoped_refptr<gpu::GpuChannelHost> gpu_channel_; |
| 600 | 602 |
| 601 // Cache of variables that are needed on the compositor thread by | 603 // Cache of variables that are needed on the compositor thread by |
| 602 // GpuChannelHostFactory methods. | 604 // GpuChannelHostFactory methods. |
| 603 scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner_; | 605 scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner_; |
| 604 | 606 |
| 605 // The message loop of the renderer main thread. | 607 // The message loop of the renderer main thread. |
| 606 // This message loop should be destructed before the RenderThreadImpl | 608 // This message loop should be destructed before the RenderThreadImpl |
| 607 // shuts down Blink. | 609 // shuts down Blink. |
| 608 scoped_ptr<base::MessageLoop> main_message_loop_; | 610 std::unique_ptr<base::MessageLoop> main_message_loop_; |
| 609 | 611 |
| 610 // A lazily initiated thread on which file operations are run. | 612 // A lazily initiated thread on which file operations are run. |
| 611 scoped_ptr<base::Thread> file_thread_; | 613 std::unique_ptr<base::Thread> file_thread_; |
| 612 | 614 |
| 613 // May be null if overridden by ContentRendererClient. | 615 // May be null if overridden by ContentRendererClient. |
| 614 scoped_ptr<scheduler::WebThreadBase> compositor_thread_; | 616 std::unique_ptr<scheduler::WebThreadBase> compositor_thread_; |
| 615 | 617 |
| 616 // Utility class to provide GPU functionalities to media. | 618 // Utility class to provide GPU functionalities to media. |
| 617 // TODO(dcastagna): This should be just one scoped_ptr once | 619 // TODO(dcastagna): This should be just one scoped_ptr once |
| 618 // http://crbug.com/580386 is fixed. | 620 // http://crbug.com/580386 is fixed. |
| 619 // NOTE(dcastagna): At worst this accumulates a few bytes per context lost. | 621 // NOTE(dcastagna): At worst this accumulates a few bytes per context lost. |
| 620 ScopedVector<content::RendererGpuVideoAcceleratorFactories> gpu_factories_; | 622 ScopedVector<content::RendererGpuVideoAcceleratorFactories> gpu_factories_; |
| 621 | 623 |
| 622 // Thread for running multimedia operations (e.g., video decoding). | 624 // Thread for running multimedia operations (e.g., video decoding). |
| 623 scoped_ptr<base::Thread> media_thread_; | 625 std::unique_ptr<base::Thread> media_thread_; |
| 624 | 626 |
| 625 // Will point to appropriate task runner after initialization, | 627 // Will point to appropriate task runner after initialization, |
| 626 // regardless of whether |compositor_thread_| is overriden. | 628 // regardless of whether |compositor_thread_| is overriden. |
| 627 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; | 629 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; |
| 628 | 630 |
| 629 // Pool of workers used for raster operations (e.g., tile rasterization). | 631 // Pool of workers used for raster operations (e.g., tile rasterization). |
| 630 scoped_refptr<RasterWorkerPool> raster_worker_pool_; | 632 scoped_refptr<RasterWorkerPool> raster_worker_pool_; |
| 631 | 633 |
| 632 base::CancelableCallback<void(const IPC::Message&)> main_input_callback_; | 634 base::CancelableCallback<void(const IPC::Message&)> main_input_callback_; |
| 633 scoped_refptr<IPC::MessageFilter> input_event_filter_; | 635 scoped_refptr<IPC::MessageFilter> input_event_filter_; |
| 634 scoped_ptr<InputHandlerManager> input_handler_manager_; | 636 std::unique_ptr<InputHandlerManager> input_handler_manager_; |
| 635 scoped_refptr<CompositorForwardingMessageFilter> compositor_message_filter_; | 637 scoped_refptr<CompositorForwardingMessageFilter> compositor_message_filter_; |
| 636 | 638 |
| 637 #if defined(OS_ANDROID) | 639 #if defined(OS_ANDROID) |
| 638 scoped_refptr<SynchronousCompositorFilter> sync_compositor_message_filter_; | 640 scoped_refptr<SynchronousCompositorFilter> sync_compositor_message_filter_; |
| 639 scoped_refptr<StreamTextureFactory> stream_texture_factory_; | 641 scoped_refptr<StreamTextureFactory> stream_texture_factory_; |
| 640 #endif | 642 #endif |
| 641 | 643 |
| 642 scoped_refptr<BluetoothMessageFilter> bluetooth_message_filter_; | 644 scoped_refptr<BluetoothMessageFilter> bluetooth_message_filter_; |
| 643 | 645 |
| 644 scoped_refptr<ContextProviderCommandBuffer> shared_main_thread_contexts_; | 646 scoped_refptr<ContextProviderCommandBuffer> shared_main_thread_contexts_; |
| 645 | 647 |
| 646 base::ObserverList<RenderProcessObserver> observers_; | 648 base::ObserverList<RenderProcessObserver> observers_; |
| 647 | 649 |
| 648 scoped_refptr<ContextProviderCommandBuffer> shared_worker_context_provider_; | 650 scoped_refptr<ContextProviderCommandBuffer> shared_worker_context_provider_; |
| 649 | 651 |
| 650 scoped_ptr<AudioRendererMixerManager> audio_renderer_mixer_manager_; | 652 std::unique_ptr<AudioRendererMixerManager> audio_renderer_mixer_manager_; |
| 651 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_; | 653 std::unique_ptr<media::AudioHardwareConfig> audio_hardware_config_; |
| 652 | 654 |
| 653 HistogramCustomizer histogram_customizer_; | 655 HistogramCustomizer histogram_customizer_; |
| 654 | 656 |
| 655 scoped_ptr<base::MemoryPressureListener> memory_pressure_listener_; | 657 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; |
| 656 | 658 |
| 657 #if defined(ENABLE_WEBRTC) | 659 #if defined(ENABLE_WEBRTC) |
| 658 scoped_ptr<WebRTCIdentityService> webrtc_identity_service_; | 660 std::unique_ptr<WebRTCIdentityService> webrtc_identity_service_; |
| 659 #endif | 661 #endif |
| 660 | 662 |
| 661 scoped_ptr<MemoryObserver> memory_observer_; | 663 std::unique_ptr<MemoryObserver> memory_observer_; |
| 662 | 664 |
| 663 scoped_refptr<base::SingleThreadTaskRunner> | 665 scoped_refptr<base::SingleThreadTaskRunner> |
| 664 main_thread_compositor_task_runner_; | 666 main_thread_compositor_task_runner_; |
| 665 | 667 |
| 666 // Compositor settings. | 668 // Compositor settings. |
| 667 bool is_gpu_rasterization_enabled_; | 669 bool is_gpu_rasterization_enabled_; |
| 668 bool is_gpu_rasterization_forced_; | 670 bool is_gpu_rasterization_forced_; |
| 669 int gpu_rasterization_msaa_sample_count_; | 671 int gpu_rasterization_msaa_sample_count_; |
| 670 bool is_lcd_text_enabled_; | 672 bool is_lcd_text_enabled_; |
| 671 bool is_distance_field_text_enabled_; | 673 bool is_distance_field_text_enabled_; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 719 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
| 718 }; | 720 }; |
| 719 | 721 |
| 720 #if defined(COMPILER_MSVC) | 722 #if defined(COMPILER_MSVC) |
| 721 #pragma warning(pop) | 723 #pragma warning(pop) |
| 722 #endif | 724 #endif |
| 723 | 725 |
| 724 } // namespace content | 726 } // namespace content |
| 725 | 727 |
| 726 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 728 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
| OLD | NEW |