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