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

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

Issue 190853004: Convert ContentMain to take a struct instead of parameters that vary depending on the platform. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/app/chrome_main_delegate.h" 5 #include "chrome/app/chrome_main_delegate.h"
6 6
7 #include "content/public/app/content_main.h" 7 #include "content/public/app/content_main.h"
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include "base/win/win_util.h" 10 #include "base/win/win_util.h"
11 11
12 #define DLLEXPORT __declspec(dllexport) 12 #define DLLEXPORT __declspec(dllexport)
13 13
14 // We use extern C for the prototype DLLEXPORT to avoid C++ name mangling. 14 // We use extern C for the prototype DLLEXPORT to avoid C++ name mangling.
15 extern "C" { 15 extern "C" {
16 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance, 16 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance,
17 sandbox::SandboxInterfaceInfo* sandbox_info); 17 sandbox::SandboxInterfaceInfo* sandbox_info);
18 } 18 }
19 #elif defined(OS_POSIX) 19 #elif defined(OS_POSIX)
20 extern "C" { 20 extern "C" {
21 __attribute__((visibility("default"))) 21 __attribute__((visibility("default")))
22 int ChromeMain(int argc, const char** argv); 22 int ChromeMain(int argc, const char** argv);
23 } 23 }
24 #endif 24 #endif
25 25
26 #if defined(OS_WIN) 26 #if defined(OS_WIN)
27 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance, 27 DLLEXPORT int __cdecl ChromeMain(HINSTANCE instance,
28 sandbox::SandboxInterfaceInfo* sandbox_info) { 28 sandbox::SandboxInterfaceInfo* sandbox_info) {
29 #else
30 int ChromeMain(int argc, const char** argv) {
31 #endif
32 ChromeMainDelegate chrome_main_delegate;
33 content::ContentMainParams params(&chrome_main_delegate);
34
35 #if defined(OS_WIN)
29 // The process should crash when going through abnormal termination. 36 // The process should crash when going through abnormal termination.
30 base::win::SetShouldCrashOnProcessDetach(true); 37 base::win::SetShouldCrashOnProcessDetach(true);
31 base::win::SetAbortBehaviorForCrashReporting(); 38 base::win::SetAbortBehaviorForCrashReporting();
32 ChromeMainDelegate chrome_main_delegate; 39 params.instance = instance;
33 int rv = content::ContentMain(instance, sandbox_info, &chrome_main_delegate); 40 params.sandbox_info = sandbox_info;
41 #else
42 params.argc = argc;
43 params.argv = argv;
44 #endif
45
46 int rv = content::ContentMain(&params);
47
48 #if defined(OS_WIN)
34 base::win::SetShouldCrashOnProcessDetach(false); 49 base::win::SetShouldCrashOnProcessDetach(false);
50 #endif
51
35 return rv; 52 return rv;
36 #elif defined(OS_POSIX)
37 int ChromeMain(int argc, const char** argv) {
38 ChromeMainDelegate chrome_main_delegate;
39 return content::ContentMain(argc, argv, &chrome_main_delegate);
40 #endif
41 } 53 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698