shell_main.cc revision b2df76ea8fec9e32f6f3718986dba0d95315b29c
1d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com// Use of this source code is governed by a BSD-style license that can be 3d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com// found in the LICENSE file. 4d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 5d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#include "content/public/app/content_main.h" 6d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 7d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#include "content/shell/app/shell_main_delegate.h" 8d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#include "sandbox/win/src/sandbox_types.h" 9d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 10d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#if defined(OS_WIN) 11d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#include "content/public/app/startup_helper_win.h" 12d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#endif 13d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 14d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#if defined(OS_MACOSX) 15d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#include "content/shell/shell_content_main.h" 16d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#endif 17d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 18d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#if defined(OS_WIN) 19d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 20d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.comint APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t*, int) { 21d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com sandbox::SandboxInterfaceInfo sandbox_info = {0}; 22d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com content::InitializeSandboxInfo(&sandbox_info); 23d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com content::ShellMainDelegate delegate; 24d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com return content::ContentMain(instance, &sandbox_info, &delegate); 25d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com} 26d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 27d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#else 28d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 29d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.comint main(int argc, const char** argv) { 30d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#if defined(OS_MACOSX) 31d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com // Do the delegate work in shell_content_main to avoid having to export the 32d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com // delegate types. 33d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com return ::ContentMain(argc, argv); 34d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#else 35d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com content::ShellMainDelegate delegate; 36d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com return content::ContentMain(argc, argv, &delegate); 37d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#endif // OS_MACOSX 38d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com} 39d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com 40d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com#endif // OS_POSIX 41d4236574cfe4ec333d20e7a30f37e084168bb050djsollen@google.com