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 |