diff options
author | erg <erg@chromium.org> | 2015-11-12 10:51:56 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-12 18:53:20 +0000 |
commit | 140735acbef15c56d9ddaadd2bc58b5e26692a48 (patch) | |
tree | 2626c072f5b40f065fd0a2e6f394220f1122d578 /mandoline/app | |
parent | 203833423f5a1febbdb90bdd8166a8335521e3e4 (diff) | |
download | chromium_src-140735acbef15c56d9ddaadd2bc58b5e26692a48.zip chromium_src-140735acbef15c56d9ddaadd2bc58b5e26692a48.tar.gz chromium_src-140735acbef15c56d9ddaadd2bc58b5e26692a48.tar.bz2 |
mandoline: Reland "Fix ICU initialization".
We need to complete the initialization of ICU before we raise the
sandbox. That means we can't pass a file descriptor to the ICU data file
across mojo pipes. Due to how Android handles resources files, we also
can't pass a file descriptor around inside the same process. So pass a
raw pointer to a memory mapped file during the sandbox warm-up phase,
and make a new option to initialize ICU from this raw pointer.
But that just uncovers a bigger issue: we don't always call what was the
sandbox warming code. If it's general initialization that needs to be
called before we run MojoMain(), we need to include initialization code
in most all main.cc implementations. This bakes a base initialize call
into the mojo application library.
This fixes a crash in the page cycler set, which happens when a page
tries to do date operations, which fail because of missing locale data.
This fixes several crashes in local runs.
[[This reland disables the sandbox on the page cycler bots because they
don't have a new enough kernel to be sandboxed(!). It also includes the
icu data in the mojo runner unittests.]]
BUG=546644
First Review URL: https://codereview.chromium.org/1425853003
TBR=jam@chromium.org,sky@chromium.org
R=yzshen@chromium.org
Review URL: https://codereview.chromium.org/1431133003
Cr-Commit-Position: refs/heads/master@{#359349}
Diffstat (limited to 'mandoline/app')
-rw-r--r-- | mandoline/app/desktop/launcher_process.cc | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/mandoline/app/desktop/launcher_process.cc b/mandoline/app/desktop/launcher_process.cc index 5a94a32..60f5e32 100644 --- a/mandoline/app/desktop/launcher_process.cc +++ b/mandoline/app/desktop/launcher_process.cc @@ -32,8 +32,6 @@ int LauncherProcessMain(int argc, char** argv) { if (!command_line->HasSwitch(switches::kMojoSingleProcess)) command_line->AppendSwitch(switches::kEnableMultiprocess); command_line->AppendSwitch("use-new-edk"); - // http://crbug.com/546644 - command_line->AppendSwitch(switches::kMojoNoSandbox); bool trace_startup = command_line->HasSwitch(switches::kTraceStartup); if (trace_startup) { |