| 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 |