diff options
Diffstat (limited to 'chromium/content/renderer/renderer_main.cc')
-rw-r--r-- | chromium/content/renderer/renderer_main.cc | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/chromium/content/renderer/renderer_main.cc b/chromium/content/renderer/renderer_main.cc index 3d1a58c39be..43eb2aa4338 100644 --- a/chromium/content/renderer/renderer_main.cc +++ b/chromium/content/renderer/renderer_main.cc @@ -31,9 +31,9 @@ #include "content/renderer/render_process_impl.h" #include "content/renderer/render_thread_impl.h" #include "content/renderer/renderer_main_platform_delegate.h" -#include "media/media_features.h" -#include "ppapi/features/features.h" -#include "third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h" +#include "media/media_buildflags.h" +#include "ppapi/buildflags/buildflags.h" +#include "third_party/blink/public/platform/scheduler/web_main_thread_scheduler.h" #include "third_party/skia/include/core/SkGraphics.h" #include "ui/base/ui_base_switches.h" @@ -56,7 +56,7 @@ #include "base/mac/scoped_nsautorelease_pool.h" #include "base/message_loop/message_pump_mac.h" -#include "third_party/WebKit/public/web/WebView.h" +#include "third_party/blink/public/web/web_view.h" #endif // OS_MACOSX #if BUILDFLAG(ENABLE_PLUGINS) @@ -67,10 +67,6 @@ #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck #endif -#if defined(USE_OZONE) -#include "ui/ozone/public/client_native_pixmap_factory_ozone.h" -#endif - namespace content { namespace { // This function provides some ways to test crash and assertion handling @@ -98,6 +94,7 @@ int RendererMain(const MainFunctionParams& parameters) { const base::CommandLine& command_line = parameters.command_line; + base::SamplingHeapProfiler::InitTLSSlot(); if (command_line.HasSwitch(switches::kSamplingHeapProfiler)) { base::SamplingHeapProfiler* profiler = base::SamplingHeapProfiler::GetInstance(); @@ -126,30 +123,45 @@ int RendererMain(const MainFunctionParams& parameters) { } #endif + const base::CommandLine& process_command_line = + *base::CommandLine::ForCurrentProcess(); + #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && \ !defined(OS_FUCHSIA) // This call could already have been made from zygote_main_linux.cc. However // we need to do it here if Zygote is disabled. - if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)) { + if (process_command_line.HasSwitch(switches::kNoZygote)) { SkFontConfigInterface::SetGlobal(new FontConfigIPC(GetSandboxFD())) ->unref(); } #endif - if (!base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kDisableSkiaRuntimeOpts)) { + if (!process_command_line.HasSwitch(switches::kDisableSkiaRuntimeOpts)) { SkGraphics::Init(); } -#if defined(OS_ANDROID) const int kMB = 1024 * 1024; - size_t font_cache_limit = - base::SysInfo::IsLowEndDevice() ? kMB : 8 * kMB; + size_t font_cache_limit; +#if defined(OS_ANDROID) + font_cache_limit = base::SysInfo::IsLowEndDevice() ? kMB : 8 * kMB; SkGraphics::SetFontCacheLimit(font_cache_limit); -#endif +#else + if (process_command_line.HasSwitch(switches::kSkiaFontCacheLimitMb)) { + if (base::StringToSizeT(process_command_line.GetSwitchValueASCII( + switches::kSkiaFontCacheLimitMb), + &font_cache_limit)) { + SkGraphics::SetFontCacheLimit(font_cache_limit * kMB); + } + } -#if defined(USE_OZONE) - ui::CreateClientNativePixmapFactoryOzone(); + size_t resource_cache_limit; + if (process_command_line.HasSwitch(switches::kSkiaResourceCacheLimitMb)) { + if (base::StringToSizeT(process_command_line.GetSwitchValueASCII( + switches::kSkiaResourceCacheLimitMb), + &resource_cache_limit)) { + SkGraphics::SetResourceCacheTotalByteLimit(resource_cache_limit * kMB); + } + } #endif // This function allows pausing execution using the --renderer-startup-dialog @@ -189,8 +201,9 @@ int RendererMain(const MainFunctionParams& parameters) { initial_virtual_time = base::Time::FromDoubleT(initial_time); } } - std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler( - blink::scheduler::RendererScheduler::Create(initial_virtual_time)); + std::unique_ptr<blink::scheduler::WebMainThreadScheduler> + main_thread_scheduler(blink::scheduler::WebMainThreadScheduler::Create( + initial_virtual_time)); // PlatformInitialize uses FieldTrials, so this must happen later. platform.PlatformInitialize(); @@ -213,7 +226,7 @@ int RendererMain(const MainFunctionParams& parameters) { // instruction down. auto render_process = RenderProcessImpl::Create(); RenderThreadImpl::Create(std::move(main_message_loop), - std::move(renderer_scheduler)); + std::move(main_thread_scheduler)); #endif bool run_loop = true; if (!no_sandbox) @@ -221,7 +234,7 @@ int RendererMain(const MainFunctionParams& parameters) { #if defined(OS_POSIX) && !defined(OS_MACOSX) auto render_process = RenderProcessImpl::Create(); RenderThreadImpl::Create(std::move(main_message_loop), - std::move(renderer_scheduler)); + std::move(main_thread_scheduler)); #endif base::HighResolutionTimerManager hi_res_timer_manager; |