| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // TODO(port): the ifdefs in here are a first step towards trying to determine | 5 // TODO(port): the ifdefs in here are a first step towards trying to determine |
| 6 // the correct abstraction for all the OS functionality required at this | 6 // the correct abstraction for all the OS functionality required at this |
| 7 // stage of process initialization. It should not be taken as a final | 7 // stage of process initialization. It should not be taken as a final |
| 8 // abstraction. | 8 // abstraction. |
| 9 | 9 |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 } // namespace | 460 } // namespace |
| 461 | 461 |
| 462 #if defined(OS_WIN) | 462 #if defined(OS_WIN) |
| 463 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance, | 463 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance, |
| 464 sandbox::SandboxInterfaceInfo* sandbox_info, | 464 sandbox::SandboxInterfaceInfo* sandbox_info, |
| 465 TCHAR* command_line) { | 465 TCHAR* command_line) { |
| 466 #elif defined(OS_POSIX) | 466 #elif defined(OS_POSIX) |
| 467 int ChromeMain(int argc, char** argv) { | 467 int ChromeMain(int argc, char** argv) { |
| 468 #endif | 468 #endif |
| 469 #if defined(OS_MACOSX) | 469 #if defined(OS_MACOSX) |
| 470 // TODO(mark): Some of these things ought to be handled in chrome_exe_main.mm. | 470 // TODO(mark): Some of these things ought to be handled in |
| 471 // Under the current architecture, nothing in chrome_exe_main can rely | 471 // chrome_exe_main_mac.mm. Under the current architecture, nothing |
| 472 // directly on chrome_dll code on the Mac, though, so until some of this code | 472 // in chrome_exe_main can rely directly on chrome_dll code on the |
| 473 // is refactored to avoid such a dependency, it lives here. See also the | 473 // Mac, though, so until some of this code is refactored to avoid |
| 474 // TODO(mark) below at InitCrashReporter() and DestructCrashReporter(). | 474 // such a dependency, it lives here. See also the TODO(mark) below |
| 475 // at InitCrashReporter() and DestructCrashReporter(). |
| 475 base::EnableTerminationOnHeapCorruption(); | 476 base::EnableTerminationOnHeapCorruption(); |
| 476 base::EnableTerminationOnOutOfMemory(); | 477 base::EnableTerminationOnOutOfMemory(); |
| 477 #endif // OS_MACOSX | 478 #endif // OS_MACOSX |
| 478 | 479 |
| 479 RegisterInvalidParamHandler(); | 480 RegisterInvalidParamHandler(); |
| 480 | 481 |
| 481 // The exit manager is in charge of calling the dtors of singleton objects. | 482 // The exit manager is in charge of calling the dtors of singleton objects. |
| 482 base::AtExitManager exit_manager; | 483 base::AtExitManager exit_manager; |
| 483 | 484 |
| 484 // We need this pool for all the objects created before we get to the | 485 // We need this pool for all the objects created before we get to the |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 | 970 |
| 970 logging::CleanupChromeLogging(); | 971 logging::CleanupChromeLogging(); |
| 971 | 972 |
| 972 #if defined(OS_MACOSX) && defined(GOOGLE_CHROME_BUILD) | 973 #if defined(OS_MACOSX) && defined(GOOGLE_CHROME_BUILD) |
| 973 // TODO(mark): See the TODO(mark) above at InitCrashReporter. | 974 // TODO(mark): See the TODO(mark) above at InitCrashReporter. |
| 974 DestructCrashReporter(); | 975 DestructCrashReporter(); |
| 975 #endif // OS_MACOSX && GOOGLE_CHROME_BUILD | 976 #endif // OS_MACOSX && GOOGLE_CHROME_BUILD |
| 976 | 977 |
| 977 return rv; | 978 return rv; |
| 978 } | 979 } |
| OLD | NEW |