ports/www/chromium/files/patch-content__browser__child_process_launcher.cc
Rene Ladan bf75679390 Update to 24.0.1312.52, which add support for MathML.
FreeBSD-specific improvements:
- working WiFi geolocation [1] (can be turned off in preferences)
- fix build with clang (use external libvpx)
- use SysV SHM model and where possible OS_BSD, which saves some patches
- no need to use ZygoteProcess switch

HTML5 audio is currently broken.

PR:		ports/174402 [1]
Submitted by:	J.R. Oldroyd <fbsd@opal.com> [1]
Security:	http://www.vuxml.org/freebsd/46bd747b-5b84-11e2-b06d-00262d5ed8ee.html
2013-01-11 01:14:52 +00:00

101 lines
3.7 KiB
C++

--- content/browser/child_process_launcher.cc.orig 2012-11-27 10:01:25.000000000 +0200
+++ content/browser/child_process_launcher.cc 2012-12-09 17:02:22.000000000 +0200
@@ -53,7 +53,7 @@
termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION),
exit_code_(RESULT_CODE_NORMAL_EXIT),
starting_(true)
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
, zygote_(false)
#endif
{
@@ -196,7 +196,7 @@
FileDescriptorInfo(kPrimaryIPCChannel,
base::FileDescriptor(ipcfd, false)));
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
GetContentClient()->browser()->
GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id,
&files_to_register);
@@ -217,7 +217,7 @@
base::GlobalDescriptors::kBaseDescriptor));
}
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
if (process_type == switches::kRendererProcess) {
const int sandbox_fd =
RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
@@ -269,7 +269,7 @@
base::Bind(
&Context::Notify,
this_object.get(),
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
use_zygote,
#endif
handle));
@@ -277,7 +277,7 @@
}
void Notify(
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
bool zygote,
#endif
base::ProcessHandle handle) {
@@ -290,7 +290,7 @@
if (!handle)
LOG(ERROR) << "Failed to launch child process";
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
zygote_ = zygote;
#endif
if (client_) {
@@ -313,7 +313,7 @@
BrowserThread::PROCESS_LAUNCHER, FROM_HERE,
base::Bind(
&Context::TerminateInternal,
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
zygote_,
#endif
process_.handle()));
@@ -327,7 +327,7 @@
}
static void TerminateInternal(
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
bool zygote,
#endif
base::ProcessHandle handle) {
@@ -341,7 +341,7 @@
process.Terminate(RESULT_CODE_NORMAL_EXIT);
// On POSIX, we must additionally reap the child.
#if defined(OS_POSIX)
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
if (zygote) {
// If the renderer was created via a zygote, we have to proxy the reaping
// through the zygote process.
@@ -368,7 +368,7 @@
#if defined(OS_ANDROID)
// The fd to close after creating the process.
int ipcfd_;
-#elif defined(OS_POSIX) && !defined(OS_MACOSX)
+#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
bool zygote_;
#endif
};
@@ -423,7 +423,7 @@
*exit_code = context_->exit_code_;
return context_->termination_status_;
}
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
if (context_->zygote_) {
context_->termination_status_ = ZygoteHostImpl::GetInstance()->
GetTerminationStatus(handle, &context_->exit_code_);