| 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 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 #include "base/threading/thread_restrictions.h" | 34 #include "base/threading/thread_restrictions.h" |
| 35 #include "base/threading/thread_task_runner_handle.h" | 35 #include "base/threading/thread_task_runner_handle.h" |
| 36 #include "base/trace_event/trace_event.h" | 36 #include "base/trace_event/trace_event.h" |
| 37 #include "base/values.h" | 37 #include "base/values.h" |
| 38 #include "build/build_config.h" | 38 #include "build/build_config.h" |
| 39 #include "cc/base/histograms.h" | 39 #include "cc/base/histograms.h" |
| 40 #include "cc/base/switches.h" | 40 #include "cc/base/switches.h" |
| 41 #include "cc/blink/web_external_bitmap_impl.h" | 41 #include "cc/blink/web_external_bitmap_impl.h" |
| 42 #include "cc/blink/web_layer_impl.h" | 42 #include "cc/blink/web_layer_impl.h" |
| 43 #include "cc/output/buffer_to_texture_target_map.h" | 43 #include "cc/output/buffer_to_texture_target_map.h" |
| 44 #include "cc/output/copy_output_request.h" |
| 44 #include "cc/output/output_surface.h" | 45 #include "cc/output/output_surface.h" |
| 45 #include "cc/output/vulkan_in_process_context_provider.h" | 46 #include "cc/output/vulkan_in_process_context_provider.h" |
| 46 #include "cc/raster/task_graph_runner.h" | 47 #include "cc/raster/task_graph_runner.h" |
| 47 #include "cc/trees/layer_tree_host_common.h" | 48 #include "cc/trees/layer_tree_host_common.h" |
| 48 #include "cc/trees/layer_tree_settings.h" | 49 #include "cc/trees/layer_tree_settings.h" |
| 49 #include "components/memory_coordinator/child/child_memory_coordinator_impl.h" | 50 #include "components/memory_coordinator/child/child_memory_coordinator_impl.h" |
| 50 #include "components/scheduler/child/compositor_worker_scheduler.h" | 51 #include "components/scheduler/child/compositor_worker_scheduler.h" |
| 51 #include "components/scheduler/child/webthread_base.h" | 52 #include "components/scheduler/child/webthread_base.h" |
| 52 #include "components/scheduler/child/webthread_impl_for_worker_scheduler.h" | 53 #include "components/scheduler/child/webthread_impl_for_worker_scheduler.h" |
| 53 #include "components/scheduler/renderer/renderer_scheduler.h" | 54 #include "components/scheduler/renderer/renderer_scheduler.h" |
| (...skipping 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1900 | 1901 |
| 1901 scoped_refptr<ContextProviderCommandBuffer> context_provider( | 1902 scoped_refptr<ContextProviderCommandBuffer> context_provider( |
| 1902 new ContextProviderCommandBuffer( | 1903 new ContextProviderCommandBuffer( |
| 1903 gpu_channel_host, gpu::GPU_STREAM_DEFAULT, | 1904 gpu_channel_host, gpu::GPU_STREAM_DEFAULT, |
| 1904 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle, url, | 1905 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle, url, |
| 1905 automatic_flushes, support_locking, limits, attributes, share_context, | 1906 automatic_flushes, support_locking, limits, attributes, share_context, |
| 1906 command_buffer_metrics::RENDER_COMPOSITOR_CONTEXT)); | 1907 command_buffer_metrics::RENDER_COMPOSITOR_CONTEXT)); |
| 1907 | 1908 |
| 1908 if (layout_test_deps_) { | 1909 if (layout_test_deps_) { |
| 1909 return layout_test_deps_->CreateOutputSurface( | 1910 return layout_test_deps_->CreateOutputSurface( |
| 1910 std::move(gpu_channel_host), std::move(context_provider), | 1911 routing_id, std::move(gpu_channel_host), std::move(context_provider), |
| 1911 std::move(worker_context_provider), this); | 1912 std::move(worker_context_provider), this); |
| 1912 } | 1913 } |
| 1913 | 1914 |
| 1914 #if defined(OS_ANDROID) | 1915 #if defined(OS_ANDROID) |
| 1915 if (sync_compositor_message_filter_) { | 1916 if (sync_compositor_message_filter_) { |
| 1916 return base::WrapUnique(new SynchronousCompositorOutputSurface( | 1917 return base::WrapUnique(new SynchronousCompositorOutputSurface( |
| 1917 std::move(context_provider), std::move(worker_context_provider), | 1918 std::move(context_provider), std::move(worker_context_provider), |
| 1918 routing_id, output_surface_id, sync_compositor_message_filter_.get(), | 1919 routing_id, output_surface_id, sync_compositor_message_filter_.get(), |
| 1919 std::move(frame_swap_message_queue))); | 1920 std::move(frame_swap_message_queue))); |
| 1920 } | 1921 } |
| 1921 #endif | 1922 #endif |
| 1922 | 1923 |
| 1923 return base::WrapUnique(new CompositorOutputSurface( | 1924 return base::WrapUnique(new CompositorOutputSurface( |
| 1924 routing_id, output_surface_id, std::move(context_provider), | 1925 routing_id, output_surface_id, std::move(context_provider), |
| 1925 std::move(worker_context_provider), std::move(frame_swap_message_queue))); | 1926 std::move(worker_context_provider), std::move(frame_swap_message_queue))); |
| 1926 } | 1927 } |
| 1927 | 1928 |
| 1929 std::unique_ptr<cc::SwapPromise> |
| 1930 RenderThreadImpl::RequestCopyOfOutputForLayoutTest( |
| 1931 int32_t routing_id, |
| 1932 std::unique_ptr<cc::CopyOutputRequest> request) { |
| 1933 DCHECK(layout_test_deps_); |
| 1934 return layout_test_deps_->RequestCopyOfOutput(routing_id, std::move(request)); |
| 1935 } |
| 1936 |
| 1928 blink::WebMediaStreamCenter* RenderThreadImpl::CreateMediaStreamCenter( | 1937 blink::WebMediaStreamCenter* RenderThreadImpl::CreateMediaStreamCenter( |
| 1929 blink::WebMediaStreamCenterClient* client) { | 1938 blink::WebMediaStreamCenterClient* client) { |
| 1930 #if defined(ENABLE_WEBRTC) | 1939 #if defined(ENABLE_WEBRTC) |
| 1931 if (!media_stream_center_) { | 1940 if (!media_stream_center_) { |
| 1932 media_stream_center_ = GetContentClient()->renderer() | 1941 media_stream_center_ = GetContentClient()->renderer() |
| 1933 ->OverrideCreateWebMediaStreamCenter(client); | 1942 ->OverrideCreateWebMediaStreamCenter(client); |
| 1934 if (!media_stream_center_) { | 1943 if (!media_stream_center_) { |
| 1935 std::unique_ptr<MediaStreamCenter> media_stream_center( | 1944 std::unique_ptr<MediaStreamCenter> media_stream_center( |
| 1936 new MediaStreamCenter(client, GetPeerConnectionDependencyFactory())); | 1945 new MediaStreamCenter(client, GetPeerConnectionDependencyFactory())); |
| 1937 media_stream_center_ = media_stream_center.release(); | 1946 media_stream_center_ = media_stream_center.release(); |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2223 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2232 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2224 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2233 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2225 | 2234 |
| 2226 blink::mainThreadIsolate()->MemoryPressureNotification( | 2235 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2227 v8_memory_pressure_level); | 2236 v8_memory_pressure_level); |
| 2228 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2237 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2229 v8_memory_pressure_level); | 2238 v8_memory_pressure_level); |
| 2230 } | 2239 } |
| 2231 | 2240 |
| 2232 } // namespace content | 2241 } // namespace content |
| OLD | NEW |