Index: content/app/content_main_runner.cc |
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc |
index 4d76ab1f5170d86e479d12bfb8e9bd007a88ab05..814ea892eee243e66f86581ad0b22e2903cc825c 100644 |
--- a/content/app/content_main_runner.cc |
+++ b/content/app/content_main_runner.cc |
@@ -57,10 +57,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) |
@@ -110,7 +112,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 |
@@ -187,6 +189,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 = |
@@ -214,6 +217,7 @@ static base::ProcessId GetBrowserPid(const CommandLine& command_line) { |
base::GetParentProcessId(base::GetCurrentProcId())); |
#endif |
} |
+#endif // !OS_IOS |
return browser_pid; |
} |
@@ -342,6 +346,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. |
@@ -349,6 +354,7 @@ int RunNamedProcessTypeMain( |
const std::string& process_type, |
const MainFunctionParams& main_function_params, |
ContentMainDelegate* delegate) { |
+ // None of the *Main processes exist on iOS. |
jam
2012/09/05 15:34:15
nit: get rid of this added line
leng
2012/09/06 08:43:18
Done.
|
static const MainFunction kMainFunctions[] = { |
{ "", BrowserMain }, |
{ switches::kRendererProcess, RendererMain }, |
@@ -394,6 +400,7 @@ int RunNamedProcessTypeMain( |
NOTREACHED() << "Unknown process type: " << process_type; |
return 1; |
} |
+#endif // !OS_IOS |
class ContentMainRunnerImpl : public ContentMainRunner { |
public: |
@@ -472,7 +479,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, ""); |
@@ -482,7 +489,13 @@ static void ReleaseFreeMemoryThunk() { |
base::GlobalDescriptors* g_fds = base::GlobalDescriptors::GetInstance(); |
g_fds->Set(kPrimaryIPCChannel, |
kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor); |
-#endif |
+ |
+ // 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. |
+ // The exit manager is in charge of calling the dtors of singleton objects. |
jam
2012/09/05 15:34:15
nit: I would put this line first in the comment, o
leng
2012/09/06 08:43:18
Done.
|
+ exit_manager_.reset(new base::AtExitManager); |
+ |
+#endif // !OS_ANDROID && !OS_IOS |
#if defined(OS_LINUX) || defined(OS_OPENBSD) |
g_fds->Set(kCrashDumpSignal, |
@@ -497,12 +510,6 @@ 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. |
- exit_manager_.reset(new base::AtExitManager); |
-#endif |
- |
#if defined(OS_MACOSX) |
// We need this pool for all the objects created before we get to the |
// event loop, but we don't want to leave them hanging around until the |
@@ -543,7 +550,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 |
@@ -615,7 +622,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))) { |
@@ -629,7 +636,7 @@ static void ReleaseFreeMemoryThunk() { |
if (delegate) |
delegate->SandboxInitialized(process_type); |
-#if defined(OS_POSIX) |
+#if defined(OS_POSIX) && !defined(OS_IOS) |
SetProcessTitleFromCommandLine(argv); |
#endif |
@@ -651,7 +658,11 @@ static void ReleaseFreeMemoryThunk() { |
main_params.autorelease_pool = autorelease_pool_.get(); |
#endif |
+#if !defined(OS_IOS) |
leng
2012/09/05 11:57:11
Had to add this because the whole function is if-d
|
return RunNamedProcessTypeMain(process_type, main_params, delegate_); |
+#else |
+ return 1; |
+#endif |
} |
virtual void Shutdown() OVERRIDE { |