| Index: headless/lib/headless_content_main_delegate.cc
|
| diff --git a/headless/lib/headless_content_main_delegate.cc b/headless/lib/headless_content_main_delegate.cc
|
| index 9428908a6657555fd751c6f28ff32fdd3554a188..59b6defce067d2e4f0cbd56dc893b075cce6817c 100644
|
| --- a/headless/lib/headless_content_main_delegate.cc
|
| +++ b/headless/lib/headless_content_main_delegate.cc
|
| @@ -22,7 +22,6 @@
|
| #include "headless/lib/browser/headless_content_browser_client.h"
|
| #include "headless/lib/headless_crash_reporter_client.h"
|
| #include "headless/lib/headless_macros.h"
|
| -#include "headless/lib/renderer/headless_content_renderer_client.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/base/ui_base_switches.h"
|
| #include "ui/gfx/switches.h"
|
| @@ -37,6 +36,10 @@
|
| #include "components/crash/content/app/crashpad.h"
|
| #endif
|
|
|
| +#if !defined(CHROME_MULTIPLE_DLL_BROWSER)
|
| +#include "headless/lib/renderer/headless_content_renderer_client.h"
|
| +#endif
|
| +
|
| namespace headless {
|
| namespace {
|
| // Keep in sync with content/common/content_constants_internal.h.
|
| @@ -95,10 +98,16 @@ bool HeadlessContentMainDelegate::BasicStartupComplete(int* exit_code) {
|
|
|
| void HeadlessContentMainDelegate::InitLogging(
|
| const base::CommandLine& command_line) {
|
| + const std::string process_type =
|
| + command_line.GetSwitchValueASCII(switches::kProcessType);
|
| #if !defined(OS_WIN)
|
| if (!command_line.HasSwitch(switches::kEnableLogging))
|
| return;
|
| -#endif
|
| +#else
|
| + // Child processes in Windows are not able to initialize logging.
|
| + if (!process_type.empty())
|
| + return;
|
| +#endif // !defined(OS_WIN)
|
|
|
| logging::LoggingDestination log_mode;
|
| base::FilePath log_filename(FILE_PATH_LITERAL("chrome_debug.log"));
|
| @@ -143,9 +152,6 @@ void HeadlessContentMainDelegate::InitLogging(
|
| log_path = base::FilePath::FromUTF8Unsafe(filename);
|
| }
|
|
|
| - const std::string process_type =
|
| - command_line.GetSwitchValueASCII(switches::kProcessType);
|
| -
|
| settings.logging_dest = log_mode;
|
| settings.log_file = log_path.value().c_str();
|
| settings.lock_log = logging::DONT_LOCK_LOG_FILE;
|
| @@ -194,6 +200,10 @@ void HeadlessContentMainDelegate::PreSandboxStartup() {
|
| int HeadlessContentMainDelegate::RunProcess(
|
| const std::string& process_type,
|
| const content::MainFunctionParams& main_function_params) {
|
| +// TODO(dvallet): Consider making a Windows specific class to make specific
|
| +// child builds clearer.
|
| +#if !defined(CHROME_MULTIPLE_DLL_CHILD)
|
| +
|
| if (!process_type.empty())
|
| return -1;
|
|
|
| @@ -215,6 +225,9 @@ int HeadlessContentMainDelegate::RunProcess(
|
|
|
| // Return value >=0 here to disable calling content::BrowserMain.
|
| return 0;
|
| +#else
|
| + return -1;
|
| +#endif // !defined(CHROME_MULTIPLE_DLL_CHILD)
|
| }
|
|
|
| #if !defined(OS_MACOSX) && defined(OS_POSIX) && !defined(OS_ANDROID)
|
| @@ -275,15 +288,23 @@ void HeadlessContentMainDelegate::InitializeResourceBundle() {
|
|
|
| content::ContentBrowserClient*
|
| HeadlessContentMainDelegate::CreateContentBrowserClient() {
|
| +#if defined(CHROME_MULTIPLE_DLL_CHILD)
|
| + return nullptr;
|
| +#else
|
| browser_client_ =
|
| base::MakeUnique<HeadlessContentBrowserClient>(browser_.get());
|
| return browser_client_.get();
|
| +#endif
|
| }
|
|
|
| content::ContentRendererClient*
|
| HeadlessContentMainDelegate::CreateContentRendererClient() {
|
| +#if defined(CHROME_MULTIPLE_DLL_BROWSER)
|
| + return nullptr;
|
| +#else
|
| renderer_client_ = base::MakeUnique<HeadlessContentRendererClient>();
|
| return renderer_client_.get();
|
| +#endif
|
| }
|
|
|
| } // namespace headless
|
|
|