// SandboxHostLinux needs to be initialized even if the sandbox and
// zygote are both disabled. It initializes the sandboxed process socket.
SandboxHostLinux::GetInstance()->Init();
+#if defined(OS_TIZEN) && !defined(OS_TIZEN_TV_PRODUCT)
+ if (parsed_command_line.HasSwitch(switches::kSingleProcess))
+ return;
+#endif
if (parsed_command_line.HasSwitch(switches::kNoZygote) &&
!parsed_command_line.HasSwitch(switches::kNoSandbox)) {
#if BUILDFLAG(USE_ZYGOTE_HANDLE)
// Zygote startup is special -- see RunZygote comments above
// for why we don't use ZygoteMain directly.
- if (process_type == switches::kZygoteProcess)
+ if (process_type == switches::kZygoteProcess
+#if defined(OS_TIZEN) && !defined(OS_TIZEN_TV_PRODUCT)
+ && !base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kSingleProcess)
+#endif
+ )
return RunZygote(delegate);
#endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
#include "base/process/launch.h"
#include "build/build_config.h"
#include "content/public/browser/child_process_launcher_utils.h"
+#include "content/public/common/content_switches.h"
#include "content/public/common/result_codes.h"
#include "content/public/common/sandboxed_process_launcher_delegate.h"
int error_code) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
starting_ = false;
- process_ = std::move(process);
+#if defined(OS_TIZEN) && !defined(OS_TIZEN_TV_PRODUCT)
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kSingleProcess))
+#endif
+ process_ = std::move(process);
if (process_.process.IsValid()) {
client_->OnProcessLaunched();
base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
? nullptr
: delegate_->GetZygote();
+#if defined(OS_TIZEN) && !defined(OS_TIZEN_TV_PRODUCT)
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kSingleProcess))
+ zygote_handle = nullptr;
+#endif
if (zygote_handle) {
// TODO(crbug.com/569191): If chrome supported multiple zygotes they could
// be created lazily here, or in the delegate GetZygote() implementations.