diff options
author | leng@chromium.org <leng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-13 09:57:11 +0000 |
---|---|---|
committer | leng@chromium.org <leng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-13 09:57:11 +0000 |
commit | 122984a6be49d052333bab1562d69bf4fa77aeb9 (patch) | |
tree | 189f080c583357a80e6a8af3131761004d7406c8 /content | |
parent | 2bfe6ce79b4b2f4fcd574528a10d820e1df8f51a (diff) | |
download | chromium_src-122984a6be49d052333bab1562d69bf4fa77aeb9.zip chromium_src-122984a6be49d052333bab1562d69bf4fa77aeb9.tar.gz chromium_src-122984a6be49d052333bab1562d69bf4fa77aeb9.tar.bz2 |
Minimal number of if-def changes to support OS_IOS in content_main_runner.cc
Revert "Revert 155980 - Minimal number of if-def changes to support OS_IOS in content_main_runner.cc"
This reverts commit d582fbc2e6a6490096e3b5b6fcafbb228f90fcfe.
The original CL had moved the initialization of the AtExitManager to within a non-Windows block. This moves it back down to where it was originally, adding a !OS_IOS to the !OS_ANDROID define.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/10915227
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156520 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/app/content_main_runner.cc | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc index 14dbc9e..1ec1e50 100644 --- a/content/app/content_main_runner.cc +++ b/content/app/content_main_runner.cc @@ -58,10 +58,12 @@ #include <malloc.h> #elif defined(OS_MACOSX) #include "base/mac/scoped_nsautorelease_pool.h" +#if !defined(OS_IOS) #include "base/mach_ipc_mac.h" #include "base/system_monitor/system_monitor.h" #include "content/browser/mach_broker_mac.h" #include "content/common/sandbox_init_mac.h" +#endif // !OS_IOS #endif // OS_WIN #if defined(OS_POSIX) @@ -163,7 +165,7 @@ base::LazyInstance<ContentUtilityClient> static CAppModule _Module; -#elif defined(OS_MACOSX) +#elif defined(OS_MACOSX) && !defined(OS_IOS) // Completes the Mach IPC handshake by sending this process' task port to the // parent process. The parent is listening on the Mach port given by @@ -240,6 +242,7 @@ void CommonSubprocessInit(const std::string& process_type) { static base::ProcessId GetBrowserPid(const CommandLine& command_line) { base::ProcessId browser_pid = base::GetCurrentProcId(); +#if !defined(OS_IOS) if (command_line.HasSwitch(switches::kProcessChannelID)) { #if defined(OS_WIN) || defined(OS_MACOSX) std::string channel_name = @@ -267,6 +270,7 @@ static base::ProcessId GetBrowserPid(const CommandLine& command_line) { base::GetParentProcessId(base::GetCurrentProcId())); #endif } +#endif // !OS_IOS return browser_pid; } @@ -395,6 +399,7 @@ int RunZygote(const MainFunctionParams& main_function_params, } #endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) +#if !defined(OS_IOS) // Run the FooMain() for a given process type. // If |process_type| is empty, runs BrowserMain(). // Returns the exit code for this process. @@ -447,6 +452,7 @@ int RunNamedProcessTypeMain( NOTREACHED() << "Unknown process type: " << process_type; return 1; } +#endif // !OS_IOS class ContentMainRunnerImpl : public ContentMainRunner { public: @@ -525,7 +531,7 @@ static void ReleaseFreeMemoryThunk() { // stack trace when crashing. // - The ipc_fd is passed through the Java service. // Thus, these are all disabled. -#if !defined(OS_ANDROID) +#if !defined(OS_ANDROID) && !defined(OS_IOS) // Set C library locale to make sure CommandLine can parse argument values // in correct encoding. setlocale(LC_ALL, ""); @@ -535,7 +541,7 @@ static void ReleaseFreeMemoryThunk() { base::GlobalDescriptors* g_fds = base::GlobalDescriptors::GetInstance(); g_fds->Set(kPrimaryIPCChannel, kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor); -#endif +#endif // !OS_ANDROID && !OS_IOS #if defined(OS_LINUX) || defined(OS_OPENBSD) g_fds->Set(kCrashDumpSignal, @@ -550,11 +556,12 @@ static void ReleaseFreeMemoryThunk() { base::EnableTerminationOnHeapCorruption(); base::EnableTerminationOnOutOfMemory(); - // On Android, AtExitManager is set up when library is loaded. -#if !defined(OS_ANDROID) // The exit manager is in charge of calling the dtors of singleton objects. + // On Android, AtExitManager is set up when library is loaded. + // On iOS, it's set up in main(), which can't call directly through to here. +#if !defined(OS_ANDROID) && !defined(OS_IOS) exit_manager_.reset(new base::AtExitManager); -#endif +#endif // !OS_ANDROID && !OS_IOS #if defined(OS_MACOSX) // We need this pool for all the objects created before we get to the @@ -596,7 +603,7 @@ static void ReleaseFreeMemoryThunk() { command_line.GetSwitchValueASCII(switches::kTraceStartup)); } -#if defined(OS_MACOSX) +#if defined(OS_MACOSX) && !defined(OS_IOS) // We need to allocate the IO Ports before the Sandbox is initialized or // the first instance of SystemMonitor is created. // It's important not to allocate the ports for processes which don't @@ -671,7 +678,7 @@ static void ReleaseFreeMemoryThunk() { #if defined(OS_WIN) CHECK(InitializeSandbox(sandbox_info)); -#elif defined(OS_MACOSX) +#elif defined(OS_MACOSX) && !defined(OS_IOS) if (process_type == switches::kRendererProcess || process_type == switches::kPpapiPluginProcess || (delegate && delegate->DelaySandboxInitialization(process_type))) { @@ -685,7 +692,7 @@ static void ReleaseFreeMemoryThunk() { if (delegate) delegate->SandboxInitialized(process_type); -#if defined(OS_POSIX) +#if defined(OS_POSIX) && !defined(OS_IOS) SetProcessTitleFromCommandLine(argv); #endif @@ -707,7 +714,11 @@ static void ReleaseFreeMemoryThunk() { main_params.autorelease_pool = autorelease_pool_.get(); #endif +#if !defined(OS_IOS) return RunNamedProcessTypeMain(process_type, main_params, delegate_); +#else + return 1; +#endif } virtual void Shutdown() OVERRIDE { |