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 <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 } | 47 } |
48 | 48 |
49 namespace base { | 49 namespace base { |
50 class MessageLoopProxy; | 50 class MessageLoopProxy; |
51 class SingleThreadTaskRunner; | 51 class SingleThreadTaskRunner; |
52 class Thread; | 52 class Thread; |
53 } | 53 } |
54 | 54 |
55 namespace cc { | 55 namespace cc { |
56 class ContextProvider; | 56 class ContextProvider; |
| 57 class TaskGraphRunner; |
57 } | 58 } |
58 | 59 |
59 namespace cc_blink { | 60 namespace cc_blink { |
60 class ContextProviderWebContext; | 61 class ContextProviderWebContext; |
61 } | 62 } |
62 | 63 |
63 namespace IPC { | 64 namespace IPC { |
64 class MessageFilter; | 65 class MessageFilter; |
65 } | 66 } |
66 | 67 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 uint32 GetImageTextureTarget() override; | 194 uint32 GetImageTextureTarget() override; |
194 scoped_refptr<base::SingleThreadTaskRunner> | 195 scoped_refptr<base::SingleThreadTaskRunner> |
195 GetCompositorMainThreadTaskRunner() override; | 196 GetCompositorMainThreadTaskRunner() override; |
196 scoped_refptr<base::SingleThreadTaskRunner> | 197 scoped_refptr<base::SingleThreadTaskRunner> |
197 GetCompositorImplThreadTaskRunner() override; | 198 GetCompositorImplThreadTaskRunner() override; |
198 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; | 199 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; |
199 RendererScheduler* GetRendererScheduler() override; | 200 RendererScheduler* GetRendererScheduler() override; |
200 cc::ContextProvider* GetSharedMainThreadContextProvider() override; | 201 cc::ContextProvider* GetSharedMainThreadContextProvider() override; |
201 scoped_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( | 202 scoped_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( |
202 int routing_id) override; | 203 int routing_id) override; |
| 204 cc::TaskGraphRunner* GetTaskGraphRunner() override; |
| 205 bool IsGatherPixelRefsEnabled() override; |
203 | 206 |
204 // Synchronously establish a channel to the GPU plugin if not previously | 207 // Synchronously establish a channel to the GPU plugin if not previously |
205 // established or if it has been lost (for example if the GPU plugin crashed). | 208 // established or if it has been lost (for example if the GPU plugin crashed). |
206 // If there is a pending asynchronous request, it will be completed by the | 209 // If there is a pending asynchronous request, it will be completed by the |
207 // time this routine returns. | 210 // time this routine returns. |
208 GpuChannelHost* EstablishGpuChannelSync(CauseForGpuLaunch); | 211 GpuChannelHost* EstablishGpuChannelSync(CauseForGpuLaunch); |
209 | 212 |
210 | 213 |
211 // These methods modify how the next message is sent. Normally, when sending | 214 // These methods modify how the next message is sent. Normally, when sending |
212 // a synchronous message that runs a nested message loop, we need to suspend | 215 // a synchronous message that runs a nested message loop, we need to suspend |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 // May be null if overridden by ContentRendererClient. | 556 // May be null if overridden by ContentRendererClient. |
554 scoped_ptr<base::Thread> compositor_thread_; | 557 scoped_ptr<base::Thread> compositor_thread_; |
555 | 558 |
556 // Thread for running multimedia operations (e.g., video decoding). | 559 // Thread for running multimedia operations (e.g., video decoding). |
557 scoped_ptr<base::Thread> media_thread_; | 560 scoped_ptr<base::Thread> media_thread_; |
558 | 561 |
559 // Will point to appropriate MessageLoopProxy after initialization, | 562 // Will point to appropriate MessageLoopProxy after initialization, |
560 // regardless of whether |compositor_thread_| is overriden. | 563 // regardless of whether |compositor_thread_| is overriden. |
561 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_; | 564 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_; |
562 | 565 |
| 566 // Threads used by compositor for rasterization. |
| 567 ScopedVector<base::SimpleThread> compositor_raster_threads_; |
| 568 |
563 base::CancelableCallback<void(const IPC::Message&)> main_input_callback_; | 569 base::CancelableCallback<void(const IPC::Message&)> main_input_callback_; |
564 scoped_refptr<IPC::MessageFilter> input_event_filter_; | 570 scoped_refptr<IPC::MessageFilter> input_event_filter_; |
565 scoped_ptr<InputHandlerManager> input_handler_manager_; | 571 scoped_ptr<InputHandlerManager> input_handler_manager_; |
566 scoped_refptr<CompositorForwardingMessageFilter> compositor_message_filter_; | 572 scoped_refptr<CompositorForwardingMessageFilter> compositor_message_filter_; |
567 | 573 |
568 scoped_refptr<cc_blink::ContextProviderWebContext> | 574 scoped_refptr<cc_blink::ContextProviderWebContext> |
569 shared_main_thread_contexts_; | 575 shared_main_thread_contexts_; |
570 | 576 |
571 ObserverList<RenderProcessObserver> observers_; | 577 ObserverList<RenderProcessObserver> observers_; |
572 | 578 |
(...skipping 10 matching lines...) Expand all Loading... |
583 scoped_ptr<WebRTCIdentityService> webrtc_identity_service_; | 589 scoped_ptr<WebRTCIdentityService> webrtc_identity_service_; |
584 #endif | 590 #endif |
585 | 591 |
586 scoped_ptr<MemoryObserver> memory_observer_; | 592 scoped_ptr<MemoryObserver> memory_observer_; |
587 | 593 |
588 scoped_refptr<base::SingleThreadTaskRunner> | 594 scoped_refptr<base::SingleThreadTaskRunner> |
589 main_thread_compositor_task_runner_; | 595 main_thread_compositor_task_runner_; |
590 | 596 |
591 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter_; | 597 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter_; |
592 | 598 |
| 599 scoped_ptr<cc::TaskGraphRunner> compositor_task_graph_runner_; |
| 600 |
593 // Compositor settings. | 601 // Compositor settings. |
594 bool is_gpu_rasterization_enabled_; | 602 bool is_gpu_rasterization_enabled_; |
595 bool is_gpu_rasterization_forced_; | 603 bool is_gpu_rasterization_forced_; |
596 int gpu_rasterization_msaa_sample_count_; | 604 int gpu_rasterization_msaa_sample_count_; |
597 bool is_threaded_gpu_rasterization_enabled_; | 605 bool is_threaded_gpu_rasterization_enabled_; |
598 bool is_impl_side_painting_enabled_; | 606 bool is_impl_side_painting_enabled_; |
599 bool is_lcd_text_enabled_; | 607 bool is_lcd_text_enabled_; |
600 bool is_distance_field_text_enabled_; | 608 bool is_distance_field_text_enabled_; |
601 bool is_zero_copy_enabled_; | 609 bool is_zero_copy_enabled_; |
602 bool is_one_copy_enabled_; | 610 bool is_one_copy_enabled_; |
603 bool is_elastic_overscroll_enabled_; | 611 bool is_elastic_overscroll_enabled_; |
604 unsigned use_image_texture_target_; | 612 unsigned use_image_texture_target_; |
| 613 bool is_gather_pixel_refs_enabled_; |
605 | 614 |
606 class PendingRenderFrameConnect | 615 class PendingRenderFrameConnect |
607 : public base::RefCounted<PendingRenderFrameConnect>, | 616 : public base::RefCounted<PendingRenderFrameConnect>, |
608 public mojo::ErrorHandler { | 617 public mojo::ErrorHandler { |
609 public: | 618 public: |
610 PendingRenderFrameConnect( | 619 PendingRenderFrameConnect( |
611 int routing_id, | 620 int routing_id, |
612 mojo::InterfaceRequest<mojo::ServiceProvider> services, | 621 mojo::InterfaceRequest<mojo::ServiceProvider> services, |
613 mojo::ServiceProviderPtr exposed_services); | 622 mojo::ServiceProviderPtr exposed_services); |
614 | 623 |
(...skipping 22 matching lines...) Expand all Loading... |
637 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 646 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
638 }; | 647 }; |
639 | 648 |
640 #if defined(COMPILER_MSVC) | 649 #if defined(COMPILER_MSVC) |
641 #pragma warning(pop) | 650 #pragma warning(pop) |
642 #endif | 651 #endif |
643 | 652 |
644 } // namespace content | 653 } // namespace content |
645 | 654 |
646 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 655 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |