summaryrefslogtreecommitdiff
path: root/chromium/content/renderer/render_thread_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/render_thread_impl.cc')
-rw-r--r--chromium/content/renderer/render_thread_impl.cc68
1 files changed, 35 insertions, 33 deletions
diff --git a/chromium/content/renderer/render_thread_impl.cc b/chromium/content/renderer/render_thread_impl.cc
index b305148481d..baee6cbd636 100644
--- a/chromium/content/renderer/render_thread_impl.cc
+++ b/chromium/content/renderer/render_thread_impl.cc
@@ -80,7 +80,6 @@
#include "content/renderer/frame_swap_message_queue.h"
#include "content/renderer/input/widget_input_handler_manager.h"
#include "content/renderer/loader/resource_dispatcher.h"
-#include "content/renderer/low_memory_mode_controller.h"
#include "content/renderer/media/audio/audio_renderer_mixer_manager.h"
#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h"
#include "content/renderer/media/render_media_client.h"
@@ -126,6 +125,7 @@
#include "services/viz/public/cpp/gpu/gpu.h"
#include "skia/ext/skia_memory_dump_provider.h"
#include "third_party/blink/public/common/features.h"
+#include "third_party/blink/public/common/switches.h"
#include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h"
#include "third_party/blink/public/platform/scheduler/web_thread_scheduler.h"
#include "third_party/blink/public/platform/web_cache.h"
@@ -151,7 +151,7 @@
#if defined(OS_ANDROID)
#include <cpu-features.h>
-#include "content/renderer/android/synchronous_layer_tree_frame_sink.h"
+#include "content/renderer/android/synchronous_layer_tree_frame_sink_impl.h"
#include "content/renderer/media/android/stream_texture_factory.h"
#include "media/base/android/media_codec_util.h"
#endif
@@ -655,11 +655,12 @@ void RenderThreadImpl::Init() {
is_threaded_animation_enabled_ =
!command_line.HasSwitch(cc::switches::kDisableThreadedAnimation);
- is_zero_copy_enabled_ = command_line.HasSwitch(switches::kEnableZeroCopy);
+ is_zero_copy_enabled_ =
+ command_line.HasSwitch(blink::switches::kEnableZeroCopy);
is_partial_raster_enabled_ =
- !command_line.HasSwitch(switches::kDisablePartialRaster);
+ !command_line.HasSwitch(blink::switches::kDisablePartialRaster);
is_gpu_memory_buffer_compositor_resources_enabled_ = command_line.HasSwitch(
- switches::kEnableGpuMemoryBufferCompositorResources);
+ blink::switches::kEnableGpuMemoryBufferCompositorResources);
// On macOS this value is adjusted in `UpdateScrollbarTheme()`,
// but the system default is true.
@@ -681,6 +682,11 @@ void RenderThreadImpl::Init() {
} else {
#if defined(OS_ANDROID)
is_lcd_text_enabled_ = false;
+#elif defined(OS_MACOSX)
+ if (base::FeatureList::IsEnabled(features::kRespectMacLCDTextSetting))
+ is_lcd_text_enabled_ = IsSubpixelAntialiasingAvailable();
+ else
+ is_lcd_text_enabled_ = true;
#else
is_lcd_text_enabled_ = true;
#endif
@@ -689,9 +695,10 @@ void RenderThreadImpl::Init() {
if (command_line.HasSwitch(switches::kDisableGpuCompositing))
is_gpu_compositing_disabled_ = true;
- if (command_line.HasSwitch(switches::kGpuRasterizationMSAASampleCount)) {
+ if (command_line.HasSwitch(
+ blink::switches::kGpuRasterizationMSAASampleCount)) {
std::string string_value = command_line.GetSwitchValueASCII(
- switches::kGpuRasterizationMSAASampleCount);
+ blink::switches::kGpuRasterizationMSAASampleCount);
bool parsed_msaa_sample_count =
base::StringToInt(string_value, &gpu_rasterization_msaa_sample_count_);
DCHECK(parsed_msaa_sample_count) << string_value;
@@ -731,6 +738,7 @@ void RenderThreadImpl::Init() {
#endif
memory_pressure_listener_ = std::make_unique<base::MemoryPressureListener>(
+ FROM_HERE,
base::BindRepeating(&RenderThreadImpl::OnMemoryPressure,
base::Unretained(this)),
base::BindRepeating(&RenderThreadImpl::OnSyncMemoryPressure,
@@ -1055,6 +1063,8 @@ void RenderThreadImpl::RegisterSchemes() {
WebString::FromASCII(kChromeUIUntrustedScheme));
WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs(
chrome_untrusted_scheme);
+ WebSecurityPolicy::RegisterURLSchemeAsSupportingFetchAPI(
+ chrome_untrusted_scheme);
// devtools:
WebString devtools_scheme(WebString::FromASCII(kChromeDevToolsScheme));
@@ -1240,7 +1250,7 @@ RenderThreadImpl::SharedMainThreadContextProvider() {
bool support_raster_interface = true;
bool support_oop_rasterization =
base::FeatureList::IsEnabled(features::kCanvasOopRasterization);
- bool support_gles2_interface = !support_oop_rasterization;
+ bool support_gles2_interface = false;
bool support_grcontext = !support_oop_rasterization;
// Enable automatic flushes to improve canvas throughput.
// See https://crbug.com/880901
@@ -1482,11 +1492,6 @@ void RenderThreadImpl::SetIsLockedToSite() {
blink_platform_impl_->SetIsLockedToSite();
}
-void RenderThreadImpl::EnableV8LowMemoryMode() {
- if (!low_memory_mode_controller_)
- low_memory_mode_controller_.reset(new LowMemoryModeController());
-}
-
#if BUILDFLAG(CLANG_PROFILING_INSIDE_SANDBOX)
void RenderThreadImpl::WriteClangProfilingProfile(
WriteClangProfilingProfileCallback callback) {
@@ -1497,6 +1502,10 @@ void RenderThreadImpl::WriteClangProfilingProfile(
}
#endif
+void RenderThreadImpl::SetIsCrossOriginIsolated(bool value) {
+ blink::SetIsCrossOriginIsolated(value);
+}
+
bool RenderThreadImpl::GetRendererMemoryMetrics(
RendererMemoryMetrics* memory_metrics) const {
DCHECK(memory_metrics);
@@ -1826,11 +1835,10 @@ void RenderThreadImpl::RequestNewLayerTreeFrameSink(
std::move(render_frame_metadata_observer_remote));
std::move(callback).Run(
- std::make_unique<SynchronousLayerTreeFrameSink>(
+ std::make_unique<SynchronousLayerTreeFrameSinkImpl>(
std::move(context_provider), std::move(worker_context_provider),
compositor_task_runner_, GetGpuMemoryBufferManager(),
- sync_message_filter(), render_widget->routing_id(),
- g_next_layer_tree_frame_sink_id++,
+ sync_message_filter(), g_next_layer_tree_frame_sink_id++,
std::move(params.synthetic_begin_frame_source),
render_widget->widget_input_handler_manager()
->GetSynchronousCompositorRegistry(),
@@ -1905,9 +1913,10 @@ void RenderThreadImpl::CreateFrame(mojom::CreateFrameParamsPtr params) {
RenderFrameImpl::CreateFrame(
params->routing_id, std::move(interface_provider),
std::move(browser_interface_broker), params->previous_routing_id,
- params->opener_routing_id, params->parent_routing_id,
- params->previous_sibling_routing_id, params->frame_token,
- params->devtools_frame_token, params->replication_state, compositor_deps,
+ params->opener_frame_token.value_or(base::UnguessableToken()),
+ params->parent_routing_id, params->previous_sibling_routing_id,
+ params->frame_token, params->devtools_frame_token,
+ params->replication_state, compositor_deps,
std::move(params->widget_params),
std::move(params->frame_owner_properties),
params->has_committed_real_load);
@@ -1916,14 +1925,14 @@ void RenderThreadImpl::CreateFrame(mojom::CreateFrameParamsPtr params) {
void RenderThreadImpl::CreateFrameProxy(
int32_t routing_id,
int32_t render_view_routing_id,
- int32_t opener_routing_id,
+ const base::Optional<base::UnguessableToken>& opener_frame_token,
int32_t parent_routing_id,
const FrameReplicationState& replicated_state,
const base::UnguessableToken& frame_token,
const base::UnguessableToken& devtools_frame_token) {
RenderFrameProxy::CreateFrameProxy(
routing_id, render_view_routing_id,
- RenderFrameImpl::ResolveWebFrame(opener_routing_id), parent_routing_id,
+ opener_frame_token.value_or(base::UnguessableToken()), parent_routing_id,
replicated_state, frame_token, devtools_frame_token);
}
@@ -1974,6 +1983,11 @@ void RenderThreadImpl::SetUserAgentMetadata(
user_agent_metadata_ = user_agent_metadata;
}
+void RenderThreadImpl::SetCorsExemptHeaderList(
+ const std::vector<std::string>& list) {
+ resource_dispatcher_->SetCorsExemptHeaderList(list);
+}
+
void RenderThreadImpl::UpdateScrollbarTheme(
mojom::UpdateScrollbarThemeParamsPtr params) {
#if defined(OS_MACOSX)
@@ -2041,18 +2055,6 @@ void RenderThreadImpl::OnMemoryPressure(
}
}
-void RenderThreadImpl::RecordPurgeMemory(RendererMemoryMetrics before) {
- RendererMemoryMetrics after;
- if (!GetRendererMemoryMetrics(&after))
- return;
- int64_t mbytes = static_cast<int64_t>(before.total_allocated_mb) -
- static_cast<int64_t>(after.total_allocated_mb);
- if (mbytes < 0)
- mbytes = 0;
- UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Experimental.Renderer.PurgedMemory",
- mbytes);
-}
-
scoped_refptr<base::SingleThreadTaskRunner>
RenderThreadImpl::GetMediaThreadTaskRunner() {
DCHECK(main_thread_runner()->BelongsToCurrentThread());