summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorleng@chromium.org <leng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 09:57:11 +0000
committerleng@chromium.org <leng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 09:57:11 +0000
commit122984a6be49d052333bab1562d69bf4fa77aeb9 (patch)
tree189f080c583357a80e6a8af3131761004d7406c8 /content
parent2bfe6ce79b4b2f4fcd574528a10d820e1df8f51a (diff)
downloadchromium_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.cc29
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 {