Move some basic early process init into Service Manager

Introduces the beginnings of an embedder API for the Service Manager,
consisting of a single entry point (service_manager::Main) which in
turn delegates to its embedder for arbitrary initialization and
process execution logic.

This is the first of several incremental steps to remove content from
the generic process startup flow. Future patches will rework various
main entry points to go through service_manager::Main directly, rather
than going ContentMain -> service_manager::Main.

This will also allow us to introduce new process types which run the
Service Manager or arbitrary services directly without touching any
part of content.

BUG=654986

Review-Url: https://codereview.chromium.org/2613653003
Cr-Original-Commit-Position: refs/heads/master@{#458252}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6026704ff452d402924ce2d88b0168baf227b1e
This commit is contained in:
rockot 2017-03-20 17:29:35 -07:00 коммит произвёл Commit bot
Родитель 5db5d6b060
Коммит 068550ee95
1 изменённых файлов: 62 добавлений и 60 удалений

Просмотреть файл

@ -21,11 +21,11 @@ char kLSanDefaultSuppressions[] =
// False positives in libfontconfig. http://crbug.com/39050
"leak:libfontconfig\n"
// eglibc-2.19/string/strdup.c creates false positive leak errors because of the
// same reason as crbug.com/39050. The leak error stack trace, when unwind on
// malloc, includes a call to libfontconfig. But the default stack trace is too
// short in leak sanitizer bot to make the libfontconfig suppression works.
// http://crbug.com/605286
// eglibc-2.19/string/strdup.c creates false positive leak errors because of
// the same reason as crbug.com/39050. The leak error stack trace, when
// unwind on malloc, includes a call to libfontconfig. But the default stack
// trace is too short in leak sanitizer bot to make the libfontconfig
// suppression works. http://crbug.com/605286
"leak:__strdup\n"
// Leaks in Nvidia's libGL.
@ -37,7 +37,8 @@ char kLSanDefaultSuppressions[] =
"leak:net::NSSCertDatabase::ListCerts\n"
"leak:net::NSSCertDatabase::DeleteCertAndKey\n"
"leak:crypto::ScopedTestNSSDB::ScopedTestNSSDB\n"
// Another leak due to not shutting down NSS properly. http://crbug.com/124445
// Another leak due to not shutting down NSS properly.
// http://crbug.com/124445
"leak:error_get_my_stack\n"
// The NSS suppressions above will not fire when the fast stack unwinder is
// used, because it can't unwind through NSS libraries. Apply blanket
@ -65,13 +66,14 @@ char kLSanDefaultSuppressions[] =
// ================ Leaks in Chromium code ================
// PLEASE DO NOT ADD SUPPRESSIONS FOR NEW LEAKS.
// Instead, commits that introduce memory leaks should be reverted. Suppressing
// the leak is acceptable in some cases when reverting is impossible, i.e. when
// enabling leak detection for the first time for a test target with
// pre-existing leaks.
// Instead, commits that introduce memory leaks should be reverted.
// Suppressing the leak is acceptable in some cases when reverting is
// impossible, i.e. when enabling leak detection for the first time for a
// test target with pre-existing leaks.
// Small test-only leak in ppapi_unittests. http://crbug.com/258113
"leak:ppapi::proxy::PPP_Instance_Private_ProxyTest_PPPInstancePrivate_Test\n"
"leak:ppapi::proxy::PPP_Instance_Private_ProxyTest_PPPInstancePrivate_"
"Test\n"
// http://crbug.com/322671
"leak:content::SpeechRecognitionBrowserTest::SetUpOnMainThread\n"
@ -83,7 +85,7 @@ char kLSanDefaultSuppressions[] =
"leak:CertificateViewerUITest::ShowModalCertificateViewer\n"
// http://crbug.com/356306
"leak:content::SetProcessTitleFromCommandLine\n"
"leak:service_manager::SetProcessTitleFromCommandLine\n"
// http://crbug.com/601435
"leak:mojo/edk/js/handle.h\n"