OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 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 // Wrapper to the parameter list for the "main" entry points (browser, renderer, | |
6 // plugin) to shield the call sites from the differences between platforms | |
7 // (e.g., POSIX doesn't need to pass any sandbox information). | |
8 | |
9 #ifndef CONTENT_COMMON_MAIN_FUNCTION_PARAMS_H_ | |
10 #define CONTENT_COMMON_MAIN_FUNCTION_PARAMS_H_ | |
11 #pragma once | |
12 | |
13 #include "base/command_line.h" | |
14 | |
15 #if defined(OS_WIN) | |
16 namespace sandbox { | |
17 struct SandboxInterfaceInfo; | |
18 } | |
19 #elif defined(OS_MACOSX) | |
20 namespace base { | |
21 namespace mac { | |
22 class ScopedNSAutoreleasePool; | |
23 } | |
24 } | |
25 #endif | |
26 | |
27 class Task; | |
28 | |
29 struct MainFunctionParams { | |
30 explicit MainFunctionParams(const CommandLine& cl) | |
31 : command_line(cl), | |
32 #if defined(OS_WIN) | |
33 sandbox_info(NULL), | |
34 #elif defined(OS_MACOSX) | |
35 autorelease_pool(NULL), | |
36 #endif | |
37 ui_task(NULL) {} | |
38 const CommandLine& command_line; | |
39 #if defined(OS_WIN) | |
40 sandbox::SandboxInterfaceInfo* sandbox_info; | |
41 #elif defined(OS_MACOSX) | |
42 base::mac::ScopedNSAutoreleasePool* autorelease_pool; | |
43 #endif | |
44 // Used by InProcessBrowserTest. If non-null BrowserMain schedules this | |
45 // task to run on the MessageLoop and BrowserInit is not invoked. | |
46 Task* ui_task; | |
47 }; | |
48 | |
49 #endif // CONTENT_COMMON_MAIN_FUNCTION_PARAMS_H_ | |
OLD | NEW |