summaryrefslogtreecommitdiff
path: root/chromium/content/renderer/renderer_main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/renderer_main.cc')
-rw-r--r--chromium/content/renderer/renderer_main.cc55
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;