Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / extensions / shell / app / shell_main.cc
blob18a6e6342d444a30ffc612371d130f6ca6d1ef7d
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/public/app/content_main.h"
6 #include "extensions/shell/app/shell_main_delegate.h"
8 #if defined(OS_WIN)
9 #include "content/public/app/startup_helper_win.h"
10 #include "sandbox/win/src/sandbox_types.h"
11 #endif
13 #if defined(OS_MACOSX)
14 #include "extensions/shell/app/shell_main_mac.h"
15 #endif
17 #if defined(OS_MACOSX)
18 int main(int argc, const char** argv) {
19 // Do the delegate work in shell_main_mac to avoid having to export the
20 // delegate types.
21 return ::ContentMain(argc, argv);
23 #elif defined(OS_WIN)
24 int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t*, int) {
25 extensions::ShellMainDelegate delegate;
26 content::ContentMainParams params(&delegate);
28 sandbox::SandboxInterfaceInfo sandbox_info = {0};
29 content::InitializeSandboxInfo(&sandbox_info);
30 params.instance = instance;
31 params.sandbox_info = &sandbox_info;
33 return content::ContentMain(params);
35 #else // non-Mac POSIX
36 int main(int argc, const char** argv) {
37 extensions::ShellMainDelegate delegate;
38 content::ContentMainParams params(&delegate);
40 params.argc = argc;
41 params.argv = argv;
43 return content::ContentMain(params);
45 #endif