Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(928)

Unified Diff: content/app/content_main_runner.cc

Issue 10907062: Minimal number of if-def changes to support OS_IOS in content_main_runner.cc (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Implemented feedback Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698