aboutsummaryrefslogtreecommitdiffstats
path: root/www/chromium
diff options
context:
space:
mode:
authorrene <rene@FreeBSD.org>2013-09-04 00:06:13 +0800
committerrene <rene@FreeBSD.org>2013-09-04 00:06:13 +0800
commit31581a40ac3fd74a0963e2d877021cc73abfcc07 (patch)
treeb29478fdde749c6101a0732a2283b7bbd62ee9bc /www/chromium
parent96302e818264113c1402b00fdb5e394b6672d484 (diff)
downloadfreebsd-ports-gnome-31581a40ac3fd74a0963e2d877021cc73abfcc07.tar.gz
freebsd-ports-gnome-31581a40ac3fd74a0963e2d877021cc73abfcc07.tar.zst
freebsd-ports-gnome-31581a40ac3fd74a0963e2d877021cc73abfcc07.zip
- Update to 29.0.1547.65, which fixes a bug in Google Sync.
- Add an option to run regression test, default off. [1] If this option is selected, an extra distribution file containing test data is downloaded from an upstream mastersite. - Rename the CLANG option to GCC and flip the default to off, as clang is the default compiler for this port for quite some time now. [2] Submitted by: George Liaskos [1,2]
Diffstat (limited to 'www/chromium')
-rw-r--r--www/chromium/Makefile70
-rw-r--r--www/chromium/distinfo6
-rw-r--r--www/chromium/files/extra-patch-clang118
-rw-r--r--www/chromium/files/patch-base__posix__unix_domain_socket_linux_unittest.cc10
-rw-r--r--www/chromium/files/patch-base__process_util_freebsd.cc44
-rw-r--r--www/chromium/files/patch-base__process_util_unittest.cc18
-rw-r--r--www/chromium/files/patch-base__security_unittest.cc11
-rw-r--r--www/chromium/files/patch-base__test__expectations__expectation.cc19
-rw-r--r--www/chromium/files/patch-chrome__browser__gpu__chrome_gpu_util.cc11
-rw-r--r--www/chromium/files/patch-chrome__browser__gpu__gl_string_manager.cc11
-rw-r--r--www/chromium/files/patch-chrome__browser__gpu__gpu_feature_checker.cc11
-rw-r--r--www/chromium/files/patch-content__renderer__media__webrtc_audio_capturer.cc20
-rw-r--r--www/chromium/files/patch-content__renderer__media__webrtc_audio_device_impl.cc11
-rw-r--r--www/chromium/files/patch-content__renderer__media__webrtc_audio_renderer.cc11
-rw-r--r--www/chromium/files/patch-gpu__config__gpu_control_list.cc15
-rw-r--r--www/chromium/files/patch-gpu__config__gpu_control_list_unittest.cc12
-rw-r--r--www/chromium/files/patch-gpu__config__gpu_test_config.cc20
-rw-r--r--www/chromium/files/patch-net__base__mime_util_unittest.cc11
-rw-r--r--www/chromium/files/patch-net__base__net_util.cc10
-rw-r--r--www/chromium/files/patch-net__base__net_util.h12
-rw-r--r--www/chromium/files/patch-net__dns__dns_config_service_posix_unittest.cc11
-rw-r--r--www/chromium/files/patch-net__http__http_auth_gssapi_posix.cc13
-rw-r--r--www/chromium/files/patch-net__net.gyp18
-rw-r--r--www/chromium/files/patch-net__socket__tcp_listen_socket_unittest.h12
-rw-r--r--www/chromium/files/patch-net__udp__udp_socket_unittest.cc11
-rw-r--r--www/chromium/files/patch-testing__gtest__include__gtest__internal__gtest-port.h22
-rw-r--r--www/chromium/files/patch-third_party__WebKit__Tools__DumpRenderTree__DumpRenderTree.gyp__DumpRenderTree.gyp15
27 files changed, 491 insertions, 62 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 3c46cb4fbf15..6404b7e44578 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -5,11 +5,13 @@
PORTNAME= chromium
DISTVERSIONPREFIX= courgette-redacted-
-DISTVERSION= 29.0.1547.62
+DISTVERSION= 29.0.1547.65
CATEGORIES= www
-MASTER_SITES= http://download.goodking.org/downloads/ \
- ftp://rene-ladan.nl/pub/distfiles/ \
- http://files.etoilebsd.net/goodking/
+MASTER_SITES= http://commondatastorage.googleapis.com/chromium-browser-official/:testdata \
+ http://download.goodking.org/downloads/:browser \
+ ftp://rene-ladan.nl/pub/distfiles/:browser \
+ http://files.etoilebsd.net/goodking/:browser
+DISTFILES= ${PORTNAME}${EXTRACT_SUFX}:browser
MAINTAINER= chromium@FreeBSD.org
COMMENT= Mostly BSD-licensed web browser based on WebKit and Gtk+
@@ -17,6 +19,7 @@ COMMENT= Mostly BSD-licensed web browser based on WebKit and Gtk+
LICENSE= BSD LGPL21 MPL
LICENSE_COMB= multi
+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
CFLAGS+= -fno-stack-protector
BUILD_DEPENDS= ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \
@@ -51,7 +54,7 @@ USE_XORG= scrnsaverproto x11 xproto xscrnsaver xtst
USE_GNOME= glib20 gtk20 dconf libxslt
MAN1= chrome.1
-ALL_TARGET= chrome
+NINJA_TARGETS= chrome
# See build/common.gypi for all the available variables.
GYP_DEFINES+= use_cups=1 \
@@ -89,21 +92,15 @@ SUB_FILES= chromium-browser.desktop
SUB_LIST= COMMENT="${COMMENT}" \
DATADIR=${DATADIR}
-OPTIONS_DEFINE= CODECS GCONF PULSEAUDIO CLANG DEBUG
+OPTIONS_DEFINE= CODECS GCONF PULSEAUDIO GCC TEST DEBUG
CODECS_DESC= Compile and enable patented codecs like H.264
-CLANG_DESC= Build Chromium with Clang instead of GCC 4.6+
+GCC_DESC= Build Chromium with GCC 4.6+
-OPTIONS_DEFAULT= CODECS GCONF CLANG
+OPTIONS_DEFAULT= CODECS GCONF
.include <bsd.port.options.mk>
-.if ${OSVERSION} < 900033 || ! ${PORT_OPTIONS:MCLANG}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
-CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
-MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
-.endif
-
.if ${PORT_OPTIONS:MCODECS}
GYP_DEFINES+= ffmpeg_branding=Chrome
GYP_DEFINES+= proprietary_codecs=1
@@ -129,7 +126,11 @@ GYP_DEFINES+= use_pulseaudio=0
GYP_DEFINES+= disable_sse2=1
.endif
-.if ${PORT_OPTIONS:MCLANG}
+.if ${PORT_OPTIONS:MGCC}
+USE_GCC?= yes
+GYP_DEFINES+= gcc_version=${CXX:S/g++//}
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gcc
+.else
.if ${OSVERSION} < 902000
BUILD_DEPENDS+= ${LOCALBASE}/bin/clang:${PORTSDIR}/lang/clang
CC= ${LOCALBASE}/bin/clang
@@ -140,10 +141,23 @@ CXX= clang++
.endif
GYP_DEFINES+= clang=1
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang
-.else
-USE_GCC?= yes
-GYP_DEFINES+= gcc_version=${CXX:S/g++//}
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gcc
+.endif
+
+.if ${PORT_OPTIONS:MTEST}
+TEST_TARGETS= base_unittests \
+ crypto_unittests \
+ cacheinvalidation_unittests \
+ gpu_unittests \
+ sync_unit_tests \
+ media_unittests \
+ printing_unittests \
+ sql_unittests \
+ net_unittests \
+ content_unittests
+EXCLUDED_TESTS=
+NINJA_TARGETS+= ${TEST_TARGETS}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:browser \
+ ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX}:testdata
.endif
.if ${PORT_OPTIONS:MDEBUG}
@@ -157,12 +171,14 @@ GYP_DEFINES+= buildtype=Official
CONFIGURE_ENV+= CC=${CC} \
CXX=${CXX} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
GYP_GENERATORS=ninja \
GYP_DEFINES="${GYP_DEFINES}"
+# according to portlint the below is passed via bsd.port.mk,
+# but 'make -V CONFIGURE_ENV' does not show it:
+CONFIGURE_ENV+= CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
MAKE_ENV+= BUILDTYPE=${BUILDTYPE} \
GPERF=${LOCALBASE}/bin/gperf
@@ -210,7 +226,13 @@ do-configure:
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${LOCALBASE}/bin/ninja \
- ${_MAKE_JOBS} -C out/${BUILDTYPE} ${ALL_TARGET}
+ ${_MAKE_JOBS} -C out/${BUILDTYPE} ${NINJA_TARGETS}
+
+test regression-test: build
+.for t in ${TEST_TARGETS}
+ cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \
+ ./${t} --gtest_filter=-${EXCLUDED_TESTS}
+.endfor
do-install:
@${MKDIR} ${DATADIR}
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 858ff3bc2152..8929feb5441b 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,2 +1,4 @@
-SHA256 (chromium-courgette-redacted-29.0.1547.62.tar.xz) = fc4345665e0c8ace5164f454d3a61e8e41c6d1c30a5b5031c6c103a14dd708df
-SIZE (chromium-courgette-redacted-29.0.1547.62.tar.xz) = 173641108
+SHA256 (chromium-courgette-redacted-29.0.1547.65.tar.xz) = fd6db20fdea04b5ca40d718a5edc6640da08acb23d4a61f42368bd5b0c0da9fd
+SIZE (chromium-courgette-redacted-29.0.1547.65.tar.xz) = 173602060
+SHA256 (chromium-29.0.1547.65-testdata.tar.xz) = 62616eb1c88d3d85e65f3a0e608a60d8a6bb5cd2e07c158508d1cabd8570d80b
+SIZE (chromium-29.0.1547.65-testdata.tar.xz) = 108863692
diff --git a/www/chromium/files/extra-patch-clang b/www/chromium/files/extra-patch-clang
index db63d80638c2..07e7d09a1325 100644
--- a/www/chromium/files/extra-patch-clang
+++ b/www/chromium/files/extra-patch-clang
@@ -5,14 +5,14 @@
thunks::GetAllocatorWasteSizeFunction get_allocator_waste_size_function) {
DCHECK_EQ(thunks::GetGetAllocatorWasteSizeFunction(),
- reinterpret_cast<thunks::GetAllocatorWasteSizeFunction>(NULL));
-+ static_cast<thunks::GetAllocatorWasteSizeFunction>(0));
++ static_cast<thunks::GetAllocatorWasteSizeFunction>(NULL));
thunks::SetGetAllocatorWasteSizeFunction(get_allocator_waste_size_function);
}
void SetGetStatsFunction(thunks::GetStatsFunction get_stats_function) {
DCHECK_EQ(thunks::GetGetStatsFunction(),
- reinterpret_cast<thunks::GetStatsFunction>(NULL));
-+ static_cast<thunks::GetStatsFunction>(0));
++ static_cast<thunks::GetStatsFunction>(NULL));
thunks::SetGetStatsFunction(get_stats_function);
}
@@ -20,7 +20,7 @@
thunks::ReleaseFreeMemoryFunction release_free_memory_function) {
DCHECK_EQ(thunks::GetReleaseFreeMemoryFunction(),
- reinterpret_cast<thunks::ReleaseFreeMemoryFunction>(NULL));
-+ static_cast<thunks::ReleaseFreeMemoryFunction>(0));
++ static_cast<thunks::ReleaseFreeMemoryFunction>(NULL));
thunks::SetReleaseFreeMemoryFunction(release_free_memory_function);
}
@@ -31,10 +31,21 @@
// profiling.
void SetAlternateTimeSource(NowFunction* now_function, TimeSourceType type) {
- DCHECK_EQ(reinterpret_cast<NowFunction*>(NULL), g_time_function);
-+ DCHECK_EQ(static_cast<NowFunction*>(0), g_time_function);
++ DCHECK_EQ(static_cast<NowFunction*>(NULL), g_time_function);
g_time_function = now_function;
g_time_source_type = type;
}
+--- base/threading/thread_local_storage_unittest.cc.orig 2013-08-30 23:06:21.000000000 +0300
++++ base/threading/thread_local_storage_unittest.cc 2013-08-30 23:06:50.000000000 +0300
+@@ -60,7 +60,7 @@
+ void ThreadLocalStorageCleanup(void *value) {
+ int *ptr = reinterpret_cast<int*>(value);
+ // Destructors should never be called with a NULL.
+- ASSERT_NE(reinterpret_cast<int*>(NULL), ptr);
++ ASSERT_NE(static_cast<int*>(NULL), ptr);
+ if (*ptr == kFinalTlsValue)
+ return; // We've been called enough times.
+ ASSERT_LT(kFinalTlsValue, *ptr);
--- base/tracked_objects.cc 2013-07-03 23:39:54.000000000 -0400
+++ base/tracked_objects.cc 2013-07-19 00:42:10.000000000 -0400
@@ -346,7 +346,7 @@
@@ -42,10 +53,42 @@
// We must NOT do any allocations during this callback.
// Using the simple linked lists avoids all allocations.
- DCHECK_EQ(this->next_retired_worker_, reinterpret_cast<ThreadData*>(NULL));
-+ DCHECK_EQ(this->next_retired_worker_, static_cast<ThreadData*>(0));
++ DCHECK_EQ(this->next_retired_worker_, static_cast<ThreadData*>(NULL));
this->next_retired_worker_ = first_retired_worker_;
first_retired_worker_ = this;
}
+--- base/tracked_objects_unittest.cc.orig 2013-08-30 23:09:01.000000000 +0300
++++ base/tracked_objects_unittest.cc 2013-08-30 23:10:14.000000000 +0300
+@@ -50,9 +50,9 @@
+ Births* birth = ThreadData::TallyABirthIfActive(location);
+
+ if (ThreadData::status() == ThreadData::DEACTIVATED)
+- EXPECT_EQ(reinterpret_cast<Births*>(NULL), birth);
++ EXPECT_EQ(static_cast<Births*>(NULL), birth);
+ else
+- EXPECT_NE(reinterpret_cast<Births*>(NULL), birth);
++ EXPECT_NE(static_cast<Births*>(NULL), birth);
+ }
+
+ // Helper function to verify the most common test expectations.
+@@ -231,7 +231,7 @@
+ return;
+
+ scoped_ptr<DeathData> data(new DeathData());
+- ASSERT_NE(data, reinterpret_cast<DeathData*>(NULL));
++ ASSERT_NE(data, static_cast<DeathData*>(NULL));
+ EXPECT_EQ(data->run_duration_sum(), 0);
+ EXPECT_EQ(data->run_duration_sample(), 0);
+ EXPECT_EQ(data->queue_duration_sum(), 0);
+@@ -432,7 +432,7 @@
+ Location location(kFunction, kFile, kLineNumber, NULL);
+ // Do not delete |birth|. We don't own it.
+ Births* birth = ThreadData::TallyABirthIfActive(location);
+- EXPECT_NE(reinterpret_cast<Births*>(NULL), birth);
++ EXPECT_NE(static_cast<Births*>(NULL), birth);
+
+ const TrackedTime kTimePosted = TrackedTime() + Duration::FromMilliseconds(1);
+ const TrackedTime kStartOfRun = TrackedTime() +
--- chrome/browser/metrics/thread_watcher.cc 2013-07-03 23:45:55.000000000 -0400
+++ chrome/browser/metrics/thread_watcher.cc 2013-07-19 01:38:45.000000000 -0400
@@ -40,7 +40,7 @@
@@ -53,7 +96,7 @@
int* NullPointer() {
- return reinterpret_cast<int*>(NULL);
-+ return static_cast<int*>(0);
++ return static_cast<int*>(NULL);
}
void NullPointerCrash(int line_number) {
@@ -64,10 +107,43 @@
DCHECK(window_ptr);
DCHECK_EQ(window_ptr->window_id.id(), window_id);
- DCHECK_EQ(reinterpret_cast<SessionWindow*>(NULL),
-+ DCHECK_EQ(static_cast<SessionWindow*>(0),
++ DCHECK_EQ(static_cast<SessionWindow*>(NULL),
GetSession(session_tag)->windows[window_id]);
GetSession(session_tag)->windows[window_id] = window_ptr;
}
+--- media/audio/audio_output_proxy_unittest.cc.orig 2013-08-30 23:23:03.000000000 +0300
++++ media/audio/audio_output_proxy_unittest.cc 2013-08-30 23:23:54.000000000 +0300
+@@ -427,7 +427,7 @@
+ // |stream| is closed at this point. Start() should reopen it again.
+ EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
+ .Times(2)
+- .WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL)));
++ .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
+
+ EXPECT_CALL(callback_, OnError(_))
+ .Times(2);
+--- media/filters/decrypting_video_decoder_unittest.cc.orig 2013-08-30 23:27:39.000000000 +0300
++++ media/filters/decrypting_video_decoder_unittest.cc 2013-08-30 23:28:27.000000000 +0300
+@@ -482,7 +482,7 @@
+ // callback to cancel the |decryptor_ready_cb|.
+ EXPECT_CALL(*this, RequestDecryptorNotification(IsNullCallback()))
+ .WillOnce(ResetAndRunCallback(&decryptor_ready_cb,
+- reinterpret_cast<Decryptor*>(NULL)));
++ static_cast<Decryptor*>(NULL)));
+ Stop();
+ }
+
+--- net/url_request/view_cache_helper_unittest.cc.orig 2013-09-01 00:33:32.000000000 +0300
++++ net/url_request/view_cache_helper_unittest.cc 2013-09-01 00:34:02.000000000 +0300
+@@ -29,7 +29,7 @@
+ };
+
+ TestURLRequestContext::TestURLRequestContext()
+- : cache_(reinterpret_cast<HttpTransactionFactory*>(NULL), NULL,
++ : cache_(static_cast<HttpTransactionFactory*>(NULL), NULL,
+ HttpCache::DefaultBackend::InMemory(0)) {
+ set_http_transaction_factory(&cache_);
+ }
--- third_party/WebKit/Source/wtf/TypeTraits.h 2013-07-04 00:14:12.000000000 -0400
+++ third_party/WebKit/Source/wtf/TypeTraits.h 2013-07-19 01:29:01.000000000 -0400
@@ -24,7 +24,7 @@
@@ -106,7 +182,7 @@
it = std::remove(tasks_.begin(),
tasks_.end(),
- reinterpret_cast<Task *>(NULL));
-+ static_cast<Task *>(0));
++ static_cast<Task *>(NULL));
tasks_.erase(it, tasks_.end());
@@ -117,7 +193,7 @@
CMapTable::CMapFormat0::Builder::Builder(const CMapId& cmap_id)
- : CMap::Builder(reinterpret_cast<ReadableFontData*>(NULL),
-+ : CMap::Builder(static_cast<ReadableFontData*>(0),
++ : CMap::Builder(static_cast<ReadableFontData*>(NULL),
CMapFormat::kFormat0,
cmap_id) {
}
@@ -126,7 +202,7 @@
data->Slice(offset, data->ReadUShort(
offset + Offset::kFormat0Length)))
- : reinterpret_cast<WritableFontData*>(NULL),
-+ : static_cast<WritableFontData*>(0),
++ : static_cast<WritableFontData*>(NULL),
CMapFormat::kFormat2, cmap_id) {
// TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix.
}
@@ -135,7 +211,7 @@
data->Slice(offset, data->ReadUShort(
offset + Offset::kFormat0Length)))
- : reinterpret_cast<ReadableFontData*>(NULL),
-+ : static_cast<ReadableFontData*>(0),
++ : static_cast<ReadableFontData*>(NULL),
CMapFormat::kFormat2, cmap_id) {
// TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix.
}
@@ -144,7 +220,7 @@
IntegerList* glyph_id_array,
const CMapId& cmap_id)
- : CMap::Builder(reinterpret_cast<ReadableFontData*>(NULL),
-+ : CMap::Builder(static_cast<ReadableFontData*>(0),
++ : CMap::Builder(static_cast<ReadableFontData*>(NULL),
CMapFormat::kFormat4, cmap_id),
segments_(segments->begin(), segments->end()),
glyph_id_array_(glyph_id_array->begin(), glyph_id_array->end()) {
@@ -153,10 +229,21 @@
CMapTable::CMapFormat4::Builder::Builder(const CMapId& cmap_id)
- : CMap::Builder(reinterpret_cast<ReadableFontData*>(NULL),
-+ : CMap::Builder(static_cast<ReadableFontData*>(0),
++ : CMap::Builder(static_cast<ReadableFontData*>(NULL),
CMapFormat::kFormat4, cmap_id) {
}
+--- v8/src/heap.cc.orig 2013-08-30 22:09:43.000000000 +0300
++++ v8/src/heap.cc 2013-08-30 22:10:26.000000000 +0300
+@@ -7285,7 +7285,7 @@
+
+ #ifdef DEBUG
+
+-Object* const PathTracer::kAnyGlobalObject = reinterpret_cast<Object*>(NULL);
++Object* const PathTracer::kAnyGlobalObject = static_cast<Object*>(NULL);
+
+ class PathTracer::MarkVisitor: public ObjectVisitor {
+ public:
--- v8/src/stub-cache.cc 2013-07-03 23:56:49.000000000 -0400
+++ v8/src/stub-cache.cc 2013-07-19 00:35:10.000000000 -0400
@@ -1476,7 +1476,7 @@
@@ -164,7 +251,6 @@
return (FLAG_print_code_stubs && !name.is_null() && name->IsString())
? GetCodeWithFlags(flags, *Handle<String>::cast(name)->ToCString())
- : GetCodeWithFlags(flags, reinterpret_cast<char*>(NULL));
-+ : GetCodeWithFlags(flags, static_cast<char*>(0));
++ : GetCodeWithFlags(flags, static_cast<char*>(NULL));
}
-
-
+
diff --git a/www/chromium/files/patch-base__posix__unix_domain_socket_linux_unittest.cc b/www/chromium/files/patch-base__posix__unix_domain_socket_linux_unittest.cc
index ca9c6372703e..20a1e3b3a153 100644
--- a/www/chromium/files/patch-base__posix__unix_domain_socket_linux_unittest.cc
+++ b/www/chromium/files/patch-base__posix__unix_domain_socket_linux_unittest.cc
@@ -1,7 +1,11 @@
---- base/posix/unix_domain_socket_linux_unittest.cc.orig 2013-08-19 23:12:24.000000000 +0300
-+++ base/posix/unix_domain_socket_linux_unittest.cc 2013-08-19 23:16:20.000000000 +0300
-@@ -4,6 +4,9 @@
+--- base/posix/unix_domain_socket_linux_unittest.cc.orig 2013-08-19 02:53:00.000000000 +0300
++++ base/posix/unix_domain_socket_linux_unittest.cc 2013-08-30 19:34:24.000000000 +0300
+@@ -2,8 +2,13 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
++#include "build/build_config.h"
++
#include <sys/socket.h>
#include <sys/types.h>
+#if defined(OS_BSD)
diff --git a/www/chromium/files/patch-base__process_util_freebsd.cc b/www/chromium/files/patch-base__process_util_freebsd.cc
index 4bd3210f84b2..2a4c2da62f15 100644
--- a/www/chromium/files/patch-base__process_util_freebsd.cc
+++ b/www/chromium/files/patch-base__process_util_freebsd.cc
@@ -1,5 +1,5 @@
---- base/process_util_freebsd.cc.orig 2013-08-16 22:09:53.000000000 +0300
-+++ base/process_util_freebsd.cc 2013-08-16 22:10:18.000000000 +0300
+--- base/process_util_freebsd.cc.orig 2013-08-19 02:53:01.000000000 +0300
++++ base/process_util_freebsd.cc 2013-08-31 13:54:23.000000000 +0300
@@ -18,7 +18,7 @@
#include <unistd.h>
@@ -9,3 +9,43 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
+@@ -28,27 +28,27 @@
+
+ ProcessId GetParentProcessId(ProcessHandle process) {
+ struct kinfo_proc info;
+- size_t length;
+- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process };
+-
+- if (sysctl(mib, arraysize(mib), &info, &length, NULL, 0) < 0)
++ size_t length = sizeof(struct kinfo_proc);
++ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process };
++ if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) {
++ DPLOG(ERROR) << "sysctl";
++ return -1;
++ }
++ if (length == 0)
+ return -1;
+-
+ return info.ki_ppid;
+ }
+
+ FilePath GetProcessExecutablePath(ProcessHandle process) {
+ char pathname[PATH_MAX];
+- size_t length;
++ size_t length = sizeof(pathname);
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, process };
+-
+- length = sizeof(pathname);
+-
+- if (sysctl(mib, arraysize(mib), pathname, &length, NULL, 0) < 0 ||
+- length == 0) {
++ if (sysctl(mib, arraysize(mib), pathname, &length, NULL, 0) < 0) {
++ DPLOG(ERROR) << "sysctl";
+ return FilePath();
+ }
+-
++ if (length == 0)
++ return FilePath();
+ return FilePath(std::string(pathname));
+ }
+
diff --git a/www/chromium/files/patch-base__process_util_unittest.cc b/www/chromium/files/patch-base__process_util_unittest.cc
new file mode 100644
index 000000000000..410cbac42164
--- /dev/null
+++ b/www/chromium/files/patch-base__process_util_unittest.cc
@@ -0,0 +1,18 @@
+--- base/process_util_unittest.cc.orig 2013-08-31 13:38:46.000000000 +0300
++++ base/process_util_unittest.cc 2013-08-31 13:40:13.000000000 +0300
+@@ -1086,7 +1086,7 @@
+ // functions so that they don't crash if the program is out of memory, so the
+ // OOM tests aren't supposed to work.
+ // TODO(vandebo) make this work on Windows too.
+-#if !defined(OS_ANDROID) && !defined(OS_OPENBSD) && \
++#if !defined(OS_ANDROID) && !defined(OS_BSD) && \
+ !defined(OS_WIN) && \
+ !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER)
+
+@@ -1303,5 +1303,5 @@
+ #endif // !ARCH_CPU_64_BITS
+ #endif // OS_MACOSX
+
+-#endif // !defined(OS_ANDROID) && !defined(OS_OPENBSD) &&
++#endif // !defined(OS_ANDROID) && !defined(OS_BSD) &&
+ // !defined(OS_WIN) && !defined(ADDRESS_SANITIZER)
diff --git a/www/chromium/files/patch-base__security_unittest.cc b/www/chromium/files/patch-base__security_unittest.cc
new file mode 100644
index 000000000000..4a4e4ef69e14
--- /dev/null
+++ b/www/chromium/files/patch-base__security_unittest.cc
@@ -0,0 +1,11 @@
+--- base/security_unittest.cc.orig 2013-09-01 01:12:36.000000000 +0300
++++ base/security_unittest.cc 2013-09-01 01:13:35.000000000 +0300
+@@ -161,7 +161,7 @@
+ // FAILS_ is too clunky.
+ void OverflowTestsSoftExpectTrue(bool overflow_detected) {
+ if (!overflow_detected) {
+-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX)
++#if defined(OS_POSIX) && !defined(OS_NACL)
+ // Sadly, on Linux, Android, and OSX we don't have a good story yet. Don't
+ // fail the test, but report.
+ printf("Platform has overflow: %s\n",
diff --git a/www/chromium/files/patch-base__test__expectations__expectation.cc b/www/chromium/files/patch-base__test__expectations__expectation.cc
new file mode 100644
index 000000000000..92cf91885525
--- /dev/null
+++ b/www/chromium/files/patch-base__test__expectations__expectation.cc
@@ -0,0 +1,19 @@
+--- base/test/expectations/expectation.cc.orig 2013-08-31 23:17:45.000000000 +0300
++++ base/test/expectations/expectation.cc 2013-08-31 23:18:59.000000000 +0300
+@@ -58,6 +58,7 @@
+ variant != "64") {
+ return false;
+ }
++ } else if (name == "FreeBSD") {
+ } else if (name == "ChromeOS") {
+ // TODO(rsesek): Figure out what ChromeOS needs.
+ } else if (name == "iOS") {
+@@ -119,6 +120,8 @@
+ platform.variant = "32";
+ else if (arch == "x86_64")
+ platform.variant = "64";
++#elif defined(OS_FREEBSD)
++ platform.name = "FreeBSD";
+ #else
+ NOTREACHED();
+ #endif
diff --git a/www/chromium/files/patch-chrome__browser__gpu__chrome_gpu_util.cc b/www/chromium/files/patch-chrome__browser__gpu__chrome_gpu_util.cc
new file mode 100644
index 000000000000..1e720780644d
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__gpu__chrome_gpu_util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/gpu/chrome_gpu_util.cc.orig 2013-09-02 20:57:36.000000000 +0300
++++ chrome/browser/gpu/chrome_gpu_util.cc 2013-09-02 20:59:37.000000000 +0300
+@@ -36,7 +36,7 @@
+
+ bool ShouldRunCompositingFieldTrial() {
+ // Enable the field trial only on desktop OS's.
+-#if !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX))
++#if !(defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_ANDROID)))
+ return false;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome__browser__gpu__gl_string_manager.cc b/www/chromium/files/patch-chrome__browser__gpu__gl_string_manager.cc
new file mode 100644
index 000000000000..05dea9daeb4c
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__gpu__gl_string_manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/gpu/gl_string_manager.cc.orig 2013-09-02 20:59:56.000000000 +0300
++++ chrome/browser/gpu/gl_string_manager.cc 2013-09-02 21:01:13.000000000 +0300
+@@ -25,7 +25,7 @@
+
+ void GLStringManager::Initialize() {
+ // On MacOSX or Windows, preliminary GPUInfo is enough.
+-#if defined(OS_LINUX)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ // We never remove this observer from GpuDataManager.
+ content::GpuDataManager::GetInstance()->AddObserver(this);
+
diff --git a/www/chromium/files/patch-chrome__browser__gpu__gpu_feature_checker.cc b/www/chromium/files/patch-chrome__browser__gpu__gpu_feature_checker.cc
new file mode 100644
index 000000000000..a6335513508b
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__gpu__gpu_feature_checker.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/gpu/gpu_feature_checker.cc.orig
++++ chrome/browser/gpu/gpu_feature_checker.cc
+@@ -33,7 +33,7 @@ void GPUFeatureChecker::CheckGPUFeatureAvailability() {
+ CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+
+ bool finalized = true;
+-#if defined(OS_LINUX)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ // On Windows and Mac, so far we can always make the final WebGL blacklisting
+ // decision based on partial GPU info; on Linux, we need to launch the GPU
+ // process to collect full GPU info and make the final decision.
diff --git a/www/chromium/files/patch-content__renderer__media__webrtc_audio_capturer.cc b/www/chromium/files/patch-content__renderer__media__webrtc_audio_capturer.cc
new file mode 100644
index 000000000000..c3a234002407
--- /dev/null
+++ b/www/chromium/files/patch-content__renderer__media__webrtc_audio_capturer.cc
@@ -0,0 +1,20 @@
+--- content/renderer/media/webrtc_audio_capturer.cc.orig 2013-09-02 21:19:59.000000000 +0300
++++ content/renderer/media/webrtc_audio_capturer.cc 2013-09-02 21:22:12.000000000 +0300
+@@ -24,7 +24,7 @@
+ // The listed rates below adds restrictions and WebRtcAudioDeviceImpl::Init()
+ // will fail if the user selects any rate outside these ranges.
+ static int kValidInputRates[] = {96000, 48000, 44100, 32000, 16000, 8000};
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ static int kValidInputRates[] = {48000, 44100};
+ #elif defined(OS_ANDROID)
+ static int kValidInputRates[] = {48000, 44100};
+@@ -37,7 +37,7 @@
+ #if defined(OS_WIN) || defined(OS_MACOSX)
+ // Use a buffer size of 10ms.
+ buffer_size = (sample_rate / 100);
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // Based on tests using the current ALSA implementation in Chrome, we have
+ // found that the best combination is 20ms on the input side and 10ms on the
+ // output side.
diff --git a/www/chromium/files/patch-content__renderer__media__webrtc_audio_device_impl.cc b/www/chromium/files/patch-content__renderer__media__webrtc_audio_device_impl.cc
new file mode 100644
index 000000000000..4726ea78d054
--- /dev/null
+++ b/www/chromium/files/patch-content__renderer__media__webrtc_audio_device_impl.cc
@@ -0,0 +1,11 @@
+--- content/renderer/media/webrtc_audio_device_impl.cc.orig 2013-09-02 21:19:20.000000000 +0300
++++ content/renderer/media/webrtc_audio_device_impl.cc 2013-09-02 21:21:36.000000000 +0300
+@@ -67,7 +67,7 @@
+ DCHECK_LE(number_of_frames, input_buffer_size());
+ #if defined(OS_WIN) || defined(OS_MACOSX)
+ DCHECK_LE(volume, 1.0);
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // We have a special situation on Linux where the microphone volume can be
+ // "higher than maximum". The input volume slider in the sound preference
+ // allows the user to set a scaling that is higher than 100%. It means that
diff --git a/www/chromium/files/patch-content__renderer__media__webrtc_audio_renderer.cc b/www/chromium/files/patch-content__renderer__media__webrtc_audio_renderer.cc
new file mode 100644
index 000000000000..c9698cd8c7eb
--- /dev/null
+++ b/www/chromium/files/patch-content__renderer__media__webrtc_audio_renderer.cc
@@ -0,0 +1,11 @@
+--- content/renderer/media/webrtc_audio_renderer.cc.orig 2013-09-02 21:19:42.000000000 +0300
++++ content/renderer/media/webrtc_audio_renderer.cc 2013-09-02 21:21:52.000000000 +0300
+@@ -31,7 +31,7 @@
+ // rates below adds restrictions and Initialize() will fail if the user selects
+ // any rate outside these ranges.
+ const int kValidOutputRates[] = {96000, 48000, 44100, 32000, 16000};
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ const int kValidOutputRates[] = {48000, 44100};
+ #elif defined(OS_ANDROID)
+ // TODO(leozwang): We want to use native sampling rate on Android to achieve
diff --git a/www/chromium/files/patch-gpu__config__gpu_control_list.cc b/www/chromium/files/patch-gpu__config__gpu_control_list.cc
new file mode 100644
index 000000000000..858e0db7659b
--- /dev/null
+++ b/www/chromium/files/patch-gpu__config__gpu_control_list.cc
@@ -0,0 +1,15 @@
+--- gpu/config/gpu_control_list.cc.orig 2013-09-02 21:03:44.000000000 +0300
++++ gpu/config/gpu_control_list.cc 2013-09-02 21:05:31.000000000 +0300
+@@ -1346,10 +1346,10 @@
+ return kOsWin;
+ #elif defined(OS_ANDROID)
+ return kOsAndroid;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
+- return kOsLinux;
+ #elif defined(OS_MACOSX)
+ return kOsMacosx;
++#elif defined(OS_POSIX)
++ return kOsLinux;
+ #else
+ return kOsUnknown;
+ #endif
diff --git a/www/chromium/files/patch-gpu__config__gpu_control_list_unittest.cc b/www/chromium/files/patch-gpu__config__gpu_control_list_unittest.cc
new file mode 100644
index 000000000000..684c88586fb5
--- /dev/null
+++ b/www/chromium/files/patch-gpu__config__gpu_control_list_unittest.cc
@@ -0,0 +1,12 @@
+--- gpu/config/gpu_control_list_unittest.cc.orig 2013-09-02 21:20:16.000000000 +0300
++++ gpu/config/gpu_control_list_unittest.cc 2013-09-02 21:21:01.000000000 +0300
+@@ -177,8 +177,7 @@
+ features = control_list->MakeDecision(
+ GpuControlList::kOsLinux, kOsVersion, gpu_info());
+ EXPECT_SINGLE_FEATURE(features, TEST_FEATURE_0);
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+- defined(OS_OPENBSD)
++#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_ANDROID))
+ // ControlList entries will be filtered to the current OS only upon loading.
+ EXPECT_TRUE(control_list->LoadList(
+ vendor_json, GpuControlList::kCurrentOsOnly));
diff --git a/www/chromium/files/patch-gpu__config__gpu_test_config.cc b/www/chromium/files/patch-gpu__config__gpu_test_config.cc
new file mode 100644
index 000000000000..686252c9d7dd
--- /dev/null
+++ b/www/chromium/files/patch-gpu__config__gpu_test_config.cc
@@ -0,0 +1,20 @@
+--- gpu/config/gpu_test_config.cc.orig 2013-09-02 21:22:26.000000000 +0300
++++ gpu/config/gpu_test_config.cc 2013-09-02 21:23:55.000000000 +0300
+@@ -17,8 +17,6 @@
+ GPUTestConfig::OS GetCurrentOS() {
+ #if defined(OS_CHROMEOS)
+ return GPUTestConfig::kOsChromeOS;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
+- return GPUTestConfig::kOsLinux;
+ #elif defined(OS_WIN)
+ int32 major_version = 0;
+ int32 minor_version = 0;
+@@ -53,6 +51,8 @@
+ }
+ #elif defined(OS_ANDROID)
+ return GPUTestConfig::kOsAndroid;
++#elif defined(OS_POSIX)
++ return GPUTestConfig::kOsLinux;
+ #endif
+ return GPUTestConfig::kOsUnknown;
+ }
diff --git a/www/chromium/files/patch-net__base__mime_util_unittest.cc b/www/chromium/files/patch-net__base__mime_util_unittest.cc
new file mode 100644
index 000000000000..6daaf8b2d693
--- /dev/null
+++ b/www/chromium/files/patch-net__base__mime_util_unittest.cc
@@ -0,0 +1,11 @@
+--- net/base/mime_util_unittest.cc.orig 2013-09-02 22:31:36.000000000 +0300
++++ net/base/mime_util_unittest.cc 2013-09-02 22:32:33.000000000 +0300
+@@ -245,7 +245,7 @@
+ { "MeSsAge/*", 1, "eml" },
+ { "image/bmp", 1, "bmp" },
+ { "video/*", 6, "mp4" },
+-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_IOS)
++#if (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_IOS)
+ { "video/*", 6, "mpg" },
+ #else
+ { "video/*", 6, "mpeg" },
diff --git a/www/chromium/files/patch-net__base__net_util.cc b/www/chromium/files/patch-net__base__net_util.cc
deleted file mode 100644
index 9476de950d53..000000000000
--- a/www/chromium/files/patch-net__base__net_util.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- net/base/net_util.cc.orig 2013-02-28 10:14:41.000000000 +0200
-+++ net/base/net_util.cc 2013-03-06 21:34:27.000000000 +0200
-@@ -22,6 +22,7 @@
- #endif
- #include <net/if.h>
- #include <netdb.h>
-+#include <sys/socket.h>
- #include <netinet/in.h>
- #endif
-
diff --git a/www/chromium/files/patch-net__base__net_util.h b/www/chromium/files/patch-net__base__net_util.h
new file mode 100644
index 000000000000..7cbebc6b3257
--- /dev/null
+++ b/www/chromium/files/patch-net__base__net_util.h
@@ -0,0 +1,12 @@
+--- net/base/net_util.h.orig 2013-09-01 00:45:45.000000000 +0300
++++ net/base/net_util.h 2013-09-01 00:47:35.000000000 +0300
+@@ -13,6 +13,9 @@
+ #elif defined(OS_POSIX)
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#if defined(OS_BSD)
++#include <netinet/in.h>
++#endif
+ #endif
+
+ #include <list>
diff --git a/www/chromium/files/patch-net__dns__dns_config_service_posix_unittest.cc b/www/chromium/files/patch-net__dns__dns_config_service_posix_unittest.cc
new file mode 100644
index 000000000000..6c22840187ae
--- /dev/null
+++ b/www/chromium/files/patch-net__dns__dns_config_service_posix_unittest.cc
@@ -0,0 +1,11 @@
+--- net/dns/dns_config_service_posix_unittest.cc.orig 2013-09-01 00:10:54.000000000 +0300
++++ net/dns/dns_config_service_posix_unittest.cc 2013-09-01 00:22:00.000000000 +0300
+@@ -2,8 +2,6 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+-#include <resolv.h>
+-
+ #include "base/sys_byteorder.h"
+ #include "net/dns/dns_config_service_posix.h"
+
diff --git a/www/chromium/files/patch-net__http__http_auth_gssapi_posix.cc b/www/chromium/files/patch-net__http__http_auth_gssapi_posix.cc
new file mode 100644
index 000000000000..07c590f134b9
--- /dev/null
+++ b/www/chromium/files/patch-net__http__http_auth_gssapi_posix.cc
@@ -0,0 +1,13 @@
+--- net/http/http_auth_gssapi_posix.cc.orig 2013-09-02 22:50:25.000000000 +0300
++++ net/http/http_auth_gssapi_posix.cc 2013-09-02 22:52:13.000000000 +0300
+@@ -430,8 +430,8 @@
+ static const char* const kDefaultLibraryNames[] = {
+ #if defined(OS_MACOSX)
+ "libgssapi_krb5.dylib" // MIT Kerberos
+-#elif defined(OS_OPENBSD)
+- "libgssapi.so" // Heimdal - OpenBSD
++#elif defined(OS_BSD)
++ "libgssapi.so" // Heimdal - OpenBSD / FreeBSD
+ #else
+ "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian
+ "libgssapi.so.4", // Heimdal - Suse10, MDK
diff --git a/www/chromium/files/patch-net__net.gyp b/www/chromium/files/patch-net__net.gyp
index a1b1e4b92108..56153fe3a0bf 100644
--- a/www/chromium/files/patch-net__net.gyp
+++ b/www/chromium/files/patch-net__net.gyp
@@ -1,6 +1,6 @@
---- net/net.gyp.orig 2012-09-25 16:01:38.000000000 +0300
-+++ net/net.gyp 2012-10-01 20:04:49.000000000 +0300
-@@ -943,9 +943,10 @@
+--- net/net.gyp.orig 2013-08-19 02:54:02.000000000 +0300
++++ net/net.gyp 2013-09-01 00:26:02.000000000 +0300
+@@ -1259,9 +1259,10 @@
}],
['os_bsd==1', {
'sources!': [
@@ -12,3 +12,15 @@
],
},{
'dependencies': [
+@@ -2076,6 +2077,11 @@
+ 'cert/x509_cert_types_unittest.cc',
+ ],
+ }],
++ [ 'os_bsd == 1', {
++ 'sources!': [
++ 'base/address_tracker_linux_unittest.cc',
++ ],
++ }],
+ ],
+ },
+ {
diff --git a/www/chromium/files/patch-net__socket__tcp_listen_socket_unittest.h b/www/chromium/files/patch-net__socket__tcp_listen_socket_unittest.h
new file mode 100644
index 000000000000..771ef48c42aa
--- /dev/null
+++ b/www/chromium/files/patch-net__socket__tcp_listen_socket_unittest.h
@@ -0,0 +1,12 @@
+--- net/socket/tcp_listen_socket_unittest.h.orig 2013-09-01 00:30:34.000000000 +0300
++++ net/socket/tcp_listen_socket_unittest.h 2013-09-01 00:31:11.000000000 +0300
+@@ -13,6 +13,9 @@
+ #include <arpa/inet.h>
+ #include <errno.h>
+ #include <sys/socket.h>
++#if defined(OS_BSD)
++#include <netinet/in.h>
++#endif
+ #endif
+
+ #include "base/basictypes.h"
diff --git a/www/chromium/files/patch-net__udp__udp_socket_unittest.cc b/www/chromium/files/patch-net__udp__udp_socket_unittest.cc
new file mode 100644
index 000000000000..63abe7f8b624
--- /dev/null
+++ b/www/chromium/files/patch-net__udp__udp_socket_unittest.cc
@@ -0,0 +1,11 @@
+--- net/udp/udp_socket_unittest.cc.orig 2013-09-01 17:50:31.000000000 +0300
++++ net/udp/udp_socket_unittest.cc 2013-09-01 17:50:50.000000000 +0300
+@@ -202,7 +202,7 @@
+ client_entries, 5, NetLog::TYPE_SOCKET_ALIVE));
+ }
+
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ // UDPSocketPrivate_Broadcast is disabled for OSX because it requires
+ // root permissions on OSX 10.7+.
+ TEST_F(UDPSocketTest, DISABLED_Broadcast) {
diff --git a/www/chromium/files/patch-testing__gtest__include__gtest__internal__gtest-port.h b/www/chromium/files/patch-testing__gtest__include__gtest__internal__gtest-port.h
index f4f2d9544538..cc7af8ab2af6 100644
--- a/www/chromium/files/patch-testing__gtest__include__gtest__internal__gtest-port.h
+++ b/www/chromium/files/patch-testing__gtest__include__gtest__internal__gtest-port.h
@@ -1,5 +1,5 @@
---- testing/gtest/include/gtest/internal/gtest-port.h.orig 2012-12-20 10:02:55.000000000 +0200
-+++ testing/gtest/include/gtest/internal/gtest-port.h 2013-01-06 22:58:55.000000000 +0200
+--- testing/gtest/include/gtest/internal/gtest-port.h.orig 2013-08-19 02:58:58.000000000 +0300
++++ testing/gtest/include/gtest/internal/gtest-port.h 2013-08-30 19:49:05.000000000 +0300
@@ -261,6 +261,8 @@
# define GTEST_OS_NACL 1
#elif defined __OpenBSD__
@@ -9,3 +9,21 @@
#elif defined __QNX__
# define GTEST_OS_QNX 1
#endif // __CYGWIN__
+@@ -473,7 +475,7 @@
+ // To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0
+ // to your compiler flags.
+ # define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX \
+- || GTEST_OS_QNX)
++ || GTEST_OS_QNX || GTEST_OS_FREEBSD)
+ #endif // GTEST_HAS_PTHREAD
+
+ #if GTEST_HAS_PTHREAD
+@@ -642,7 +644,7 @@
+ (GTEST_OS_MAC && !GTEST_OS_IOS) || GTEST_OS_IOS_SIMULATOR || \
+ (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
+ GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
+- GTEST_OS_OPENBSD || GTEST_OS_QNX)
++ GTEST_OS_OPENBSD || GTEST_OS_FREEBSD || GTEST_OS_QNX)
+ # define GTEST_HAS_DEATH_TEST 1
+ # include <vector> // NOLINT
+ #endif
diff --git a/www/chromium/files/patch-third_party__WebKit__Tools__DumpRenderTree__DumpRenderTree.gyp__DumpRenderTree.gyp b/www/chromium/files/patch-third_party__WebKit__Tools__DumpRenderTree__DumpRenderTree.gyp__DumpRenderTree.gyp
new file mode 100644
index 000000000000..a4c8a278bf4f
--- /dev/null
+++ b/www/chromium/files/patch-third_party__WebKit__Tools__DumpRenderTree__DumpRenderTree.gyp__DumpRenderTree.gyp
@@ -0,0 +1,15 @@
+--- third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp.orig 2013-08-19 03:03:10.000000000 +0300
++++ third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp 2013-08-30 23:14:53.000000000 +0300
+@@ -377,5 +377,12 @@
+ },
+ },
+ }],
++ ['OS=="freebsd"', {
++ 'target_defaults': {
++ 'include_dirs': [
++ '/usr/local/include',
++ ],
++ },
++ }],
+ ], # conditions
+ }