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

Side by Side Diff: chrome/app/chrome_dll_main.cc

Issue 3171027: [Mac] Enforce proper usage of main app bundle and helper app bundle.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/test/in_process_browser_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 // * If Breakpad is disabled, we only turn on Crash Reporter for the 641 // * If Breakpad is disabled, we only turn on Crash Reporter for the
642 // Browser process in release mode. 642 // Browser process in release mode.
643 if (!parsed_command_line.HasSwitch(switches::kDisableBreakpad)) { 643 if (!parsed_command_line.HasSwitch(switches::kDisableBreakpad)) {
644 bool disable_apple_crash_reporter = is_debug_build 644 bool disable_apple_crash_reporter = is_debug_build
645 || mac_util::IsBackgroundOnlyProcess(); 645 || mac_util::IsBackgroundOnlyProcess();
646 if (!IsCrashReporterEnabled() && disable_apple_crash_reporter) { 646 if (!IsCrashReporterEnabled() && disable_apple_crash_reporter) {
647 DebugUtil::DisableOSCrashDumps(); 647 DebugUtil::DisableOSCrashDumps();
648 } 648 }
649 } 649 }
650 650
651 #if defined(OS_MACOSX)
652 // Mac Chrome is packaged with a main app bundle and a helper app bundle.
653 // The main app bundle should only be used for the browser process, so it
654 // should never see a --type switch (switches::kProcessType). Likewise,
655 // the helper should always have a --type switch.
656 //
657 // This check is done this late so there is already a call to
658 // mac_util::IsBackgroundOnlyProcess(), so there is no change in
659 // startup/initialization order.
660
661 // The helper's Info.plist marks it as a background only app.
662 if (mac_util::IsBackgroundOnlyProcess()) {
663 CHECK(parsed_command_line.HasSwitch(switches::kProcessType))
664 << "Helper application requires --type.";
665 } else {
666 CHECK(!parsed_command_line.HasSwitch(switches::kProcessType))
667 << "Main application forbids --type, saw \"" << process_type << "\".";
668 }
669 #endif // defined(OS_MACOSX)
670
651 if (IsCrashReporterEnabled()) 671 if (IsCrashReporterEnabled())
652 InitCrashProcessInfo(); 672 InitCrashProcessInfo();
653 #endif // OS_MACOSX 673 #endif // OS_MACOSX
654 674
655 InitializeStatsTable(browser_pid, parsed_command_line); 675 InitializeStatsTable(browser_pid, parsed_command_line);
656 676
657 StatsScope<StatsCounterTimer> 677 StatsScope<StatsCounterTimer>
658 startup_timer(chrome::Counters::chrome_main()); 678 startup_timer(chrome::Counters::chrome_main());
659 679
660 // Enable the heap profiler as early as possible! 680 // Enable the heap profiler as early as possible!
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 935
916 logging::CleanupChromeLogging(); 936 logging::CleanupChromeLogging();
917 937
918 #if defined(OS_MACOSX) && defined(GOOGLE_CHROME_BUILD) 938 #if defined(OS_MACOSX) && defined(GOOGLE_CHROME_BUILD)
919 // TODO(mark): See the TODO(mark) above at InitCrashReporter. 939 // TODO(mark): See the TODO(mark) above at InitCrashReporter.
920 DestructCrashReporter(); 940 DestructCrashReporter();
921 #endif // OS_MACOSX && GOOGLE_CHROME_BUILD 941 #endif // OS_MACOSX && GOOGLE_CHROME_BUILD
922 942
923 return rv; 943 return rv;
924 } 944 }
OLDNEW
« no previous file with comments | « no previous file | chrome/test/in_process_browser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698