Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2094)

Unified Diff: content/renderer/render_process_impl.cc

Issue 2627953002: Initialize TaskScheduler in all child processes. (Closed)
Patch Set: fix test error Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_process_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_process_impl.cc
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
index e837e4f5d92f152545a699bc36dcbd80bf26c35c..900488547303b9c9fd75bf45771c9ff309cfbe74 100644
--- a/content/renderer/render_process_impl.cc
+++ b/content/renderer/render_process_impl.cc
@@ -126,33 +126,6 @@ size_t DefaultRendererWorkerPoolIndexForTraits(const base::TaskTraits& traits) {
return is_background ? BACKGROUND : FOREGROUND;
}
-void InitializeTaskScheduler() {
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kSingleProcess)) {
gab 2017/01/13 23:39:57 No longer care about single-process?
fdoray 2017/01/15 14:11:27 We do care. This check is now done in ChildProcess
- // There should already be a TaskScheduler when the renderer runs inside the
- // browser process.
- DCHECK(base::TaskScheduler::GetInstance());
- return;
- }
- DCHECK(!base::TaskScheduler::GetInstance());
-
- std::vector<base::SchedulerWorkerPoolParams> params_vector;
- base::TaskScheduler::WorkerPoolIndexForTraitsCallback
- index_to_traits_callback;
- content::GetContentClient()->renderer()->GetTaskSchedulerInitializationParams(
- &params_vector, &index_to_traits_callback);
-
- if (params_vector.empty()) {
- params_vector = GetDefaultSchedulerWorkerPoolParams();
- index_to_traits_callback =
- base::Bind(&DefaultRendererWorkerPoolIndexForTraits);
- }
- DCHECK(index_to_traits_callback);
-
- base::TaskScheduler::CreateAndSetDefaultTaskScheduler(
- params_vector, index_to_traits_callback);
-}
-
} // namespace
namespace content {
@@ -213,8 +186,6 @@ RenderProcessImpl::RenderProcessImpl()
SiteIsolationStatsGatherer::SetEnabled(
GetContentClient()->renderer()->ShouldGatherSiteIsolationStats());
-
- InitializeTaskScheduler();
}
RenderProcessImpl::~RenderProcessImpl() {
@@ -224,12 +195,6 @@ RenderProcessImpl::~RenderProcessImpl() {
DLOG(ERROR) << "WebFrame LEAKED " << count << " TIMES";
#endif
- if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kSingleProcess)) {
- DCHECK(base::TaskScheduler::GetInstance());
- base::TaskScheduler::GetInstance()->Shutdown();
- }
-
GetShutDownEvent()->Signal();
}
@@ -241,4 +206,22 @@ int RenderProcessImpl::GetEnabledBindings() const {
return enabled_bindings_;
}
+void RenderProcessImpl::InitializeTaskScheduler() {
+ std::vector<base::SchedulerWorkerPoolParams> params_vector;
+ base::TaskScheduler::WorkerPoolIndexForTraitsCallback
+ index_to_traits_callback;
+ content::GetContentClient()->renderer()->GetTaskSchedulerInitializationParams(
+ &params_vector, &index_to_traits_callback);
+
+ if (params_vector.empty()) {
+ params_vector = GetDefaultSchedulerWorkerPoolParams();
+ index_to_traits_callback =
+ base::Bind(&DefaultRendererWorkerPoolIndexForTraits);
+ }
+ DCHECK(index_to_traits_callback);
+
+ base::TaskScheduler::CreateAndSetDefaultTaskScheduler(
+ params_vector, index_to_traits_callback);
+}
+
} // namespace content
« no previous file with comments | « content/renderer/render_process_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698