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

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

Issue 2717213004: Move SharedBitmapManager implementation out of content/ (Closed)
Patch Set: rebase Created 3 years, 8 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
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 namespace IPC { 89 namespace IPC {
90 class MessageFilter; 90 class MessageFilter;
91 } 91 }
92 92
93 namespace media { 93 namespace media {
94 class GpuVideoAcceleratorFactories; 94 class GpuVideoAcceleratorFactories;
95 } 95 }
96 96
97 namespace ui { 97 namespace ui {
98 class ChildSharedBitmapManager;
98 class ContextProviderCommandBuffer; 99 class ContextProviderCommandBuffer;
99 class Gpu; 100 class Gpu;
100 } 101 }
101 102
102 namespace v8 { 103 namespace v8 {
103 class Extension; 104 class Extension;
104 } 105 }
105 106
106 namespace content { 107 namespace content {
107 108
108 class AppCacheDispatcher; 109 class AppCacheDispatcher;
109 class AecDumpMessageFilter; 110 class AecDumpMessageFilter;
110 class AudioInputMessageFilter; 111 class AudioInputMessageFilter;
111 class AudioMessageFilter; 112 class AudioMessageFilter;
112 class AudioRendererMixerManager; 113 class AudioRendererMixerManager;
113 class BlobMessageFilter; 114 class BlobMessageFilter;
114 class BrowserPluginManager; 115 class BrowserPluginManager;
115 class CacheStorageDispatcher; 116 class CacheStorageDispatcher;
116 class ChildSharedBitmapManager;
117 class CompositorForwardingMessageFilter; 117 class CompositorForwardingMessageFilter;
118 class DBMessageFilter; 118 class DBMessageFilter;
119 class DevToolsAgentFilter; 119 class DevToolsAgentFilter;
120 class DomStorageDispatcher; 120 class DomStorageDispatcher;
121 class EmbeddedWorkerDispatcher; 121 class EmbeddedWorkerDispatcher;
122 class FrameSwapMessageQueue; 122 class FrameSwapMessageQueue;
123 class IndexedDBDispatcher; 123 class IndexedDBDispatcher;
124 class InputHandlerManager; 124 class InputHandlerManager;
125 class MemoryObserver; 125 class MemoryObserver;
126 class MidiMessageFilter; 126 class MidiMessageFilter;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 public base::FieldTrialList::Observer, 163 public base::FieldTrialList::Observer,
164 NON_EXPORTED_BASE(public mojom::Renderer), 164 NON_EXPORTED_BASE(public mojom::Renderer),
165 NON_EXPORTED_BASE(public CompositorDependencies) { 165 NON_EXPORTED_BASE(public CompositorDependencies) {
166 public: 166 public:
167 static RenderThreadImpl* Create(const InProcessChildThreadParams& params); 167 static RenderThreadImpl* Create(const InProcessChildThreadParams& params);
168 static RenderThreadImpl* Create( 168 static RenderThreadImpl* Create(
169 std::unique_ptr<base::MessageLoop> main_message_loop, 169 std::unique_ptr<base::MessageLoop> main_message_loop,
170 std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler); 170 std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler);
171 static RenderThreadImpl* current(); 171 static RenderThreadImpl* current();
172 static mojom::RenderMessageFilter* current_render_message_filter(); 172 static mojom::RenderMessageFilter* current_render_message_filter();
173 static const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>&
174 current_thread_safe_render_message_filter();
175 173
176 static void SetRenderMessageFilterForTesting( 174 static void SetRenderMessageFilterForTesting(
177 mojom::RenderMessageFilter* render_message_filter); 175 mojom::RenderMessageFilter* render_message_filter);
178 176
179 ~RenderThreadImpl() override; 177 ~RenderThreadImpl() override;
180 void Shutdown() override; 178 void Shutdown() override;
181 bool ShouldBeDestroyed() override; 179 bool ShouldBeDestroyed() override;
182 180
183 // When initializing WebKit, ensure that any schemes needed for the content 181 // When initializing WebKit, ensure that any schemes needed for the content
184 // module are registered properly. Static to allow sharing with tests. 182 // module are registered properly. Static to allow sharing with tests.
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled. 353 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled.
356 P2PSocketDispatcher* p2p_socket_dispatcher() { 354 P2PSocketDispatcher* p2p_socket_dispatcher() {
357 return p2p_socket_dispatcher_.get(); 355 return p2p_socket_dispatcher_.get();
358 } 356 }
359 #endif 357 #endif
360 358
361 VideoCaptureImplManager* video_capture_impl_manager() const { 359 VideoCaptureImplManager* video_capture_impl_manager() const {
362 return vc_manager_.get(); 360 return vc_manager_.get();
363 } 361 }
364 362
365 ChildSharedBitmapManager* shared_bitmap_manager() const { 363 ui::ChildSharedBitmapManager* shared_bitmap_manager() const {
366 DCHECK(shared_bitmap_manager_); 364 DCHECK(shared_bitmap_manager_);
367 return shared_bitmap_manager_.get(); 365 return shared_bitmap_manager_.get();
368 } 366 }
369 367
370 mojom::RenderFrameMessageFilter* render_frame_message_filter(); 368 mojom::RenderFrameMessageFilter* render_frame_message_filter();
371 mojom::RenderMessageFilter* render_message_filter(); 369 mojom::RenderMessageFilter* render_message_filter();
372 const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>&
373 thread_safe_render_message_filter();
374 370
375 // Get the GPU channel. Returns NULL if the channel is not established or 371 // Get the GPU channel. Returns NULL if the channel is not established or
376 // has been lost. 372 // has been lost.
377 gpu::GpuChannelHost* GetGpuChannel(); 373 gpu::GpuChannelHost* GetGpuChannel();
378 374
379 // Returns a SingleThreadTaskRunner instance corresponding to the message loop 375 // Returns a SingleThreadTaskRunner instance corresponding to the message loop
380 // of the thread on which file operations should be run. Must be called 376 // of the thread on which file operations should be run. Must be called
381 // on the renderer's main thread. 377 // on the renderer's main thread.
382 scoped_refptr<base::SingleThreadTaskRunner> GetFileThreadTaskRunner(); 378 scoped_refptr<base::SingleThreadTaskRunner> GetFileThreadTaskRunner();
383 379
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 // Used for communicating registering AEC dump consumers with the browser and 632 // Used for communicating registering AEC dump consumers with the browser and
637 // receving AEC dump file handles when AEC dump is enabled. An AEC dump is 633 // receving AEC dump file handles when AEC dump is enabled. An AEC dump is
638 // diagnostic audio data for WebRTC stored locally when enabled by the user in 634 // diagnostic audio data for WebRTC stored locally when enabled by the user in
639 // chrome://webrtc-internals. 635 // chrome://webrtc-internals.
640 scoped_refptr<AecDumpMessageFilter> aec_dump_message_filter_; 636 scoped_refptr<AecDumpMessageFilter> aec_dump_message_filter_;
641 #endif 637 #endif
642 638
643 // Used on the render thread. 639 // Used on the render thread.
644 std::unique_ptr<VideoCaptureImplManager> vc_manager_; 640 std::unique_ptr<VideoCaptureImplManager> vc_manager_;
645 641
646 std::unique_ptr<ChildSharedBitmapManager> shared_bitmap_manager_; 642 std::unique_ptr<ui::ChildSharedBitmapManager> shared_bitmap_manager_;
647 643
648 // The count of RenderWidgets running through this thread. 644 // The count of RenderWidgets running through this thread.
649 int widget_count_; 645 int widget_count_;
650 646
651 // The count of hidden RenderWidgets running through this thread. 647 // The count of hidden RenderWidgets running through this thread.
652 int hidden_widget_count_; 648 int hidden_widget_count_;
653 649
654 // The current value of the idle notification timer delay. 650 // The current value of the idle notification timer delay.
655 int64_t idle_notification_delay_in_ms_; 651 int64_t idle_notification_delay_in_ms_;
656 652
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 PendingFrameCreateMap pending_frame_creates_; 769 PendingFrameCreateMap pending_frame_creates_;
774 770
775 mojom::StoragePartitionServicePtr storage_partition_service_; 771 mojom::StoragePartitionServicePtr storage_partition_service_;
776 772
777 AssociatedInterfaceRegistryImpl associated_interfaces_; 773 AssociatedInterfaceRegistryImpl associated_interfaces_;
778 774
779 mojo::AssociatedBinding<mojom::Renderer> renderer_binding_; 775 mojo::AssociatedBinding<mojom::Renderer> renderer_binding_;
780 776
781 mojom::RenderFrameMessageFilterAssociatedPtr render_frame_message_filter_; 777 mojom::RenderFrameMessageFilterAssociatedPtr render_frame_message_filter_;
782 mojom::RenderMessageFilterAssociatedPtr render_message_filter_; 778 mojom::RenderMessageFilterAssociatedPtr render_message_filter_;
783 scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>
784 thread_safe_render_message_filter_;
785 779
786 base::CancelableClosure record_purge_suspend_metric_closure_; 780 base::CancelableClosure record_purge_suspend_metric_closure_;
787 RendererMemoryMetrics purge_and_suspend_memory_metrics_; 781 RendererMemoryMetrics purge_and_suspend_memory_metrics_;
788 base::CancelableClosure record_purge_suspend_growth_metric_closure_; 782 base::CancelableClosure record_purge_suspend_growth_metric_closure_;
789 bool needs_to_record_first_active_paint_; 783 bool needs_to_record_first_active_paint_;
790 784
791 int32_t client_id_; 785 int32_t client_id_;
792 786
793 variations::ChildProcessFieldTrialSyncer field_trial_syncer_; 787 variations::ChildProcessFieldTrialSyncer field_trial_syncer_;
794 788
795 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); 789 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
796 }; 790 };
797 791
798 #if defined(COMPILER_MSVC) 792 #if defined(COMPILER_MSVC)
799 #pragma warning(pop) 793 #pragma warning(pop)
800 #endif 794 #endif
801 795
802 } // namespace content 796 } // namespace content
803 797
804 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 798 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_graphics_2d_host.cc ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698