| 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 22 matching lines...) Expand all Loading... |
| 33 #include "base/threading/thread_local.h" | 33 #include "base/threading/thread_local.h" |
| 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/copy_output_request.h" |
| 43 #include "cc/output/output_surface.h" | 44 #include "cc/output/output_surface.h" |
| 44 #include "cc/output/vulkan_in_process_context_provider.h" | 45 #include "cc/output/vulkan_in_process_context_provider.h" |
| 45 #include "cc/raster/task_graph_runner.h" | 46 #include "cc/raster/task_graph_runner.h" |
| 46 #include "cc/trees/layer_tree_host_common.h" | 47 #include "cc/trees/layer_tree_host_common.h" |
| 47 #include "cc/trees/layer_tree_settings.h" | 48 #include "cc/trees/layer_tree_settings.h" |
| 48 #include "components/memory_coordinator/child/child_memory_coordinator_impl.h" | 49 #include "components/memory_coordinator/child/child_memory_coordinator_impl.h" |
| 49 #include "components/scheduler/child/compositor_worker_scheduler.h" | 50 #include "components/scheduler/child/compositor_worker_scheduler.h" |
| 50 #include "components/scheduler/child/webthread_base.h" | 51 #include "components/scheduler/child/webthread_base.h" |
| 51 #include "components/scheduler/child/webthread_impl_for_worker_scheduler.h" | 52 #include "components/scheduler/child/webthread_impl_for_worker_scheduler.h" |
| 52 #include "components/scheduler/renderer/renderer_scheduler.h" | 53 #include "components/scheduler/renderer/renderer_scheduler.h" |
| (...skipping 1862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1915 | 1916 |
| 1916 scoped_refptr<ContextProviderCommandBuffer> context_provider( | 1917 scoped_refptr<ContextProviderCommandBuffer> context_provider( |
| 1917 new ContextProviderCommandBuffer( | 1918 new ContextProviderCommandBuffer( |
| 1918 gpu_channel_host, gpu::GPU_STREAM_DEFAULT, | 1919 gpu_channel_host, gpu::GPU_STREAM_DEFAULT, |
| 1919 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle, url, | 1920 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle, url, |
| 1920 automatic_flushes, support_locking, limits, attributes, share_context, | 1921 automatic_flushes, support_locking, limits, attributes, share_context, |
| 1921 command_buffer_metrics::RENDER_COMPOSITOR_CONTEXT)); | 1922 command_buffer_metrics::RENDER_COMPOSITOR_CONTEXT)); |
| 1922 | 1923 |
| 1923 if (layout_test_deps_) { | 1924 if (layout_test_deps_) { |
| 1924 return layout_test_deps_->CreateOutputSurface( | 1925 return layout_test_deps_->CreateOutputSurface( |
| 1925 std::move(gpu_channel_host), std::move(context_provider), | 1926 routing_id, std::move(gpu_channel_host), std::move(context_provider), |
| 1926 std::move(worker_context_provider), this); | 1927 std::move(worker_context_provider), this); |
| 1927 } | 1928 } |
| 1928 | 1929 |
| 1929 #if defined(OS_ANDROID) | 1930 #if defined(OS_ANDROID) |
| 1930 if (sync_compositor_message_filter_) { | 1931 if (sync_compositor_message_filter_) { |
| 1931 return base::WrapUnique(new SynchronousCompositorOutputSurface( | 1932 return base::WrapUnique(new SynchronousCompositorOutputSurface( |
| 1932 std::move(context_provider), std::move(worker_context_provider), | 1933 std::move(context_provider), std::move(worker_context_provider), |
| 1933 routing_id, output_surface_id, sync_compositor_message_filter_.get(), | 1934 routing_id, output_surface_id, sync_compositor_message_filter_.get(), |
| 1934 std::move(frame_swap_message_queue))); | 1935 std::move(frame_swap_message_queue))); |
| 1935 } | 1936 } |
| 1936 #endif | 1937 #endif |
| 1937 | 1938 |
| 1938 return base::WrapUnique(new CompositorOutputSurface( | 1939 return base::WrapUnique(new CompositorOutputSurface( |
| 1939 routing_id, output_surface_id, std::move(context_provider), | 1940 routing_id, output_surface_id, std::move(context_provider), |
| 1940 std::move(worker_context_provider), std::move(frame_swap_message_queue))); | 1941 std::move(worker_context_provider), std::move(frame_swap_message_queue))); |
| 1941 } | 1942 } |
| 1942 | 1943 |
| 1944 std::unique_ptr<cc::SwapPromise> |
| 1945 RenderThreadImpl::RequestCopyOfOutputForLayoutTest( |
| 1946 int32_t routing_id, |
| 1947 std::unique_ptr<cc::CopyOutputRequest> request) { |
| 1948 DCHECK(layout_test_deps_); |
| 1949 return layout_test_deps_->RequestCopyOfOutput(routing_id, std::move(request)); |
| 1950 } |
| 1951 |
| 1943 blink::WebMediaStreamCenter* RenderThreadImpl::CreateMediaStreamCenter( | 1952 blink::WebMediaStreamCenter* RenderThreadImpl::CreateMediaStreamCenter( |
| 1944 blink::WebMediaStreamCenterClient* client) { | 1953 blink::WebMediaStreamCenterClient* client) { |
| 1945 #if defined(ENABLE_WEBRTC) | 1954 #if defined(ENABLE_WEBRTC) |
| 1946 if (!media_stream_center_) { | 1955 if (!media_stream_center_) { |
| 1947 media_stream_center_ = GetContentClient()->renderer() | 1956 media_stream_center_ = GetContentClient()->renderer() |
| 1948 ->OverrideCreateWebMediaStreamCenter(client); | 1957 ->OverrideCreateWebMediaStreamCenter(client); |
| 1949 if (!media_stream_center_) { | 1958 if (!media_stream_center_) { |
| 1950 std::unique_ptr<MediaStreamCenter> media_stream_center( | 1959 std::unique_ptr<MediaStreamCenter> media_stream_center( |
| 1951 new MediaStreamCenter(client, GetPeerConnectionDependencyFactory())); | 1960 new MediaStreamCenter(client, GetPeerConnectionDependencyFactory())); |
| 1952 media_stream_center_ = media_stream_center.release(); | 1961 media_stream_center_ = media_stream_center.release(); |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2238 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2247 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2239 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2248 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2240 | 2249 |
| 2241 blink::mainThreadIsolate()->MemoryPressureNotification( | 2250 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2242 v8_memory_pressure_level); | 2251 v8_memory_pressure_level); |
| 2243 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2252 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2244 v8_memory_pressure_level); | 2253 v8_memory_pressure_level); |
| 2245 } | 2254 } |
| 2246 | 2255 |
| 2247 } // namespace content | 2256 } // namespace content |
| OLD | NEW |