shell_main.cc revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
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
3// found in the LICENSE file.
4
5#include "content/public/app/content_main.h"
6
7#include "content/shell/app/shell_main_delegate.h"
8#include "sandbox/win/src/sandbox_types.h"
9
10#if defined(OS_WIN)
11#include "content/public/app/startup_helper_win.h"
12#endif
13
14#if defined(OS_MACOSX)
15#include "content/shell/app/shell_content_main.h"
16#endif
17
18#if defined(OS_WIN)
19
20int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t*, int) {
21  sandbox::SandboxInterfaceInfo sandbox_info = {0};
22  content::InitializeSandboxInfo(&sandbox_info);
23  content::ShellMainDelegate delegate;
24  return content::ContentMain(instance, &sandbox_info, &delegate);
25}
26
27#else
28
29int main(int argc, const char** argv) {
30#if defined(OS_MACOSX)
31  // Do the delegate work in shell_content_main to avoid having to export the
32  // delegate types.
33  return ::ContentMain(argc, argv);
34#else
35  content::ShellMainDelegate delegate;
36  return content::ContentMain(argc, argv, &delegate);
37#endif  // OS_MACOSX
38}
39
40#endif  // OS_POSIX
41