aboutsummaryrefslogtreecommitdiffstats
path: root/www/chromium
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2015-04-27 19:04:12 +0800
committerRene Ladan <rene@FreeBSD.org>2015-04-27 19:04:12 +0800
commita099dbbc1dd60e8d2b594673a00cceec56fc0027 (patch)
treed0d70dacc0cffbd1166c13ecad2f4cab9f491503 /www/chromium
parent186d8ca2a492eea9ee79ec9e588167e52f05ef62 (diff)
downloadfreebsd-ports-gnome-a099dbbc1dd60e8d2b594673a00cceec56fc0027.tar.gz
freebsd-ports-gnome-a099dbbc1dd60e8d2b594673a00cceec56fc0027.tar.zst
freebsd-ports-gnome-a099dbbc1dd60e8d2b594673a00cceec56fc0027.zip
www/chromium: update to 42.0.2311.90
There were two updates submitted as Github pull requests: - one for 41.0.2272.118 - one for 42.0.2311.90, based on the first update. Submitted by: Timothy Vaccarelli <tmvfroid@gmail.com> (41.0.2272.118) Submitted by: Christoph Moench-Tegeder <cmt@burggraben.net> (42.0.2311.90) MFH: 2015Q2 Security: http://vuxml.freebsd.org/freebsd/b57f690e-ecc9-11e4-876c-00262d5ed8ee.html
Diffstat (limited to 'www/chromium')
-rw-r--r--www/chromium/Makefile16
-rw-r--r--www/chromium/distinfo8
-rw-r--r--www/chromium/files/extra-patch-clang199
-rw-r--r--www/chromium/files/patch-base__process__launch.cc10
-rw-r--r--www/chromium/files/patch-base__process__launch.h15
-rw-r--r--www/chromium/files/patch-breakpad__breakpad.gyp11
-rw-r--r--www/chromium/files/patch-build__common.gypi30
-rw-r--r--www/chromium/files/patch-build__linux__unbundle__openssl.gyp21
-rw-r--r--www/chromium/files/patch-cc__layers__layer_impl.cc20
-rw-r--r--www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc35
-rw-r--r--www/chromium/files/patch-chrome__browser__download__download_shelf_context_menu.cc21
-rw-r--r--www/chromium/files/patch-chrome__browser__ssl__ssl_blocking_page.cc17
-rw-r--r--www/chromium/files/patch-chrome__browser__tracing__crash_service_uploader.cc11
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__views__frame__browser_frame.cc30
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__views__frame__opaque_browser_frame_view.cc27
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc36
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc12
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__webui__options__browser_options_handler.cc25
-rw-r--r--www/chromium/files/patch-chrome__chrome_exe.gypi11
-rw-r--r--www/chromium/files/patch-chrome__renderer__pepper__pepper_flash_font_file_host.cc14
-rw-r--r--www/chromium/files/patch-components__omaha_query_params__omaha_query_params.cc11
-rw-r--r--www/chromium/files/patch-components__printing__renderer__print_web_view_helper.h (renamed from www/chromium/files/patch-chrome__renderer__printing__print_web_view_helper.h)8
-rw-r--r--www/chromium/files/patch-components__storage_monitor__storage_monitor_freebsd.cc16
-rw-r--r--www/chromium/files/patch-components__update_client__update_query_params.cc11
-rw-r--r--www/chromium/files/patch-content__app__content_main_runner.cc11
-rw-r--r--www/chromium/files/patch-content__browser__child_process_launcher.cc202
-rw-r--r--www/chromium/files/patch-content__browser__tracing__tracing_ui.cc11
-rw-r--r--www/chromium/files/patch-content__common__sandbox_linux__sandbox_debug_handling_linux.cc29
-rw-r--r--www/chromium/files/patch-content__gpu__gpu_main.cc21
-rw-r--r--www/chromium/files/patch-device__usb__usb_service_impl.cc54
-rw-r--r--www/chromium/files/patch-device__usb__usb_service_impl.h40
-rw-r--r--www/chromium/files/patch-gpu__config__gpu_util.cc8
-rw-r--r--www/chromium/files/patch-gpu__gpu_config.gypi11
-rw-r--r--www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc29
-rw-r--r--www/chromium/files/patch-net__base__address_tracker_linux.cc94
-rw-r--r--www/chromium/files/patch-net__base__address_tracker_linux.h16
-rw-r--r--www/chromium/files/patch-net__base__net_util_linux.cc105
-rw-r--r--www/chromium/files/patch-net__base__net_util_posix.cc58
-rw-r--r--www/chromium/files/patch-net__quic__congestion_control__rtt_stats.cc12
-rw-r--r--www/chromium/files/patch-remoting__remoting_host.gypi68
-rw-r--r--www/chromium/files/patch-skia__ext__SkMemory_new_handler.cpp20
-rw-r--r--www/chromium/files/patch-third_party__WebKit__Source__bindings__core__v8__V8ScriptRunner.cpp11
-rw-r--r--www/chromium/files/patch-third_party__WebKit__Source__core__core.gyp56
-rw-r--r--www/chromium/files/patch-third_party__WebKit__Source__platform__heap__StackFrameDepth.cpp11
-rw-r--r--www/chromium/files/patch-third_party__WebKit__Source__platform__heap__Visitor.cpp11
-rw-r--r--www/chromium/files/patch-third_party__libvpx__unpack_lib_posix.sh26
-rw-r--r--www/chromium/files/patch-third_party__pdfium__third_party__base__logging.h (renamed from www/chromium/files/patch-third_party__pdfium__third_party__logging.h)4
-rw-r--r--www/chromium/files/patch-third_party__skia__src__core__SkVarAlloc.cpp15
-rw-r--r--www/chromium/files/patch-third_party__webrtc__base__thread_checker_impl.cc35
-rw-r--r--www/chromium/files/patch-third_party__webrtc__system_wrappers__source__thread_posix.cc59
-rw-r--r--www/chromium/files/patch-ui__base__ime__input_method_factory.cc12
-rw-r--r--www/chromium/files/patch-ui__gfx__render_text.cc46
-rw-r--r--www/chromium/files/patch-ui__views__views.gyp15
-rw-r--r--www/chromium/files/patch-v8__src__base__platform__platform-freebsd.cc39
-rw-r--r--www/chromium/files/patch-v8__src__base__platform__platform-posix.cc16
-rw-r--r--www/chromium/files/patch-v8__src__debug.cc11
-rw-r--r--www/chromium/files/patch-v8__src__preparser.h11
-rw-r--r--www/chromium/pkg-plist11
58 files changed, 1057 insertions, 736 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index a5bffea92efd..b2a4ed7a0887 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
-PORTVERSION= 40.0.2214.115
-PORTREVISION= 1
+PORTVERSION= 42.0.2311.90
CATEGORIES= www
MASTER_SITES= http://commondatastorage.googleapis.com/chromium-browser-official/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
@@ -21,7 +20,9 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \
yasm:${PORTSDIR}/devel/yasm \
flock:${PORTSDIR}/sysutils/flock \
${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat \
- ${LOCALBASE}/share/usbids/usb.ids:${PORTSDIR}/misc/usbids
+ ${LOCALBASE}/share/usbids/usb.ids:${PORTSDIR}/misc/usbids \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:${PORTSDIR}/devel/py-Jinja2 \
+ ${PYTHON_PKGNAMEPREFIX}ply>0:${PORTSDIR}/devel/py-ply
LIB_DEPENDS= libcairo.so:${PORTSDIR}/graphics/cairo \
libdbus-1.so:${PORTSDIR}/devel/dbus \
@@ -111,7 +112,8 @@ GYP_DEFINES+= \
use_system_snappy=1 \
use_system_speex=1 \
use_system_xdg_utils=1 \
- use_system_yasm=1
+ use_system_yasm=1 \
+ v8_use_external_startup_data=0
# allow removal of third_party/adobe
GYP_DEFINES+= flapper_version_h_file='${WRKSRC}/flapper_version.h'
@@ -260,6 +262,7 @@ pre-configure:
'net/third_party/mozilla_security_manager' \
'net/third_party/nss' \
'third_party/WebKit' \
+ 'third_party/analytics' \
'third_party/angle' \
'third_party/angle/src/third_party' \
'third_party/blanketjs' \
@@ -290,7 +293,6 @@ pre-configure:
'third_party/libsrtp' \
'third_party/libvpx' \
'third_party/libvpx/source/libvpx/third_party/x86inc' \
- 'third_party/libwebm' \
'third_party/libxml/chromium' \
'third_party/libXNVCtrl' \
'third_party/libyuv' \
@@ -298,6 +300,7 @@ pre-configure:
'third_party/lzma_sdk' \
'third_party/markupsafe' \
'third_party/mesa' \
+ 'third_party/mojo' \
'third_party/modp_b64' \
'third_party/mt19937ar' \
'third_party/npapi' \
@@ -325,6 +328,7 @@ pre-configure:
'third_party/trace-viewer/third_party/tvcm/third_party' \
'third_party/undoview' \
'third_party/usrsctp' \
+ 'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
'third_party/widevine' \
@@ -369,8 +373,6 @@ do-install:
${STAGEDIR}${DATADIR}
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libffmpegsumo.so \
${STAGEDIR}${DATADIR}
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libpdf.so \
- ${STAGEDIR}${DATADIR}
cd ${WRKSRC}/out/${BUILDTYPE} && \
${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR}
@${MKDIR} ${STAGEDIR}${DESKTOPDIR}
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 20d3f77dca8a..5e59f2bb9260 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,4 +1,4 @@
-SHA256 (chromium-40.0.2214.115.tar.xz) = 2261b96dba5747b52512e2391956c54f4e36b9bbaa310b16c7fb0f1e4efba6a5
-SIZE (chromium-40.0.2214.115.tar.xz) = 284973228
-SHA256 (chromium-40.0.2214.115-testdata.tar.xz) = 862a2d2b1afeb7b458f39b65ef1fd4062415dbb7f948d5f463ec31a845369300
-SIZE (chromium-40.0.2214.115-testdata.tar.xz) = 115348788
+SHA256 (chromium-42.0.2311.90.tar.xz) = 60b0eb38c1c3d0cc998dae70b7333e53b715cff2847c1652e03d1723300db4c9
+SIZE (chromium-42.0.2311.90.tar.xz) = 306502344
+SHA256 (chromium-42.0.2311.90-testdata.tar.xz) = 79bb822e879862bee121ea3b8e42e06623790552bc63689beecce680fc018163
+SIZE (chromium-42.0.2311.90-testdata.tar.xz) = 115728192
diff --git a/www/chromium/files/extra-patch-clang b/www/chromium/files/extra-patch-clang
index 64a93adb8977..974ac07fbff0 100644
--- a/www/chromium/files/extra-patch-clang
+++ b/www/chromium/files/extra-patch-clang
@@ -1,5 +1,5 @@
---- base/allocator/allocator_extension.cc 2013-07-03 23:39:54.000000000 -0400
-+++ base/allocator/allocator_extension.cc 2013-07-19 00:39:26.000000000 -0400
+--- base/allocator/allocator_extension.cc 2015-04-15 00:18:47.000000000 +0200
++++ base/allocator/allocator_extension.cc 2015-04-18 21:44:25.000000000 +0200
@@ -35,20 +35,20 @@
void SetGetAllocatorWasteSizeFunction(
thunks::GetAllocatorWasteSizeFunction get_allocator_waste_size_function) {
@@ -24,19 +24,25 @@
thunks::SetReleaseFreeMemoryFunction(release_free_memory_function);
}
---- base/profiler/alternate_timer.cc 2013-07-03 23:39:54.000000000 -0400
-+++ base/profiler/alternate_timer.cc 2013-07-19 00:41:06.000000000 -0400
-@@ -21,7 +21,7 @@
- // Set an alternate timer function to replace the OS time function when
- // profiling.
- void SetAlternateTimeSource(NowFunction* now_function, TimeSourceType type) {
-- DCHECK_EQ(reinterpret_cast<NowFunction*>(NULL), 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
+--- base/strings/safe_sprintf_unittest.cc 2015-04-15 00:18:48.000000000 +0200
++++ base/strings/safe_sprintf_unittest.cc 2015-04-18 22:08:45.000000000 +0200
+@@ -729,12 +729,14 @@
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wconversion-null"
+ #endif
++/* Avoid compiler error: http://pastebin.com/1edWUE84
+ EXPECT_EQ(1, SafeSPrintf(buf, "%d", NULL));
+ EXPECT_EQ("0", std::string(buf));
+ EXPECT_EQ(3, SafeSPrintf(buf, "%p", NULL));
+ EXPECT_EQ("0x0", std::string(buf));
+ EXPECT_EQ(6, SafeSPrintf(buf, "%s", NULL));
+ EXPECT_EQ("<NULL>", std::string(buf));
++*/
+ #if defined(__GCC__)
+ #pragma GCC diagnostic pop
+ #endif
+--- base/threading/thread_local_storage_unittest.cc 2015-04-15 00:18:48.000000000 +0200
++++ base/threading/thread_local_storage_unittest.cc 2015-04-18 21:45:40.000000000 +0200
@@ -60,7 +60,7 @@
void ThreadLocalStorageCleanup(void *value) {
int *ptr = reinterpret_cast<int*>(value);
@@ -46,9 +52,9 @@
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
-@@ -378,7 +378,7 @@
+--- base/tracked_objects.cc 2015-04-15 00:31:20.000000000 +0200
++++ base/tracked_objects.cc 2015-04-18 21:57:33.000000000 +0200
+@@ -393,7 +393,7 @@
}
// We must NOT do any allocations during this callback.
// Using the simple linked lists avoids all allocations.
@@ -57,11 +63,11 @@
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
-@@ -53,9 +53,9 @@
+--- base/tracked_objects_unittest.cc 2015-04-15 00:31:20.000000000 +0200
++++ base/tracked_objects_unittest.cc 2015-04-18 22:01:28.000000000 +0200
+@@ -58,9 +58,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);
@@ -69,50 +75,66 @@
- EXPECT_NE(reinterpret_cast<Births*>(NULL), birth);
+ EXPECT_NE(static_cast<Births*>(NULL), birth);
}
-
+
// Helper function to verify the most common test expectations.
-@@ -234,7 +234,7 @@
- return;
-
+@@ -271,7 +271,7 @@
+ }
+
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);
-@@ -435,7 +435,7 @@
+@@ -489,7 +489,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/sync/glue/synced_session_tracker.cc 2013-07-03 23:46:07.000000000 -0400
-+++ chrome/browser/sync/glue/synced_session_tracker.cc 2013-07-19 01:50:13.000000000 -0400
+
+ const unsigned int kTimePosted = 1;
+ const unsigned int kStartOfRun = 5;
+--- chrome/browser/sync/glue/synced_session_tracker.cc 2015-04-15 00:18:50.000000000 +0200
++++ chrome/browser/sync/glue/synced_session_tracker.cc 2015-04-18 22:02:15.000000000 +0200
@@ -260,7 +260,7 @@
}
DCHECK(window_ptr);
DCHECK_EQ(window_ptr->window_id.id(), window_id);
-- DCHECK_EQ(reinterpret_cast<SessionWindow*>(NULL),
-+ DCHECK_EQ(static_cast<SessionWindow*>(NULL),
+- DCHECK_EQ(reinterpret_cast<sessions::SessionWindow*>(NULL),
++ DCHECK_EQ(static_cast<sessions::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
-@@ -392,7 +392,7 @@
+--- content/browser/frame_host/render_widget_host_view_guest.cc 2015-04-15 00:31:22.000000000 +0200
++++ content/browser/frame_host/render_widget_host_view_guest.cc 2015-04-18 22:10:28.000000000 +0200
+@@ -241,11 +241,11 @@
+
+ gfx::NativeViewId RenderWidgetHostViewGuest::GetNativeViewId() const {
+ if (!guest_)
+- return static_cast<gfx::NativeViewId>(NULL);
++ return reinterpret_cast<gfx::NativeViewId>(NULL);
+
+ RenderWidgetHostView* rwhv = guest_->GetOwnerRenderWidgetHostView();
+ if (!rwhv)
+- return static_cast<gfx::NativeViewId>(NULL);
++ return reinterpret_cast<gfx::NativeViewId>(NULL);
+ return rwhv->GetNativeViewId();
+ }
+
+--- media/audio/audio_output_proxy_unittest.cc 2015-04-15 00:18:55.000000000 +0200
++++ media/audio/audio_output_proxy_unittest.cc 2015-04-18 22:02:38.000000000 +0200
+@@ -387,7 +387,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 2014-09-04 02:04:17.000000000 +0200
-+++ media/filters/decrypting_video_decoder_unittest.cc 2014-09-08 20:51:21.000000000 +0200
+--- media/filters/decrypting_video_decoder_unittest.cc 2015-04-15 00:31:22.000000000 +0200
++++ media/filters/decrypting_video_decoder_unittest.cc 2015-04-18 22:03:40.000000000 +0200
@@ -420,7 +420,7 @@
// NULL callback to cancel the |decryptor_ready_cb|.
EXPECT_CALL(*this, RequestDecryptorNotification(IsNullCallback())).WillOnce(
@@ -122,8 +144,8 @@
base::Bind(&DecryptingVideoDecoderTest::DecryptorSet,
base::Unretained(this))));
EXPECT_CALL(*this, DecryptorSet(_)).Times(0);
---- third_party/hunspell/src/hunspell/affentry.hxx 2013-07-03 23:52:32.000000000 -0400
-+++ third_party/hunspell/src/hunspell/affentry.hxx 2013-07-19 01:31:57.000000000 -0400
+--- third_party/hunspell/src/hunspell/affentry.hxx 2015-04-15 00:31:35.000000000 +0200
++++ third_party/hunspell/src/hunspell/affentry.hxx 2015-04-18 22:04:39.000000000 +0200
@@ -27,7 +27,7 @@
struct hentry * checkword(const char * word, int len, char in_compound,
const FLAG needflag = FLAG_NULL);
@@ -142,8 +164,8 @@
char * check_twosfx_morph(const char * word, int len, int optflags,
PfxEntry* ppfx, const FLAG needflag = FLAG_NULL);
---- third_party/sfntly/cpp/src/sfntly/table/core/cmap_table.cc 2013-07-03 23:54:15.000000000 -0400
-+++ third_party/sfntly/cpp/src/sfntly/table/core/cmap_table.cc 2013-07-19 00:44:09.000000000 -0400
+--- third_party/sfntly/cpp/src/sfntly/table/core/cmap_table.cc 2015-04-15 00:31:48.000000000 +0200
++++ third_party/sfntly/cpp/src/sfntly/table/core/cmap_table.cc 2015-04-18 22:05:41.000000000 +0200
@@ -439,7 +439,7 @@
}
@@ -188,54 +210,9 @@
+ : CMap::Builder(static_cast<ReadableFontData*>(NULL),
CMapFormat::kFormat4, cmap_id) {
}
-
---- v8/src/runtime/runtime-i18n.cc.orig 2015-01-25 15:08:31.732972197 +0100
-+++ v8/src/runtime/runtime-i18n.cc 2015-01-25 15:09:04.260951597 +0100
-@@ -626,7 +626,7 @@
- local_object->SetInternalField(0, reinterpret_cast<Smi*>(break_iterator));
- // Make sure that the pointer to adopted text is NULL.
-- local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
-+ local_object->SetInternalField(1, static_cast<Smi*>(NULL));
-
- Factory* factory = isolate->factory();
- Handle<String> key = factory->NewStringFromStaticChars("breakIterator");
---- base/strings/safe_sprintf_unittest.cc.orig 2013-11-08 07:42:08.000000000 +0100
-+++ base/strings/safe_sprintf_unittest.cc 2013-11-15 15:04:45.000000000 +0100
-@@ -721,12 +721,14 @@
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wconversion-null"
- #endif
-+/* Avoid compiler error: http://pastebin.com/1edWUE84
- EXPECT_EQ(1, SafeSPrintf(buf, "%d", NULL));
- EXPECT_EQ("0", std::string(buf));
- EXPECT_EQ(3, SafeSPrintf(buf, "%p", NULL));
- EXPECT_EQ("0x0", std::string(buf));
- EXPECT_EQ(6, SafeSPrintf(buf, "%s", NULL));
- EXPECT_EQ("<NULL>", std::string(buf));
-+*/
- #if defined(__GCC__)
- #pragma GCC diagnostic pop
- #endif
---- content/browser/frame_host/render_widget_host_view_guest.cc.orig 2014-03-05 22:24:07.000000000 +0100
-+++ content/browser/frame_host/render_widget_host_view_guest.cc 2014-03-09 20:01:20.000000000 +0100
-@@ -258,11 +258,11 @@
-
- gfx::NativeViewId RenderWidgetHostViewGuest::GetNativeViewId() const {
- if (!guest_)
-- return static_cast<gfx::NativeViewId>(NULL);
-+ return reinterpret_cast<gfx::NativeViewId>(NULL);
-
- RenderWidgetHostView* rwhv = guest_->GetEmbedderRenderWidgetHostView();
- if (!rwhv)
-- return static_cast<gfx::NativeViewId>(NULL);
-+ return reinterpret_cast<gfx::NativeViewId>(NULL);
- return rwhv->GetNativeViewId();
- }
-
--
---- ./third_party/webrtc/base/taskrunner.cc.orig 2014-08-20 21:04:28.000000000 +0200
-+++ ./third_party/webrtc/base/taskrunner.cc 2014-08-22 18:55:46.000000000 +0200
+--- third_party/webrtc/base/taskrunner.cc 2015-04-15 00:32:17.000000000 +0200
++++ third_party/webrtc/base/taskrunner.cc 2015-04-18 22:10:53.000000000 +0200
@@ -102,7 +102,7 @@
std::vector<Task *>::iterator it;
it = std::remove(tasks_.begin(),
@@ -245,20 +222,9 @@
tasks_.erase(it, tasks_.end());
---- v8/src/unique.h.orig 2014-10-10 11:16:50.000000000 +0200
-+++ v8/src/unique.h 2014-10-13 18:55:35.000000000 +0200
-@@ -110,7 +110,7 @@
-
- // TODO(titzer): this is a hack to migrate to Unique<T> incrementally.
- static Unique<T> CreateUninitialized(Handle<T> handle) {
-- return Unique<T>(reinterpret_cast<Address>(NULL), handle);
-+ return Unique<T>(static_cast<Address>(NULL), handle);
- }
-
- static Unique<T> CreateImmovable(Handle<T> handle) {
---- third_party/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc.orig 2015-01-25 14:52:44 UTC
-+++ third_party/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
-@@ -2072,7 +2072,7 @@
+--- third_party/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc 2015-04-15 00:32:17.000000000 +0200
++++ third_party/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc 2015-04-18 22:13:27.000000000 +0200
+@@ -1754,7 +1754,7 @@
const AudioEncoder* AudioCodingImpl::GetSenderInfo() const {
FATAL() << "Not implemented yet.";
@@ -267,7 +233,7 @@
}
const CodecInst* AudioCodingImpl::GetSenderCodecInst() {
-@@ -2091,7 +2091,7 @@
+@@ -1773,7 +1773,7 @@
const ReceiverInfo* AudioCodingImpl::GetReceiverInfo() const {
FATAL() << "Not implemented yet.";
@@ -276,14 +242,25 @@
}
bool AudioCodingImpl::RegisterReceiveCodec(AudioDecoder* receive_codec) {
---- v8/src/debug.cc.orig 2015-01-25 14:39:37 UTC
-+++ v8/src/debug.cc
-@@ -565,7 +565,7 @@
+--- v8/src/debug.cc 2015-04-15 00:32:36.000000000 +0200
++++ v8/src/debug.cc 2015-04-18 22:14:03.000000000 +0200
+@@ -573,7 +573,7 @@
thread_local_.step_out_fp_ = 0;
// TODO(isolates): frames_are_dropped_?
base::NoBarrier_Store(&thread_local_.current_debug_scope_,
-- static_cast<base::AtomicWord>(NULL));
-+ reinterpret_cast<base::AtomicWord>(NULL));
+- static_cast<base::AtomicWord>(0));
++ reinterpret_cast<base::AtomicWord>(0));
thread_local_.restarter_frame_function_pointer_ = NULL;
}
+--- v8/src/runtime/runtime-i18n.cc 2015-04-15 00:32:37.000000000 +0200
++++ v8/src/runtime/runtime-i18n.cc 2015-04-18 22:06:17.000000000 +0200
+@@ -627,7 +627,7 @@
+
+ local_object->SetInternalField(0, reinterpret_cast<Smi*>(break_iterator));
+ // Make sure that the pointer to adopted text is NULL.
+- local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
++ local_object->SetInternalField(1, static_cast<Smi*>(NULL));
+
+ Factory* factory = isolate->factory();
+ Handle<String> key = factory->NewStringFromStaticChars("breakIterator");
diff --git a/www/chromium/files/patch-base__process__launch.cc b/www/chromium/files/patch-base__process__launch.cc
index d843c1a90d50..f9732bd3d814 100644
--- a/www/chromium/files/patch-base__process__launch.cc
+++ b/www/chromium/files/patch-base__process__launch.cc
@@ -1,5 +1,5 @@
---- base/process/launch.cc.orig 2014-10-10 08:54:09 UTC
-+++ base/process/launch.cc
+--- base/process/launch.cc.orig 2015-04-18 22:25:46.000000000 +0200
++++ base/process/launch.cc 2015-04-18 22:26:32.000000000 +0200
@@ -24,10 +24,10 @@
fds_to_remap(NULL),
maximize_rlimits(NULL),
@@ -10,6 +10,6 @@
, allow_new_privs(false)
-#endif // OS_LINUX
+#endif // OS_LINUX || OS_FREEBSD
- #if defined(OS_CHROMEOS)
- , ctrl_terminal_fd(-1)
- #endif // OS_CHROMEOS
+ #if defined(OS_POSIX)
+ , pre_exec_delegate(NULL)
+ #endif // OS_POSIX
diff --git a/www/chromium/files/patch-base__process__launch.h b/www/chromium/files/patch-base__process__launch.h
index c71b1afd257b..7c4e30bd8b6f 100644
--- a/www/chromium/files/patch-base__process__launch.h
+++ b/www/chromium/files/patch-base__process__launch.h
@@ -1,19 +1,20 @@
---- base/process/launch.h.orig 2014-10-10 08:54:09 UTC
-+++ base/process/launch.h
-@@ -113,14 +113,14 @@
+--- base/process/launch.h.orig 2015-04-18 22:29:06.000000000 +0200
++++ base/process/launch.h 2015-04-18 22:30:09.000000000 +0200
+@@ -131,7 +131,7 @@
// will be the same as its pid.
bool new_process_group;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
// If non-zero, start the process using clone(), using flags as provided.
- int clone_flags;
-
+ // Unlike in clone, clone_flags may not contain a custom termination signal
+ // that is sent to the parent when the child dies. The termination signal will
+@@ -141,7 +141,7 @@
// By default, child processes will have the PR_SET_NO_NEW_PRIVS bit set. If
// true, then this bit will not be set in the new child process.
bool allow_new_privs;
-#endif // defined(OS_LINUX)
+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
- #if defined(OS_CHROMEOS)
- // If non-negative, the specified file descriptor will be set as the launched
+ #if defined(OS_POSIX)
+ // If not empty, change to this directory before execing the new process.
diff --git a/www/chromium/files/patch-breakpad__breakpad.gyp b/www/chromium/files/patch-breakpad__breakpad.gyp
deleted file mode 100644
index a06faa9ac964..000000000000
--- a/www/chromium/files/patch-breakpad__breakpad.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
---- breakpad/breakpad.gyp.orig 2014-10-10 09:15:29 UTC
-+++ breakpad/breakpad.gyp
-@@ -353,7 +353,7 @@
- },
- ],
- }],
-- [ 'OS=="linux" or OS=="android" or OS=="freebsd"', {
-+ [ 'OS=="linux" or OS=="android" or os_bsd==1', {
- 'conditions': [
- ['OS=="android"', {
- 'defines': [
diff --git a/www/chromium/files/patch-build__common.gypi b/www/chromium/files/patch-build__common.gypi
index 921829acc9ac..349cdace1218 100644
--- a/www/chromium/files/patch-build__common.gypi
+++ b/www/chromium/files/patch-build__common.gypi
@@ -1,6 +1,6 @@
---- build/common.gypi.orig 2014-10-10 09:15:29 UTC
-+++ build/common.gypi
-@@ -91,7 +91,7 @@
+--- build/common.gypi.orig 2015-04-18 22:35:23.000000000 +0200
++++ build/common.gypi 2015-04-18 22:42:51.000000000 +0200
+@@ -94,7 +94,7 @@
'conditions': [
# ChromeOS and Windows use Aura and Ash.
@@ -9,7 +9,7 @@
'use_ash%': 1,
'use_aura%': 1,
}],
-@@ -702,7 +702,7 @@
+@@ -694,7 +694,7 @@
}],
# DBus usage.
@@ -18,7 +18,7 @@
'use_dbus%': 1,
}, {
'use_dbus%': 0,
-@@ -952,7 +952,7 @@
+@@ -944,7 +944,7 @@
}, {
'use_openmax_dl_fft%': 0,
}],
@@ -27,33 +27,33 @@
'enable_mdns%' : 1,
}],
-@@ -975,7 +975,7 @@
- # except when building Android WebView or Chromecast.
+@@ -968,7 +968,7 @@
+ # except when building Android WebView.
# TODO(jshin): Handle 'use_system_icu' on Linux (Chromium).
# Set the data reduction proxy origin for Android Webview.
-- ['android_webview_build==0 and android_webview_telemetry_build==0 and chromecast==0', {
-+ ['android_webview_build==0 and OS!="freebsd" and OS!="openbsd" and android_webview_telemetry_build==0 and chromecast==0', {
+- ['android_webview_build==0', {
++ ['android_webview_build==0 and OS!="freebsd" and OS!="openbsd"', {
'icu_use_data_file_flag%' : 1,
- 'spdy_proxy_auth_origin%': '',
- 'data_reduction_proxy_probe_url%': '',
-@@ -1228,6 +1228,10 @@
+ }, {
+ 'icu_use_data_file_flag%' : 0,
+@@ -1216,6 +1216,10 @@
# able to turn it off for various reasons.
'linux_disable_pie%': 0,
+ # XXX(rene) More options, keep them?
+ 'os_ver%': 0,
-+ 'use_system_libjpeg%': 0,
++ 'use_system_libjpeg%': 0,
+
# The release channel that this build targets. This is used to restrict
# channel-specific build options, like which installer packages to create.
# The default is 'all', which does no channel-specific filtering.
-@@ -4391,6 +4395,13 @@
+@@ -4479,6 +4483,13 @@
'ldflags': [
'-Wl,--no-keep-memory',
],
+ 'ldflags!': [
+ '-ldl',
-+ '-pie',
++ '-pie'
+ ],
+ 'libraries!': [
+ '-ldl',
diff --git a/www/chromium/files/patch-build__linux__unbundle__openssl.gyp b/www/chromium/files/patch-build__linux__unbundle__openssl.gyp
deleted file mode 100644
index 76348a546d36..000000000000
--- a/www/chromium/files/patch-build__linux__unbundle__openssl.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
---- build/linux/unbundle/openssl.gyp.orig 2014-10-10 08:54:09 UTC
-+++ build/linux/unbundle/openssl.gyp
-@@ -9,15 +9,15 @@
- 'type': 'none',
- 'direct_dependent_settings': {
- 'cflags': [
-- '<!@(pkg-config --cflags openssl)',
-+ '',
- ],
- },
- 'link_settings': {
- 'ldflags': [
-- '<!@(pkg-config --libs-only-L --libs-only-other openssl)',
-+ '',
- ],
- 'libraries': [
-- '<!@(pkg-config --libs-only-l openssl)',
-+ '-lssl',
- ],
- },
- }
diff --git a/www/chromium/files/patch-cc__layers__layer_impl.cc b/www/chromium/files/patch-cc__layers__layer_impl.cc
index f001be45176e..5815d1acc102 100644
--- a/www/chromium/files/patch-cc__layers__layer_impl.cc
+++ b/www/chromium/files/patch-cc__layers__layer_impl.cc
@@ -1,7 +1,7 @@
---- cc/layers/layer_impl.cc.orig 2015-01-20 21:28:14 UTC
-+++ cc/layers/layer_impl.cc
-@@ -1239,21 +1239,23 @@
- scale_factor * scaled_scroll_bounds.height());
+--- cc/layers/layer_impl.cc.orig 2015-04-18 22:47:03.000000000 +0200
++++ cc/layers/layer_impl.cc 2015-04-18 22:52:19.000000000 +0200
+@@ -1230,13 +1230,15 @@
+ gfx::ToFlooredSize(gfx::ScaleSize(BoundsForScrolling(), scale_factor));
scaled_scroll_bounds = gfx::ToFlooredSize(scaled_scroll_bounds);
- gfx::ScrollOffset max_offset(
@@ -19,14 +19,4 @@
+ return _max_offset;
}
- gfx::Vector2dF LayerImpl::ClampScrollToMaxScrollOffset() {
-- gfx::ScrollOffset max_offset = MaxScrollOffset();
-+ gfx::ScrollOffset _max_offset = MaxScrollOffset();
- gfx::ScrollOffset old_offset = TotalScrollOffset();
- gfx::ScrollOffset clamped_offset = old_offset;
-
-- clamped_offset.SetToMin(max_offset);
-+ clamped_offset.SetToMin(_max_offset);
- clamped_offset.SetToMax(gfx::ScrollOffset());
- gfx::Vector2dF delta = clamped_offset.DeltaFrom(old_offset);
- if (!delta.IsZero())
+ gfx::ScrollOffset LayerImpl::ClampScrollOffsetToLimits(
diff --git a/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc b/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
index c6473886874a..05e9ba07f3a1 100644
--- a/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
+++ b/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
@@ -1,6 +1,6 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2014-10-10 09:15:30 UTC
-+++ chrome/browser/chrome_content_browser_client.cc
-@@ -434,7 +434,7 @@
+--- chrome/browser/chrome_content_browser_client.cc.orig 2015-04-18 22:54:06.000000000 +0200
++++ chrome/browser/chrome_content_browser_client.cc 2015-04-18 22:58:13.000000000 +0200
+@@ -446,7 +446,7 @@
return false;
}
@@ -9,7 +9,7 @@
breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
const std::string& process_type) {
base::FilePath dumps_path;
-@@ -491,7 +491,7 @@
+@@ -503,7 +503,7 @@
return -1;
}
@@ -18,34 +18,25 @@
#if !defined(OS_CHROMEOS)
GURL GetEffectiveURLForSignin(const GURL& url) {
-@@ -1194,7 +1194,7 @@
-
- void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
- CommandLine* command_line, int child_process_id) {
--#if defined(OS_POSIX)
-+#if defined(OS_POSIX) && !defined(OS_BSD)
+@@ -1295,7 +1295,7 @@
+ command_line->AppendSwitchASCII(switches::kMetricsClientID,
+ client_info->client_id);
+ }
+-#elif defined(OS_POSIX)
++#elif defined(OS_POSIX) && !defined(OS_BSD)
if (breakpad::IsCrashReporterEnabled()) {
scoped_ptr<metrics::ClientInfo> client_info =
GoogleUpdateSettings::LoadMetricsClientInfo();
-@@ -1202,7 +1202,7 @@
- client_info ? client_info->client_id
- : std::string());
- }
--#endif // defined(OS_POSIX)
-+#endif // defined(OS_POSIX) && !defined(OS_BSD)
-
- if (logging::DialogsAreSuppressed())
- command_line->AppendSwitch(switches::kNoErrorDialogs);
-@@ -2408,7 +2408,7 @@
+@@ -2409,7 +2409,7 @@
}
}
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
- const CommandLine& command_line,
+ const base::CommandLine& command_line,
int child_process_id,
-@@ -2474,7 +2474,7 @@
+@@ -2494,7 +2494,7 @@
}
#endif // defined(OS_ANDROID)
}
diff --git a/www/chromium/files/patch-chrome__browser__download__download_shelf_context_menu.cc b/www/chromium/files/patch-chrome__browser__download__download_shelf_context_menu.cc
index 85243a4a6a0f..f8859c2d4146 100644
--- a/www/chromium/files/patch-chrome__browser__download__download_shelf_context_menu.cc
+++ b/www/chromium/files/patch-chrome__browser__download__download_shelf_context_menu.cc
@@ -1,5 +1,5 @@
---- chrome/browser/download/download_shelf_context_menu.cc.orig 2015-01-24 21:45:08 UTC
-+++ chrome/browser/download/download_shelf_context_menu.cc
+--- chrome/browser/download/download_shelf_context_menu.cc.orig 2015-04-18 23:29:54.000000000 +0200
++++ chrome/browser/download/download_shelf_context_menu.cc 2015-04-18 23:31:51.000000000 +0200
@@ -122,7 +122,7 @@
return download_item_->GetOpenWhenComplete() ||
download_crx_util::IsExtensionDownload(*download_item_);
@@ -18,10 +18,10 @@
(defined(OS_MACOSX) && !defined(OS_IOS))
if (CanOpenPdfInSystemViewer()) {
prefs->SetShouldOpenPdfInSystemReader(!is_checked);
-@@ -390,14 +390,14 @@
- #if defined(OS_WIN)
- if (CanOpenPdfInSystemViewer())
- return IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER;
+@@ -392,14 +392,14 @@
+ return IsAdobeReaderDefaultPDFViewer()
+ ? IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER
+ : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
-#elif defined(OS_MACOSX) || defined(OS_LINUX)
+#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
if (CanOpenPdfInSystemViewer())
@@ -35,12 +35,3 @@
bool DownloadShelfContextMenu::IsDownloadPdf() const {
base::FilePath path = download_item_->GetTargetFilePath();
return path.MatchesExtension(FILE_PATH_LITERAL(".pdf"));
-@@ -409,7 +409,7 @@
- return IsDownloadPdf() &&
- (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date_ :
- true);
--#elif defined(OS_MACOSX) || defined(OS_LINUX)
-+#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- return IsDownloadPdf();
- #endif
- }
diff --git a/www/chromium/files/patch-chrome__browser__ssl__ssl_blocking_page.cc b/www/chromium/files/patch-chrome__browser__ssl__ssl_blocking_page.cc
index bce8d365d6e7..9c46f504fb31 100644
--- a/www/chromium/files/patch-chrome__browser__ssl__ssl_blocking_page.cc
+++ b/www/chromium/files/patch-chrome__browser__ssl__ssl_blocking_page.cc
@@ -1,20 +1,11 @@
---- chrome/browser/ssl/ssl_blocking_page.cc.orig 2015-01-21 20:28:15 UTC
-+++ chrome/browser/ssl/ssl_blocking_page.cc
-@@ -237,7 +237,7 @@
- #elif defined(OS_IOS)
+--- chrome/browser/ssl/ssl_blocking_page.cc.orig 2015-04-18 23:34:15.000000000 +0200
++++ chrome/browser/ssl/ssl_blocking_page.cc 2015-04-18 23:40:51.000000000 +0200
+@@ -132,7 +132,7 @@
// iOS does not have a way to launch the date and time settings.
NOTREACHED();
+
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
struct ClockCommand {
const char* pathname;
const char* argument;
-@@ -289,7 +289,7 @@
- #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
- base::LaunchOptions options;
- options.wait = false;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- options.allow_new_privs = true;
- #endif
- base::LaunchProcess(command, options, NULL);
diff --git a/www/chromium/files/patch-chrome__browser__tracing__crash_service_uploader.cc b/www/chromium/files/patch-chrome__browser__tracing__crash_service_uploader.cc
new file mode 100644
index 000000000000..c981b790f0f6
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__tracing__crash_service_uploader.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/tracing/crash_service_uploader.cc.orig 2015-04-20 19:15:53.000000000 +0200
++++ chrome/browser/tracing/crash_service_uploader.cc 2015-04-20 19:16:21.000000000 +0200
+@@ -127,6 +127,8 @@
+ const char product[] = "Chrome_Android";
+ #elif defined(OS_CHROMEOS)
+ const char product[] = "Chrome_ChromeOS";
++#elif defined(OS_FREEBSD)
++ const char product[] = "Chrome_FreeBSD";
+ #else
+ #error Platform not supported.
+ #endif
diff --git a/www/chromium/files/patch-chrome__browser__ui__views__frame__browser_frame.cc b/www/chromium/files/patch-chrome__browser__ui__views__frame__browser_frame.cc
index 37f8b0918af7..3a0b2aec1fe1 100644
--- a/www/chromium/files/patch-chrome__browser__ui__views__frame__browser_frame.cc
+++ b/www/chromium/files/patch-chrome__browser__ui__views__frame__browser_frame.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2014-10-10 08:54:11 UTC
-+++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -36,7 +36,7 @@
- #include "ui/views/controls/menu/menu_runner.h"
- #include "ui/views/widget/native_widget.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "chrome/browser/shell_integration_linux.h"
+--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2015-04-18 23:43:03.000000000 +0200
++++ chrome/browser/ui/views/frame/browser_frame.cc 2015-04-18 23:46:33.000000000 +0200
+@@ -33,7 +33,7 @@
+ #include "ash/shell.h"
#endif
-@@ -110,7 +110,7 @@
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "chrome/browser/ui/views/frame/browser_command_handler_linux.h"
#endif
+
+@@ -82,7 +82,7 @@
+ non_client_view()->set_context_menu_controller(this);
}
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- // Set up a custom WM_CLASS for some sorts of window types. This allows
- // task switchers in X11 environments to distinguish between main browser
- // windows and e.g app windows.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ browser_command_handler_.reset(new BrowserCommandHandlerLinux(browser_view_));
+ #endif
+ }
diff --git a/www/chromium/files/patch-chrome__browser__ui__views__frame__opaque_browser_frame_view.cc b/www/chromium/files/patch-chrome__browser__ui__views__frame__opaque_browser_frame_view.cc
index 775838512ca1..305b54efdec0 100644
--- a/www/chromium/files/patch-chrome__browser__ui__views__frame__opaque_browser_frame_view.cc
+++ b/www/chromium/files/patch-chrome__browser__ui__views__frame__opaque_browser_frame_view.cc
@@ -1,15 +1,15 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2014-10-10 09:15:30 UTC
-+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
-@@ -52,7 +52,7 @@
- #include "ui/views/window/frame_background.h"
- #include "ui/views/window/window_shape.h"
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2015-04-18 23:48:58.000000000 +0200
++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc 2015-04-18 23:53:50.000000000 +0200
+@@ -54,7 +54,7 @@
+ #include "chrome/browser/ui/views/profiles/supervised_user_avatar_label.h"
+ #endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "ui/views/controls/menu/menu_runner.h"
#endif
-@@ -77,7 +77,7 @@
+@@ -79,7 +79,7 @@
// The icon never shrinks below 16 px on a side.
const int kIconMinimumSize = 16;
@@ -18,25 +18,16 @@
// The number of pixels to move the frame background image upwards when using
// the GTK+ theme and the titlebar is condensed.
const int kGTKThemeCondensedFrameTopInset = 15;
-@@ -318,7 +318,7 @@
+@@ -341,7 +341,7 @@
void OpaqueBrowserFrameView::OnMenuButtonClicked(views::View* source,
const gfx::Point& point) {
-#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
views::MenuRunner::HAS_MNEMONICS);
ignore_result(menu_runner.RunMenuAt(browser_view()->GetWidget(),
-@@ -571,7 +571,7 @@
- }
-
- bool OpaqueBrowserFrameView::ShouldShowWindowTitleBar() const {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- // Do not show the custom title bar if the system title bar option is enabled.
- if (!frame()->UseCustomFrame())
- return false;
-@@ -616,7 +616,7 @@
+@@ -637,7 +637,7 @@
frame_background_->set_theme_image(GetFrameImage());
frame_background_->set_theme_overlay_image(GetFrameOverlayImage());
frame_background_->set_top_area_height(GetTopAreaHeight());
diff --git a/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc b/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc
index 3bd5b8cd5d27..af0984d787d8 100644
--- a/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc
+++ b/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc
@@ -1,7 +1,16 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2014-10-10 09:15:30 UTC
-+++ chrome/browser/ui/webui/about_ui.cc
-@@ -761,7 +761,7 @@
- return data;
+--- chrome/browser/ui/webui/about_ui.cc.orig 2015-04-18 23:56:37.000000000 +0200
++++ chrome/browser/ui/webui/about_ui.cc 2015-04-20 19:06:22.000000000 +0200
+@@ -64,7 +64,7 @@
+ #include "chrome/browser/ui/webui/theme_source.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "content/public/browser/zygote_host_linux.h"
+ #include "content/public/common/sandbox_linux.h"
+ #endif
+@@ -659,7 +659,7 @@
+ }
}
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
@@ -9,15 +18,15 @@
std::string AboutLinuxProxyConfig() {
std::string data;
AppendHeader(&data, 0,
-@@ -777,6 +777,7 @@
+@@ -675,6 +675,7 @@
return data;
}
+#if !defined(OS_BSD)
- void AboutSandboxRow(std::string* data, const std::string& prefix, int name_id,
- bool good) {
+ void AboutSandboxRow(std::string* data, int name_id, bool good) {
data->append("<tr><td>");
-@@ -847,6 +848,7 @@
+ data->append(l10n_util::GetStringUTF8(name_id));
+@@ -742,6 +743,7 @@
return data;
}
#endif
@@ -25,7 +34,7 @@
// AboutMemoryHandler ----------------------------------------------------------
-@@ -1019,7 +1021,7 @@
+@@ -914,7 +916,7 @@
} else if (source_name_ == chrome::kChromeUIDNSHost) {
AboutDnsHandler::Start(profile(), callback);
return;
@@ -34,3 +43,12 @@
} else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
response = AboutLinuxProxyConfig();
#endif
+@@ -928,7 +930,7 @@
+ ChromeOSCreditsHandler::Start(path, callback);
+ return;
+ #endif
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_FREEBSD)
+ } else if (source_name_ == chrome::kChromeUISandboxHost) {
+ response = AboutSandbox();
+ #endif
diff --git a/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc b/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc
index 884167365ec1..cb5b47f70870 100644
--- a/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc
+++ b/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2015-01-21 20:28:16 UTC
-+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -511,7 +511,7 @@
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2015-04-19 00:04:55.000000000 +0200
++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc 2015-04-19 00:05:15.000000000 +0200
+@@ -249,7 +249,7 @@
#if !defined(OS_ANDROID)
- || url.host() == chrome::kChromeUITermsHost
+ || url.host() == chrome::kChromeUITermsHost
#endif
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
- || url.host() == chrome::kChromeUILinuxProxyConfigHost
- || url.host() == chrome::kChromeUISandboxHost
+ || url.host() == chrome::kChromeUILinuxProxyConfigHost
+ || url.host() == chrome::kChromeUISandboxHost
#endif
diff --git a/www/chromium/files/patch-chrome__browser__ui__webui__options__browser_options_handler.cc b/www/chromium/files/patch-chrome__browser__ui__webui__options__browser_options_handler.cc
index bb92265aed80..b1e113b23eb9 100644
--- a/www/chromium/files/patch-chrome__browser__ui__webui__options__browser_options_handler.cc
+++ b/www/chromium/files/patch-chrome__browser__ui__webui__options__browser_options_handler.cc
@@ -1,15 +1,22 @@
---- chrome/browser/ui/webui/options/browser_options_handler.cc.orig 2015-01-21 20:28:16 UTC
-+++ chrome/browser/ui/webui/options/browser_options_handler.cc
-@@ -359,7 +359,7 @@
- { "toolbarShowHomeButton", IDS_OPTIONS_TOOLBAR_SHOW_HOME_BUTTON },
- { "translateEnableTranslate",
- IDS_OPTIONS_TRANSLATE_ENABLE_TRANSLATE },
+--- chrome/browser/ui/webui/options/browser_options_handler.cc.orig 2015-04-19 00:13:56.000000000 +0200
++++ chrome/browser/ui/webui/options/browser_options_handler.cc 2015-04-19 00:14:26.000000000 +0200
+@@ -470,13 +470,13 @@
+ { "syncButtonTextStart", IDS_SYNC_SETUP_BUTTON_LABEL },
+ #endif // defined(OS_CHROMEOS)
+
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if defined(OS_POSIX) && !defined(OS_CHROMEOS)
{ "showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS },
{ "themesNativeButton", IDS_THEMES_GTK_BUTTON },
{ "themesSetClassic", IDS_THEMES_SET_CLASSIC },
-@@ -692,7 +692,7 @@
+ #else
+ { "themes", IDS_THEMES_GROUP_NAME },
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // defined(OS_POSIX) && !defined(OS_CHROMEOS)
+
+ #if defined(OS_CHROMEOS) && defined(USE_ASH)
+ { "setWallpaper", IDS_SET_WALLPAPER_BUTTON },
+@@ -718,7 +718,7 @@
"requestProfilesInfo",
base::Bind(&BrowserOptionsHandler::HandleRequestProfilesInfo,
base::Unretained(this)));
@@ -18,7 +25,7 @@
web_ui()->RegisterMessageCallback(
"themesSetNative",
base::Bind(&BrowserOptionsHandler::ThemesSetNative,
-@@ -1342,7 +1342,7 @@
+@@ -1384,7 +1384,7 @@
ThemeService* theme_service = ThemeServiceFactory::GetForProfile(profile);
bool is_system_theme = false;
@@ -27,7 +34,7 @@
bool profile_is_supervised = profile->IsSupervised();
is_system_theme = theme_service->UsingSystemTheme();
base::FundamentalValue native_theme_enabled(!is_system_theme &&
-@@ -1364,7 +1364,7 @@
+@@ -1406,7 +1406,7 @@
ThemeServiceFactory::GetForProfile(profile)->UseDefaultTheme();
}
diff --git a/www/chromium/files/patch-chrome__chrome_exe.gypi b/www/chromium/files/patch-chrome__chrome_exe.gypi
new file mode 100644
index 000000000000..703f52d8dc07
--- /dev/null
+++ b/www/chromium/files/patch-chrome__chrome_exe.gypi
@@ -0,0 +1,11 @@
+--- chrome/chrome_exe.gypi.orig 2015-04-20 20:19:42.000000000 +0200
++++ chrome/chrome_exe.gypi 2015-04-20 20:21:17.000000000 +0200
+@@ -190,7 +190,7 @@
+ '../build/linux/system.gyp:xext',
+ ],
+ }],
+- ['OS=="linux" and enable_plugins==1', {
++ ['(OS=="linux" or os_bsd==1) and enable_plugins==1', {
+ 'dependencies': [
+ '../pdf/pdf.gyp:pdf',
+ ],
diff --git a/www/chromium/files/patch-chrome__renderer__pepper__pepper_flash_font_file_host.cc b/www/chromium/files/patch-chrome__renderer__pepper__pepper_flash_font_file_host.cc
index 38c9bd989cec..56c0f243045a 100644
--- a/www/chromium/files/patch-chrome__renderer__pepper__pepper_flash_font_file_host.cc
+++ b/www/chromium/files/patch-chrome__renderer__pepper__pepper_flash_font_file_host.cc
@@ -1,5 +1,5 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2014-10-10 08:54:12 UTC
-+++ chrome/renderer/pepper/pepper_flash_font_file_host.cc
+--- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2015-04-19 00:16:05.000000000 +0200
++++ chrome/renderer/pepper/pepper_flash_font_file_host.cc 2015-04-19 00:17:03.000000000 +0200
@@ -13,7 +13,7 @@
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/serialized_structs.h"
@@ -9,10 +9,10 @@
#include "content/public/common/child_process_sandbox_support_linux.h"
#endif
-@@ -25,14 +25,14 @@
+@@ -24,14 +24,14 @@
+ const ppapi::proxy::SerializedFontDescription& description,
PP_PrivateFontCharset charset)
- : ResourceHost(host->GetPpapiHost(), instance, resource),
- renderer_ppapi_host_(host) {
+ : ResourceHost(host->GetPpapiHost(), instance, resource) {
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
fd_.reset(content::MatchFontWithFallback(
@@ -26,7 +26,7 @@
}
PepperFlashFontFileHost::~PepperFlashFontFileHost() {}
-@@ -52,7 +52,7 @@
+@@ -51,7 +51,7 @@
uint32_t table) {
std::string contents;
int32_t result = PP_ERROR_FAILED;
@@ -35,7 +35,7 @@
int fd = fd_.get();
if (fd != -1) {
size_t length = 0;
-@@ -68,7 +68,7 @@
+@@ -67,7 +67,7 @@
}
}
}
diff --git a/www/chromium/files/patch-components__omaha_query_params__omaha_query_params.cc b/www/chromium/files/patch-components__omaha_query_params__omaha_query_params.cc
deleted file mode 100644
index b1e20a520a45..000000000000
--- a/www/chromium/files/patch-components__omaha_query_params__omaha_query_params.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/omaha_query_params/omaha_query_params.cc.orig 2014-10-10 08:54:14 UTC
-+++ components/omaha_query_params/omaha_query_params.cc
-@@ -31,6 +31,8 @@
- "linux";
- #elif defined(OS_OPENBSD)
- "openbsd";
-+#elif defined(OS_FREEBSD)
-+ "freebsd";
- #else
- #error "unknown os"
- #endif
diff --git a/www/chromium/files/patch-chrome__renderer__printing__print_web_view_helper.h b/www/chromium/files/patch-components__printing__renderer__print_web_view_helper.h
index afbb6db80d0e..2f7e0895d302 100644
--- a/www/chromium/files/patch-chrome__renderer__printing__print_web_view_helper.h
+++ b/www/chromium/files/patch-components__printing__renderer__print_web_view_helper.h
@@ -1,11 +1,11 @@
---- chrome/renderer/printing/print_web_view_helper.h.orig 2014-10-10 09:15:30 UTC
-+++ chrome/renderer/printing/print_web_view_helper.h
-@@ -211,7 +211,7 @@
+--- components/printing/renderer/print_web_view_helper.h.orig 2015-04-20 18:54:28.000000000 +0200
++++ components/printing/renderer/print_web_view_helper.h 2015-04-20 18:55:05.000000000 +0200
+@@ -246,7 +246,7 @@
void FinishFramePrinting();
// Prints the page listed in |params|.
-#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD)
void PrintPageInternal(const PrintMsg_PrintPage_Params& params,
blink::WebFrame* frame,
PdfMetafileSkia* metafile);
diff --git a/www/chromium/files/patch-components__storage_monitor__storage_monitor_freebsd.cc b/www/chromium/files/patch-components__storage_monitor__storage_monitor_freebsd.cc
index 484a4345d1c6..ab5fc1db7b61 100644
--- a/www/chromium/files/patch-components__storage_monitor__storage_monitor_freebsd.cc
+++ b/www/chromium/files/patch-components__storage_monitor__storage_monitor_freebsd.cc
@@ -1,5 +1,5 @@
---- components/storage_monitor/storage_monitor_freebsd.cc.orig 2014-10-13 17:11:08 UTC
-+++ components/storage_monitor/storage_monitor_freebsd.cc
+--- components/storage_monitor/storage_monitor_freebsd.cc.orig 1970-01-01 01:00:00.000000000 +0100
++++ components/storage_monitor/storage_monitor_freebsd.cc 2015-04-19 19:38:05.000000000 +0200
@@ -0,0 +1,102 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
@@ -56,15 +56,15 @@
+ command.push_back(path.value());
+
+ base::LaunchOptions options;
-+ base::ProcessHandle handle;
-+ if (!base::LaunchProcess(command, options, &handle))
++ base::Process process = base::LaunchProcess(command, options);
++ if (!process.IsValid())
+ return StorageMonitor::EJECT_FAILURE;
+
+ int exit_code = -1;
-+ if (!base::WaitForExitCodeWithTimeout(handle, &exit_code,
-+ base::TimeDelta::FromMilliseconds(3000))) {
-+ base::KillProcess(handle, -1, false);
-+ base::EnsureProcessTerminated(handle);
++ if (!process.WaitForExitWithTimeout(base::TimeDelta::FromMilliseconds(3000),
++ &exit_code)) {
++ base::KillProcess(process.Handle(), -1, false);
++ base::EnsureProcessTerminated(process.Pass());
+ return StorageMonitor::EJECT_FAILURE;
+ }
+
diff --git a/www/chromium/files/patch-components__update_client__update_query_params.cc b/www/chromium/files/patch-components__update_client__update_query_params.cc
new file mode 100644
index 000000000000..60c03304c562
--- /dev/null
+++ b/www/chromium/files/patch-components__update_client__update_query_params.cc
@@ -0,0 +1,11 @@
+--- components/update_client/update_query_params.cc.orig 2015-04-19 21:26:41.000000000 +0200
++++ components/update_client/update_query_params.cc 2015-04-19 21:27:50.000000000 +0200
+@@ -31,6 +31,8 @@
+ "linux";
+ #elif defined(OS_OPENBSD)
+ "openbsd";
++#elif defined(OS_FREEBSD)
++ "freebsd";
+ #else
+ #error "unknown os"
+ #endif
diff --git a/www/chromium/files/patch-content__app__content_main_runner.cc b/www/chromium/files/patch-content__app__content_main_runner.cc
index 02d7bc21c50b..7fd7a08e082a 100644
--- a/www/chromium/files/patch-content__app__content_main_runner.cc
+++ b/www/chromium/files/patch-content__app__content_main_runner.cc
@@ -1,11 +1,12 @@
---- content/app/content_main_runner.cc.orig 2014-10-10 09:15:31 UTC
-+++ content/app/content_main_runner.cc
-@@ -95,10 +95,10 @@
+--- content/app/content_main_runner.cc.orig 2015-04-19 00:24:28.000000000 +0200
++++ content/app/content_main_runner.cc 2015-04-19 00:28:17.000000000 +0200
+@@ -93,11 +93,11 @@
#include "base/posix/global_descriptors.h"
#include "content/public/common/content_descriptors.h"
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
+ #include "content/public/common/content_descriptors.h"
#include "content/public/common/zygote_fork_delegate_linux.h"
#endif
-#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
@@ -13,7 +14,7 @@
#include "content/zygote/zygote_main.h"
#endif
-@@ -291,7 +291,8 @@
+@@ -258,7 +258,8 @@
int (*function)(const MainFunctionParams&);
};
@@ -23,7 +24,7 @@
// On platforms that use the zygote, we have a special subset of
// subprocesses that are launched via the zygote. This function
// fills in some process-launching bits around ZygoteMain().
-@@ -421,7 +422,8 @@
+@@ -383,7 +384,8 @@
}
}
diff --git a/www/chromium/files/patch-content__browser__child_process_launcher.cc b/www/chromium/files/patch-content__browser__child_process_launcher.cc
index f7e92a845f26..5f15bc71af79 100644
--- a/www/chromium/files/patch-content__browser__child_process_launcher.cc
+++ b/www/chromium/files/patch-content__browser__child_process_launcher.cc
@@ -1,134 +1,152 @@
---- content/browser/child_process_launcher.cc.orig 2015-01-21 20:28:16 UTC
-+++ content/browser/child_process_launcher.cc
-@@ -69,7 +69,7 @@
- #else
- terminate_child_on_shutdown_(true)
+--- content/browser/child_process_launcher.cc.orig 2015-04-19 00:30:35.000000000 +0200
++++ content/browser/child_process_launcher.cc 2015-04-19 00:43:33.000000000 +0200
+@@ -120,7 +120,7 @@
+ // Notifies the client about the result of the operation.
+ // Runs on the UI thread.
+ 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::Process process);
+@@ -131,7 +131,7 @@
+ bool background);
+
+ 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::Process process);
+@@ -144,7 +144,7 @@
+ #if defined(OS_ANDROID)
+ // The fd to close after creating the process.
+ base::ScopedFD ipcfd_;
+-#elif defined(OS_POSIX) && !defined(OS_MACOSX)
++#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ bool zygote_;
+ #endif
+ bool starting_;
+@@ -158,7 +158,7 @@
+ client_thread_id_(BrowserThread::UI),
+ termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION),
+ exit_code_(RESULT_CODE_NORMAL_EXIT),
-#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)
+ zygote_(false),
#endif
- {
-@@ -190,7 +190,7 @@
- bool launch_elevated = delegate->ShouldLaunchElevated();
+ starting_(true),
+@@ -238,7 +238,7 @@
+ }
+
+ void ChildProcessLauncher::Context::UpdateTerminationStatus(bool known_dead) {
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+ if (zygote_) {
+ termination_status_ = ZygoteHostImpl::GetInstance()->
+ GetTerminationStatus(process_.Handle(), known_dead, &exit_code_);
+@@ -312,7 +312,7 @@
+ bool launch_elevated = delegate->ShouldLaunchElevated();
#elif defined(OS_ANDROID)
- // Uses |ipcfd_| instead of |ipcfd| on Android.
+ // Uses |ipcfd_| instead of |ipcfd| on Android.
-#elif defined(OS_MACOSX)
+#elif defined(OS_MACOSX) || defined(OS_BSD)
- base::EnvironmentMap env = delegate->GetEnvironment();
- base::ScopedFD ipcfd = delegate->TakeIpcFd();
+ base::EnvironmentMap env = delegate->GetEnvironment();
+ base::ScopedFD ipcfd = delegate->TakeIpcFd();
#elif defined(OS_POSIX)
-@@ -253,7 +253,7 @@
- // We need to close the client end of the IPC channel to reliably detect
- // child termination.
+@@ -366,7 +366,7 @@
+ // We need to close the client end of the IPC channel to reliably detect
+ // child termination.
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- GetContentClient()->browser()->GetAdditionalMappedFilesForChildProcess(
- *cmd_line, child_process_id, files_to_register.get());
- if (use_zygote) {
-@@ -261,14 +261,14 @@
- cmd_line->argv(), files_to_register.Pass(), process_type);
- } else
- // Fall through to the normal posix case below when we're not zygoting.
+ GetContentClient()->browser()->GetAdditionalMappedFilesForChildProcess(
+ *cmd_line, child_process_id, files_to_register.get());
+ if (use_zygote) {
+@@ -375,14 +375,14 @@
+ process = base::Process(handle);
+ } else
+ // Fall through to the normal posix case below when we're not zygoting.
-#endif // !defined(OS_MACOSX)
+#endif // !defined(OS_MACOSX) && !defined(OS_BSD)
- {
- // Convert FD mapping to FileHandleMappingVector
- base::FileHandleMappingVector fds_to_map =
- files_to_register->GetMappingWithIDAdjustment(
- base::GlobalDescriptors::kBaseDescriptor);
+ {
+ // Convert FD mapping to FileHandleMappingVector
+ base::FileHandleMappingVector fds_to_map =
+ files_to_register->GetMappingWithIDAdjustment(
+ 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();
-@@ -276,7 +276,7 @@
- sandbox_fd,
- GetSandboxFD()));
- }
+ if (process_type == switches::kRendererProcess) {
+ const int sandbox_fd =
+ RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
+@@ -390,7 +390,7 @@
+ sandbox_fd,
+ GetSandboxFD()));
+ }
-#endif // defined(OS_MACOSX)
+#endif // defined(OS_MACOSX) && !defined(OS_BSD)
- // Actually launch the app.
- base::LaunchOptions options;
-@@ -335,7 +335,7 @@
- base::Bind(
- &Context::Notify,
- this_object.get(),
+ // Actually launch the app.
+ base::LaunchOptions options;
+@@ -446,7 +446,7 @@
+ client_thread_id, FROM_HERE,
+ 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,
+ use_zygote,
#endif
- base::Passed(base::Process(handle))));
-@@ -343,7 +343,7 @@
- }
+ base::Passed(&process)));
+@@ -454,7 +454,7 @@
+ }
- void Notify(
+ void ChildProcessLauncher::Context::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,
+ bool zygote,
#endif
- base::Process process) {
-@@ -356,7 +356,7 @@
- if (!process_.IsValid())
- LOG(ERROR) << "Failed to launch child process";
+ base::Process process) {
+@@ -467,7 +467,7 @@
+ if (!process_.IsValid())
+ 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;
+ zygote_ = zygote;
#endif
- if (client_) {
-@@ -383,7 +383,7 @@
- BrowserThread::PROCESS_LAUNCHER, FROM_HERE,
- base::Bind(
- &Context::TerminateInternal,
+ if (client_) {
+@@ -493,7 +493,7 @@
+ BrowserThread::PostTask(
+ 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_,
+ zygote_,
#endif
- base::Passed(&process_)));
-@@ -398,7 +398,7 @@
- }
+ base::Passed(&process_)));
+@@ -511,7 +511,7 @@
- static void TerminateInternal(
+ // static
+ void ChildProcessLauncher::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)
- bool zygote,
+ bool zygote,
#endif
- base::Process process) {
-@@ -412,13 +412,13 @@
- process.Terminate(RESULT_CODE_NORMAL_EXIT);
- // On POSIX, we must additionally reap the child.
+ base::Process process) {
+@@ -525,13 +525,13 @@
+ 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.
- ZygoteHostImpl::GetInstance()->EnsureProcessTerminated(process.Handle());
- } else
+ if (zygote) {
+ // If the renderer was created via a zygote, we have to proxy the reaping
+ // through the zygote process.
+ ZygoteHostImpl::GetInstance()->EnsureProcessTerminated(process.Handle());
+ } else
-#endif // !OS_MACOSX
+#endif // !OS_MACOSX && !OS_BSD
- {
- base::EnsureProcessTerminated(process.Handle());
- }
-@@ -438,7 +438,7 @@
- #if defined(OS_ANDROID)
- // The fd to close after creating the process.
- base::ScopedFD ipcfd_;
--#elif defined(OS_POSIX) && !defined(OS_MACOSX)
-+#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- bool zygote_;
- #endif
- };
-@@ -479,7 +479,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(context_->process_.Handle(), known_dead,
+ base::EnsureProcessTerminated(process.Pass());
+ #endif // OS_POSIX
+ #endif // defined(OS_ANDROID)
diff --git a/www/chromium/files/patch-content__browser__tracing__tracing_ui.cc b/www/chromium/files/patch-content__browser__tracing__tracing_ui.cc
deleted file mode 100644
index b6ef72b5f29c..000000000000
--- a/www/chromium/files/patch-content__browser__tracing__tracing_ui.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/tracing/tracing_ui.cc.orig 2014-10-10 08:54:14 UTC
-+++ content/browser/tracing/tracing_ui.cc
-@@ -330,6 +330,8 @@
- const char product[] = "Chrome_Android";
- #elif defined(OS_CHROMEOS)
- const char product[] = "Chrome_ChromeOS";
-+#elif defined(OS_BSD)
-+ const char product[] = "Chrome_BSD";
- #else
- #error Platform not supported.
- #endif
diff --git a/www/chromium/files/patch-content__common__sandbox_linux__sandbox_debug_handling_linux.cc b/www/chromium/files/patch-content__common__sandbox_linux__sandbox_debug_handling_linux.cc
new file mode 100644
index 000000000000..2c6afe2319d4
--- /dev/null
+++ b/www/chromium/files/patch-content__common__sandbox_linux__sandbox_debug_handling_linux.cc
@@ -0,0 +1,29 @@
+--- content/common/sandbox_linux/sandbox_debug_handling_linux.cc.orig 2015-04-19 22:52:03.000000000 +0200
++++ content/common/sandbox_linux/sandbox_debug_handling_linux.cc 2015-04-19 23:27:21.000000000 +0200
+@@ -6,7 +6,9 @@
+
+ #include <errno.h>
+ #include <signal.h>
++#if 0 // no OS_FREEBSD here?
+ #include <sys/prctl.h>
++#endif
+ #include <unistd.h>
+
+ #include "base/command_line.h"
+@@ -68,12 +70,16 @@
+ return true;
+ }
+
++#if 0 // no OS_FREEBSD here?
+ if (prctl(PR_SET_DUMPABLE, 0) != 0) {
+ PLOG(ERROR) << "Failed to set non-dumpable flag";
+ return false;
+ }
+
+ return prctl(PR_GET_DUMPABLE) == 0;
++#else
++ return false;
++#endif
+ }
+
+ } // namespace content
diff --git a/www/chromium/files/patch-content__gpu__gpu_main.cc b/www/chromium/files/patch-content__gpu__gpu_main.cc
index 8bf02344a167..86826b2c20e2 100644
--- a/www/chromium/files/patch-content__gpu__gpu_main.cc
+++ b/www/chromium/files/patch-content__gpu__gpu_main.cc
@@ -1,8 +1,8 @@
---- content/gpu/gpu_main.cc.orig 2015-01-21 20:28:16 UTC
-+++ content/gpu/gpu_main.cc
+--- content/gpu/gpu_main.cc.orig 2015-04-19 00:48:39.000000000 +0200
++++ content/gpu/gpu_main.cc 2015-04-19 00:51:41.000000000 +0200
@@ -73,7 +73,7 @@
- const CommandLine& command_line);
- bool WarmUpSandbox(const CommandLine& command_line);
+ const base::CommandLine& command_line);
+ bool WarmUpSandbox(const base::CommandLine& command_line);
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) //XXX(rene) added !FreeBSD
@@ -25,16 +25,7 @@
base::MessageLoop main_message_loop(base::MessageLoop::TYPE_DEFAULT);
#elif defined(OS_MACOSX)
// This is necessary for CoreAnimation layers hosted in the GPU process to be
-@@ -216,7 +216,7 @@
- // Temporarily disable DRI3 on desktop Linux.
- // The GPU process is crashing on DRI3-enabled desktop Linux systems.
- // TODO(jorgelo): remove this when crbug.com/415681 is fixed.
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- {
- scoped_ptr<base::Environment> env(base::Environment::Create());
- env->SetVar("LIBGL_DRI3_DISABLE", "1");
-@@ -279,7 +279,7 @@
+@@ -269,7 +269,7 @@
// and we already registered them through SetGpuInfo() above.
base::TimeTicks before_collect_context_graphics_info =
base::TimeTicks::Now();
@@ -43,7 +34,7 @@
if (!CollectGraphicsInfo(gpu_info))
dead_on_arrival = true;
-@@ -412,7 +412,7 @@
+@@ -402,7 +402,7 @@
return true;
}
diff --git a/www/chromium/files/patch-device__usb__usb_service_impl.cc b/www/chromium/files/patch-device__usb__usb_service_impl.cc
index 9c4f1c13c073..1bc9c6d553ae 100644
--- a/www/chromium/files/patch-device__usb__usb_service_impl.cc
+++ b/www/chromium/files/patch-device__usb__usb_service_impl.cc
@@ -1,14 +1,42 @@
---- device/usb/usb_service_impl.cc.orig 2014-10-10 09:15:31 UTC
-+++ device/usb/usb_service_impl.cc
-@@ -14,7 +14,11 @@
- #include "device/usb/usb_context.h"
- #include "device/usb/usb_device_impl.h"
- #include "device/usb/usb_error.h"
-+#if defined(OS_FREEBSD)
-+#include "libusb.h"
-+#else
- #include "third_party/libusb/src/libusb/libusb.h"
-+#endif
-
- namespace device {
+--- device/usb/usb_service_impl.cc.orig 2015-04-19 21:12:40.000000000 +0200
++++ device/usb/usb_service_impl.cc 2015-04-19 21:16:15.000000000 +0200
+@@ -113,6 +113,7 @@
+ hotplug_enabled_(false),
+ weak_factory_(this) {
+ task_runner_ = base::ThreadTaskRunnerHandle::Get();
++#if !defined(OS_FREEBSD)
+ int rv = libusb_hotplug_register_callback(
+ context_->context(),
+ static_cast<libusb_hotplug_event>(LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED |
+@@ -130,12 +131,15 @@
+ base::Unretained(ui_thread_helper_)));
+ #endif // OS_WIN
+ }
++#endif // !OS_FREEBSD
+ }
+ UsbServiceImpl::~UsbServiceImpl() {
++#if !defined(OS_FREEBSD)
+ if (hotplug_enabled_) {
+ libusb_hotplug_deregister_callback(context_->context(), hotplug_handle_);
+ }
++#endif // !OS_FREEBSD
+ #if defined(OS_WIN)
+ if (ui_thread_helper_) {
+ ui_task_runner_->DeleteSoon(FROM_HERE, ui_thread_helper_);
+@@ -219,6 +223,7 @@
+ }
+ }
+
++#if !defined(OS_FREEBSD)
+ // static
+ int LIBUSB_CALL UsbServiceImpl::HotplugCallback(libusb_context* context,
+ PlatformUsbDevice device,
+@@ -256,6 +261,7 @@
+
+ return 0;
+ }
++#endif // !OS_FREEBSD
+
+ void UsbServiceImpl::OnDeviceAdded(PlatformUsbDevice platform_device) {
+ DCHECK(CalledOnValidThread());
diff --git a/www/chromium/files/patch-device__usb__usb_service_impl.h b/www/chromium/files/patch-device__usb__usb_service_impl.h
new file mode 100644
index 000000000000..f808a80b5784
--- /dev/null
+++ b/www/chromium/files/patch-device__usb__usb_service_impl.h
@@ -0,0 +1,40 @@
+--- device/usb/usb_service_impl.h.orig 2015-04-19 16:22:47.000000000 +0200
++++ device/usb/usb_service_impl.h 2015-04-19 21:10:55.000000000 +0200
+@@ -10,7 +10,13 @@
+ #include "base/single_thread_task_runner.h"
+ #include "device/usb/usb_context.h"
+ #include "device/usb/usb_device_impl.h"
++#if defined(OS_FREEBSD)
++#include "libusb.h"
++#define LIBUSB_CALL
++#else
+ #include "third_party/libusb/src/libusb/libusb.h"
++#endif
++
+
+ namespace device {
+
+@@ -38,11 +44,13 @@
+ // Adds a new UsbDevice to the devices_ map based on the given libusb device.
+ scoped_refptr<UsbDeviceImpl> AddDevice(PlatformUsbDevice platform_device);
+
++#if !defined(OS_FREEBSD)
+ // Handle hotplug events from libusb.
+ static int LIBUSB_CALL HotplugCallback(libusb_context* context,
+ PlatformUsbDevice device,
+ libusb_hotplug_event event,
+ void* user_data);
++#endif
+ // These functions release a reference to the provided platform device.
+ void OnDeviceAdded(PlatformUsbDevice platform_device);
+ void OnDeviceRemoved(PlatformUsbDevice platform_device);
+@@ -63,7 +71,9 @@
+ // connected instead of only when a full enumeration is requested.
+ // TODO(reillyg): Support this on all platforms. crbug.com/411715
+ bool hotplug_enabled_;
++#if !defined(OS_FREEBSD)
+ libusb_hotplug_callback_handle hotplug_handle_;
++#endif
+
+ // The map from unique IDs to UsbDevices.
+ typedef std::map<uint32, scoped_refptr<UsbDeviceImpl>> DeviceMap;
diff --git a/www/chromium/files/patch-gpu__config__gpu_util.cc b/www/chromium/files/patch-gpu__config__gpu_util.cc
index 9a341acb82a6..3e9412a4d9ab 100644
--- a/www/chromium/files/patch-gpu__config__gpu_util.cc
+++ b/www/chromium/files/patch-gpu__config__gpu_util.cc
@@ -1,9 +1,9 @@
---- gpu/config/gpu_util.cc.orig 2014-10-10 08:54:15 UTC
-+++ gpu/config/gpu_util.cc
+--- gpu/config/gpu_util.cc.orig 2015-04-19 16:27:01.000000000 +0200
++++ gpu/config/gpu_util.cc 2015-04-19 16:27:30.000000000 +0200
@@ -54,10 +54,12 @@
}
- void ApplyGpuDriverBugWorkarounds(CommandLine* command_line) {
+ void ApplyGpuDriverBugWorkarounds(base::CommandLine* command_line) {
+#ifndef __FreeBSD__
GPUInfo gpu_info;
CollectBasicGraphicsInfo(&gpu_info);
@@ -12,4 +12,4 @@
+#endif
}
- void ApplyGpuDriverBugWorkarounds(
+ void ApplyGpuDriverBugWorkarounds(const GPUInfo& gpu_info,
diff --git a/www/chromium/files/patch-gpu__gpu_config.gypi b/www/chromium/files/patch-gpu__gpu_config.gypi
index ece2fc95d53c..f4397facdf9d 100644
--- a/www/chromium/files/patch-gpu__gpu_config.gypi
+++ b/www/chromium/files/patch-gpu__gpu_config.gypi
@@ -1,6 +1,6 @@
---- gpu/gpu_config.gypi.orig 2014-10-10 08:54:15 UTC
-+++ gpu/gpu_config.gypi
-@@ -70,12 +70,18 @@
+--- gpu/gpu_config.gypi.orig 2015-04-19 16:30:17.000000000 +0200
++++ gpu/gpu_config.gypi 2015-04-19 16:33:04.000000000 +0200
+@@ -70,7 +70,7 @@
'../build/linux/system.gyp:libpci',
],
}],
@@ -9,7 +9,8 @@
'dependencies': [
'../build/linux/system.gyp:x11',
'../build/linux/system.gyp:xext',
- '../third_party/libXNVCtrl/libXNVCtrl.gyp:libXNVCtrl',
+@@ -78,5 +78,11 @@
+ '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
],
}],
+ ['os_bsd==1', {
@@ -17,6 +18,6 @@
+ 'config/gpu_info_collector_linux.cc',
+ 'config/gpu_info_collector_linux.h',
+ ],
-+ }],
++ }]
],
}
diff --git a/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc b/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc
index ccbbdd333d0d..063e1b1292ee 100644
--- a/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc
+++ b/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc
@@ -1,20 +1,11 @@
---- media/video/capture/video_capture_device_factory.cc.orig 2014-10-10 08:54:15 UTC
-+++ media/video/capture/video_capture_device_factory.cc
-@@ -11,7 +11,7 @@
+--- media/video/capture/video_capture_device_factory.cc.orig 2015-04-24 22:45:15.000000000 +0200
++++ media/video/capture/video_capture_device_factory.cc 2015-04-24 22:45:36.000000000 +0200
+@@ -50,7 +50,7 @@
+ callback.Run(device_names.Pass());
+ }
- #if defined(OS_MACOSX)
- #include "media/video/capture/mac/video_capture_device_factory_mac.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
- #include "media/video/capture/linux/video_capture_device_factory_linux.h"
- #elif defined(OS_ANDROID)
- #include "media/video/capture/android/video_capture_device_factory_android.h"
-@@ -41,7 +41,7 @@
- #if defined(OS_MACOSX)
- return scoped_ptr<VideoCaptureDeviceFactory>(new
- VideoCaptureDeviceFactoryMac(ui_task_runner));
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
- return scoped_ptr<VideoCaptureDeviceFactory>(new
- VideoCaptureDeviceFactoryLinux(ui_task_runner));
- #elif defined(OS_ANDROID)
+-#if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_WIN)
++#if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FREEBSD)
+ // static
+ VideoCaptureDeviceFactory*
+ VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(
diff --git a/www/chromium/files/patch-net__base__address_tracker_linux.cc b/www/chromium/files/patch-net__base__address_tracker_linux.cc
new file mode 100644
index 000000000000..cdbbf220b382
--- /dev/null
+++ b/www/chromium/files/patch-net__base__address_tracker_linux.cc
@@ -0,0 +1,94 @@
+--- net/base/address_tracker_linux.cc.orig 2015-04-19 20:31:08.000000000 +0200
++++ net/base/address_tracker_linux.cc 2015-04-19 20:36:27.000000000 +0200
+@@ -5,7 +5,9 @@
+ #include "net/base/address_tracker_linux.h"
+
+ #include <errno.h>
++#if !defined(OS_FREEBSD)
+ #include <linux/if.h>
++#endif
+ #include <sys/ioctl.h>
+
+ #include "base/files/scoped_file.h"
+@@ -24,6 +26,7 @@
+ bool GetAddress(const struct nlmsghdr* header,
+ IPAddressNumber* out,
+ bool* really_deprecated) {
++#if !defined(OS_FREEBSD)
+ if (really_deprecated)
+ *really_deprecated = false;
+ const struct ifaddrmsg* msg =
+@@ -76,6 +79,9 @@
+ return false;
+ out->assign(address, address + address_length);
+ return true;
++#else
++ return false;
++#endif
+ }
+
+ } // namespace
+@@ -128,6 +134,7 @@
+ }
+
+ void AddressTrackerLinux::Init() {
++#if !defined(OS_FREEBSD)
+ netlink_fd_ = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+ if (netlink_fd_ < 0) {
+ PLOG(ERROR) << "Could not create NETLINK socket";
+@@ -215,6 +222,10 @@
+ return;
+ }
+ }
++#else
++ AbortAndForceOnline();
++ return;
++#endif
+ }
+
+ void AddressTrackerLinux::AbortAndForceOnline() {
+@@ -250,6 +261,7 @@
+ void AddressTrackerLinux::ReadMessages(bool* address_changed,
+ bool* link_changed,
+ bool* tunnel_changed) {
++#if !defined(OS_FREEBSD)
+ *address_changed = false;
+ *link_changed = false;
+ *tunnel_changed = false;
+@@ -276,6 +288,7 @@
+ }
+ if (*link_changed || *address_changed)
+ UpdateCurrentConnectionType();
++#endif
+ }
+
+ void AddressTrackerLinux::HandleMessage(char* buffer,
+@@ -283,6 +296,7 @@
+ bool* address_changed,
+ bool* link_changed,
+ bool* tunnel_changed) {
++#if !defined(OS_FREEBSD)
+ DCHECK(buffer);
+ for (struct nlmsghdr* header = reinterpret_cast<struct nlmsghdr*>(buffer);
+ NLMSG_OK(header, length);
+@@ -365,6 +379,7 @@
+ break;
+ }
+ }
++#endif
+ }
+
+ void AddressTrackerLinux::OnFileCanReadWithoutBlocking(int fd) {
+@@ -391,8 +406,12 @@
+
+ bool AddressTrackerLinux::IsTunnelInterface(int interface_index) const {
+ // Linux kernel drivers/net/tun.c uses "tun" name prefix.
++#if !defined(OS_FREEBSD)
+ char buf[IFNAMSIZ] = {0};
+ return strncmp(get_interface_name_(interface_index, buf), "tun", 3) == 0;
++#else
++ return false;
++#endif
+ }
+
+ void AddressTrackerLinux::UpdateCurrentConnectionType() {
diff --git a/www/chromium/files/patch-net__base__address_tracker_linux.h b/www/chromium/files/patch-net__base__address_tracker_linux.h
index fb5452579e53..2c62f69ce74e 100644
--- a/www/chromium/files/patch-net__base__address_tracker_linux.h
+++ b/www/chromium/files/patch-net__base__address_tracker_linux.h
@@ -1,5 +1,5 @@
---- net/base/address_tracker_linux.h.orig 2014-10-10 09:15:31 UTC
-+++ net/base/address_tracker_linux.h
+--- net/base/address_tracker_linux.h.orig 2015-04-15 00:18:56.000000000 +0200
++++ net/base/address_tracker_linux.h 2015-04-19 20:29:29.000000000 +0200
@@ -6,10 +6,12 @@
#define NET_BASE_ADDRESS_TRACKER_LINUX_H_
@@ -13,3 +13,15 @@
#include <map>
+@@ -32,7 +34,11 @@
+ class NET_EXPORT_PRIVATE AddressTrackerLinux :
+ public base::MessageLoopForIO::Watcher {
+ public:
++#if !defined(OS_FREEBSD)
+ typedef std::map<IPAddressNumber, struct ifaddrmsg> AddressMap;
++#else
++ typedef void* AddressMap;
++#endif
+
+ // Non-tracking version constructor: it takes a snapshot of the
+ // current system configuration. Once Init() returns, the
diff --git a/www/chromium/files/patch-net__base__net_util_linux.cc b/www/chromium/files/patch-net__base__net_util_linux.cc
new file mode 100644
index 000000000000..bc26597cc497
--- /dev/null
+++ b/www/chromium/files/patch-net__base__net_util_linux.cc
@@ -0,0 +1,105 @@
+--- net/base/net_util_linux.cc.orig 2015-04-19 19:54:25.000000000 +0200
++++ net/base/net_util_linux.cc 2015-04-20 20:26:41.000000000 +0200
+@@ -4,12 +4,14 @@
+
+ #include "net/base/net_util_linux.h"
+
++#if !defined(OS_FREEBSD)
+ #if !defined(OS_ANDROID)
+ #include <linux/ethtool.h>
+ #endif // !defined(OS_ANDROID)
+ #include <linux/if.h>
+ #include <linux/sockios.h>
+ #include <linux/wireless.h>
++#endif // !defined(OS_FREEBSD)
+ #include <set>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+@@ -44,6 +46,7 @@
+ // are still progressing through duplicated address detection (DAD)
+ // and shouldn't be used by the application layer until DAD process
+ // is completed.
++#if !defined(OS_FREEBSD)
+ if (native_attributes & (
+ #if !defined(OS_ANDROID)
+ IFA_F_OPTIMISTIC | IFA_F_DADFAILED |
+@@ -61,6 +64,10 @@
+ }
+
+ return true;
++#else
++ // the flags tested above are not present on FreeBSD
++ return false;
++#endif // !OS_FREEBSD
+ }
+
+ } // namespace
+@@ -83,13 +90,15 @@
+ if (!s.is_valid())
+ return NetworkChangeNotifier::CONNECTION_UNKNOWN;
+
++#if !defined(OS_FREEBSD)
+ // Test wireless extensions for CONNECTION_WIFI
+ struct iwreq pwrq = {};
+ strncpy(pwrq.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
+ if (ioctl(s.get(), SIOCGIWNAME, &pwrq) != -1)
+ return NetworkChangeNotifier::CONNECTION_WIFI;
++#endif // !defined(OS_FREEBSD)
+
+-#if !defined(OS_ANDROID)
++#if !defined(OS_ANDROID) && !defined(OS_FREEBSD)
+ // Test ethtool for CONNECTION_ETHERNET
+ struct ethtool_cmd ecmd = {};
+ ecmd.cmd = ETHTOOL_GSET;
+@@ -98,12 +107,13 @@
+ strncpy(ifr.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
+ if (ioctl(s.get(), SIOCETHTOOL, &ifr) != -1)
+ return NetworkChangeNotifier::CONNECTION_ETHERNET;
+-#endif // !defined(OS_ANDROID)
++#endif // !defined(OS_ANDROID) && !defined(OS_FREEBSD)
+
+ return NetworkChangeNotifier::CONNECTION_UNKNOWN;
+ }
+
+ std::string GetInterfaceSSID(const std::string& ifname) {
++#if !defined(OS_FREEBSD)
+ base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0));
+ if (!ioctl_socket.is_valid())
+ return "";
+@@ -115,9 +125,11 @@
+ wreq.u.essid.length = IW_ESSID_MAX_SIZE;
+ if (ioctl(ioctl_socket.get(), SIOCGIWESSID, &wreq) != -1)
+ return ssid;
++#endif // !defined(OS_FREEBSD)
+ return "";
+ }
+
++#if !defined(OS_FREEBSD)
+ bool GetNetworkListImpl(
+ NetworkInterfaceList* networks,
+ int policy,
+@@ -186,6 +198,7 @@
+
+ return true;
+ }
++#endif // !defined(OS_FREEBSD)
+
+ std::string GetWifiSSIDFromInterfaceListInternal(
+ const NetworkInterfaceList& interfaces,
+@@ -210,12 +223,16 @@
+ if (networks == NULL)
+ return false;
+
++#if !defined(OS_FREEBSD)
+ internal::AddressTrackerLinux tracker;
+ tracker.Init();
+
+ return internal::GetNetworkListImpl(
+ networks, policy, tracker.GetOnlineLinks(), tracker.GetAddressMap(),
+ &internal::AddressTrackerLinux::GetInterfaceName);
++#else
++ return false;
++#endif
+ }
+
+ std::string GetWifiSSID() {
diff --git a/www/chromium/files/patch-net__base__net_util_posix.cc b/www/chromium/files/patch-net__base__net_util_posix.cc
index 64447830df31..0ed2c8d4fa87 100644
--- a/www/chromium/files/patch-net__base__net_util_posix.cc
+++ b/www/chromium/files/patch-net__base__net_util_posix.cc
@@ -1,62 +1,18 @@
---- net/base/net_util_posix.cc.orig 2015-01-24 20:40:37.161729000 +0100
-+++ net/base/net_util_posix.cc 2015-01-24 20:41:01.962110000 +0100
-@@ -23,8 +23,10 @@
- #if defined(OS_MACOSX)
- #include <ifaddrs.h>
- #else
-+#if !defined(OS_BSD)
- #include "net/base/address_tracker_linux.h"
- #include "net/base/net_util_posix.h"
-+#endif
- #endif // OS_MACOSX
- #include <net/if.h>
- #include <netinet/in.h>
-@@ -40,6 +42,7 @@
-
- namespace {
+--- net/base/net_util_posix.cc.orig 2015-04-19 16:44:32.000000000 +0200
++++ net/base/net_util_posix.cc 2015-04-19 16:45:29.000000000 +0200
+@@ -20,6 +20,7 @@
+ #if !defined(OS_NACL)
+ namespace internal {
+#if !defined(OS_BSD)
// The application layer can pass |policy| defined in net_util.h to
// request filtering out certain type of interfaces.
bool ShouldIgnoreInterface(const std::string& name, int policy) {
-@@ -76,6 +79,7 @@
+@@ -56,6 +57,7 @@
}
return false;
}
+#endif
- #if defined(OS_MACOSX)
-
-@@ -147,7 +151,7 @@
- }
-
- #endif // !defined(OS_IOS)
--#elif !defined(OS_NACL) // OS_MACOSX
-+#elif !defined(OS_NACL) && !defined(OS_BSD) // OS_MACOSX
-
- // Convert platform native IPv6 address attributes to net IP address
- // attributes and drop ones that can't be used by the application
-@@ -192,6 +196,7 @@
- #endif
- }
-
-+#if !defined(OS_BSD)
- bool GetNetworkListImpl(
- NetworkInterfaceList* networks,
- int policy,
-@@ -265,13 +270,14 @@
- return true;
- }
- #endif
-+#endif
-
} // namespace internal
-
- bool GetNetworkList(NetworkInterfaceList* networks, int policy) {
- if (networks == NULL)
- return false;
--#if defined(OS_NACL)
-+#if defined(OS_NACL) || defined(OS_BSD)
- NOTIMPLEMENTED();
- return false;
- #elif !defined(OS_MACOSX)
+ #else // OS_NACL
diff --git a/www/chromium/files/patch-net__quic__congestion_control__rtt_stats.cc b/www/chromium/files/patch-net__quic__congestion_control__rtt_stats.cc
index 4fa57ec6a1bf..30891a7f13b6 100644
--- a/www/chromium/files/patch-net__quic__congestion_control__rtt_stats.cc
+++ b/www/chromium/files/patch-net__quic__congestion_control__rtt_stats.cc
@@ -1,11 +1,11 @@
---- net/quic/congestion_control/rtt_stats.cc.orig 2014-10-10 08:54:16 UTC
-+++ net/quic/congestion_control/rtt_stats.cc
-@@ -85,7 +85,7 @@
+--- net/quic/congestion_control/rtt_stats.cc.orig 2015-04-19 16:49:03.000000000 +0200
++++ net/quic/congestion_control/rtt_stats.cc 2015-04-19 16:49:19.000000000 +0200
+@@ -81,7 +81,7 @@
} else {
- mean_deviation_ = QuicTime::Delta::FromMicroseconds(
+ mean_deviation_ = QuicTime::Delta::FromMicroseconds(static_cast<int64>(
kOneMinusBeta * mean_deviation_.ToMicroseconds() +
-- kBeta * std::abs(smoothed_rtt_.Subtract(rtt_sample).ToMicroseconds()));
-+ kBeta * std::labs(smoothed_rtt_.Subtract(rtt_sample).ToMicroseconds()));
+- kBeta * std::abs(smoothed_rtt_.Subtract(rtt_sample).ToMicroseconds())));
++ kBeta * std::labs(smoothed_rtt_.Subtract(rtt_sample).ToMicroseconds())));
smoothed_rtt_ = smoothed_rtt_.Multiply(kOneMinusAlpha).Add(
rtt_sample.Multiply(kAlpha));
DVLOG(1) << " smoothed_rtt(us):" << smoothed_rtt_.ToMicroseconds()
diff --git a/www/chromium/files/patch-remoting__remoting_host.gypi b/www/chromium/files/patch-remoting__remoting_host.gypi
index 688369201f0e..ba65add232c4 100644
--- a/www/chromium/files/patch-remoting__remoting_host.gypi
+++ b/www/chromium/files/patch-remoting__remoting_host.gypi
@@ -1,29 +1,45 @@
---- remoting/remoting_host.gypi.orig 2015-01-21 20:28:17 UTC
-+++ remoting/remoting_host.gypi
-@@ -12,7 +12,7 @@
- 'variables': {
- 'conditions': [
- # Remoting host is supported only on Windows, OSX and Linux (with X11).
-- ['OS=="win" or OS=="mac" or (OS=="linux" and use_x11==1)', {
-+ ['OS=="win" or OS=="mac" or ((OS=="linux" or os_bsd==1) and use_x11==1)', {
- 'enable_me2me_host': 1,
- 'enable_it2me_host': 1,
- 'enable_remoting_host': 1,
-@@ -317,7 +317,7 @@
- ],
- },
- }],
-- ['OS=="linux" and chromeos==0 and use_ozone==0', {
-+ ['((OS=="linux" and chromeos==0) or os_bsd==1) and use_ozone==0', {
- 'dependencies' : [
- # Always use GTK on Linux, even for Aura builds.
- '../build/linux/system.gyp:gtk',
-@@ -910,7 +910,7 @@
- 'host/it2me/it2me_native_messaging_host_main.h',
+--- remoting/remoting_host.gypi.orig 2015-04-19 16:56:09.000000000 +0200
++++ remoting/remoting_host.gypi 2015-04-19 16:55:50.000000000 +0200
+@@ -18,7 +18,7 @@
+ 'remoting_host_win.gypi',
+ ],
+ }],
+- ['OS=="linux"', {
++ ['OS=="linux" or os_bsd==1', {
+ 'includes': [
+ 'remoting_host_linux.gypi',
+ ],
+@@ -56,7 +56,7 @@
+ '<@(remoting_host_sources)',
],
'conditions': [
-- ['OS=="linux" and chromeos==0 and use_ozone==0', {
-+ ['((OS=="linux" and chromeos==0) or os_bsd==1) and use_ozone==0', {
+- ['OS=="linux"', {
++ ['OS=="linux" or os_bsd==1', {
+ 'conditions': [
+ ['use_x11==1', {
+ 'dependencies': [
+@@ -535,7 +535,7 @@
+ }], # mac_breakpad==1
+ ], # conditions
+ }], # OS=mac
+- ['OS=="linux" and use_allocator!="none"', {
++ ['(OS=="linux" or os_bsd==1) and use_allocator!="none"', {
'dependencies': [
- # Always use GTK on Linux, even for Aura builds.
- '../build/linux/system.gyp:gtk',
+ '../base/allocator/allocator.gyp:allocator',
+ ],
+@@ -657,13 +657,13 @@
+ 'host/it2me/it2me_native_messaging_host_main.h',
+ ],
+ 'conditions': [
+- ['OS=="linux" and chromeos==0 and use_ozone==0', {
++ ['(OS=="linux" or os_bsd==1) and chromeos==0 and use_ozone==0', {
+ 'dependencies': [
+ # Always use GTK on Linux, even for Aura builds.
+ '../build/linux/system.gyp:gtk',
+ ],
+ }],
+- ['OS=="linux" and use_allocator!="none"', {
++ ['(OS=="linux" or os_bsd==1) and use_allocator!="none"', {
+ 'dependencies': [
+ '../base/allocator/allocator.gyp:allocator',
+ ],
diff --git a/www/chromium/files/patch-skia__ext__SkMemory_new_handler.cpp b/www/chromium/files/patch-skia__ext__SkMemory_new_handler.cpp
new file mode 100644
index 000000000000..85b2a92ff80a
--- /dev/null
+++ b/www/chromium/files/patch-skia__ext__SkMemory_new_handler.cpp
@@ -0,0 +1,20 @@
+--- skia/ext/SkMemory_new_handler.cpp.orig 2015-04-20 19:38:21.000000000 +0200
++++ skia/ext/SkMemory_new_handler.cpp 2015-04-20 19:38:39.000000000 +0200
+@@ -53,7 +53,7 @@
+ static void* sk_malloc_nothrow(size_t size) {
+ // TODO(b.kelemen): we should always use UncheckedMalloc but currently it
+ // doesn't work as intended everywhere.
+-#if defined(OS_IOS)
++#if defined(OS_IOS) || defined(OS_FREEBSD)
+ return malloc(size);
+ #else
+ void* result;
+@@ -77,7 +77,7 @@
+ void* sk_calloc(size_t size) {
+ // TODO(b.kelemen): we should always use UncheckedCalloc but currently it
+ // doesn't work as intended everywhere.
+-#if defined(OS_IOS)
++#if defined(OS_IOS) || defined(OS_FREEBSD)
+ return calloc(1, size);
+ #else
+ void* result;
diff --git a/www/chromium/files/patch-third_party__WebKit__Source__bindings__core__v8__V8ScriptRunner.cpp b/www/chromium/files/patch-third_party__WebKit__Source__bindings__core__v8__V8ScriptRunner.cpp
new file mode 100644
index 000000000000..43a674e574f6
--- /dev/null
+++ b/www/chromium/files/patch-third_party__WebKit__Source__bindings__core__v8__V8ScriptRunner.cpp
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig 2015-04-19 22:18:23.000000000 +0200
++++ third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp 2015-04-19 22:20:01.000000000 +0200
+@@ -43,6 +43,8 @@
+
+ #if defined(WTF_OS_WIN)
+ #include <malloc.h>
++#elif defined(WTF_OS_FREEBSD)
++#include <stdlib.h>
+ #else
+ #include <alloca.h>
+ #endif
diff --git a/www/chromium/files/patch-third_party__WebKit__Source__core__core.gyp b/www/chromium/files/patch-third_party__WebKit__Source__core__core.gyp
index c0f5de9a0f99..968b855f0a0d 100644
--- a/www/chromium/files/patch-third_party__WebKit__Source__core__core.gyp
+++ b/www/chromium/files/patch-third_party__WebKit__Source__core__core.gyp
@@ -1,20 +1,52 @@
---- third_party/WebKit/Source/core/core.gyp.orig 2014-10-10 09:34:37 UTC
-+++ third_party/WebKit/Source/core/core.gyp
-@@ -587,7 +587,7 @@
+--- third_party/WebKit/Source/core/core.gyp.orig 2015-04-19 17:00:10.000000000 +0200
++++ third_party/WebKit/Source/core/core.gyp 2015-04-19 17:12:08.000000000 +0200
+@@ -505,13 +505,13 @@
# Due to a bug in gcc 4.6 in android NDK, we get warnings about uninitialized variable.
'cflags': ['-Wno-uninitialized'],
}],
- ['OS != "linux"', {
+ ['OS != "linux" and os_bsd != 1', {
- 'sources/': [
- ['exclude', 'Linux\\.cpp$'],
+ 'sources!': [
+ 'layout/LayoutThemeLinux.cpp',
+ 'layout/LayoutThemeLinux.h',
],
-@@ -625,7 +625,7 @@
- ['OS=="win" and buildtype=="Official"', {
- 'msvs_shard': 19,
}],
-- ['OS != "linux"', {
-+ ['OS != "linux" and os_bsd != 1', {
- 'sources/': [
- ['exclude', 'Linux\\.cpp$'],
+- ['OS != "linux" and OS != "android"', {
++ ['OS != "linux" and OS != "android" and os_bsd != 1', {
+ 'sources!': [
+ 'layout/LayoutThemeFontProviderLinux.cpp',
],
+@@ -617,7 +617,7 @@
+ ],
+ },
+ 'conditions': [
+- ['OS=="linux" and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
++ ['(OS=="linux" or os_bsd==1) and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
+ 'link_settings': {
+ 'ldflags': [
+ '<!@(pkg-config --libs-only-L ipp)',
+@@ -812,13 +812,13 @@
+ # Due to a bug in gcc 4.6 in android NDK, we get warnings about uninitialized variable.
+ 'cflags': ['-Wno-uninitialized'],
+ }],
+- ['OS != "linux"', {
++ ['OS != "linux" and os_bsd != 1', {
+ 'sources!': [
+ 'layout/LayoutThemeChromiumLinux.cpp',
+ 'layout/LayoutThemeChromiumLinux.h',
+ ],
+ }],
+- ['OS != "linux" and OS != "android"', {
++ ['OS != "linux" and OS != "android" and os_bsd != 1', {
+ 'sources!': [
+ 'layout/LayoutThemeChromiumFontProviderLinux.cpp',
+ ],
+@@ -837,7 +837,7 @@
+ }],
+ ],
+ }],
+- ['OS=="linux" and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
++ ['(OS=="linux" or os_bsd==1) and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
+ 'link_settings': {
+ 'ldflags': [
+ '<!@(pkg-config --libs-only-L ipp)',
diff --git a/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__StackFrameDepth.cpp b/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__StackFrameDepth.cpp
new file mode 100644
index 000000000000..fd872992d5e0
--- /dev/null
+++ b/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__StackFrameDepth.cpp
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig 2015-04-19 21:53:42.000000000 +0200
++++ third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2015-04-19 21:54:12.000000000 +0200
+@@ -7,6 +7,8 @@
+
+ #include "public/platform/Platform.h"
+
++#include <pthread_np.h>
++
+ #if OS(WIN)
+ #include <stddef.h>
+ #include <windows.h>
diff --git a/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__Visitor.cpp b/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__Visitor.cpp
new file mode 100644
index 000000000000..7a7daf38696e
--- /dev/null
+++ b/www/chromium/files/patch-third_party__WebKit__Source__platform__heap__Visitor.cpp
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/platform/heap/Visitor.cpp.orig 2015-04-19 21:39:50.000000000 +0200
++++ third_party/WebKit/Source/platform/heap/Visitor.cpp 2015-04-19 21:40:31.000000000 +0200
+@@ -34,6 +34,8 @@
+ #include "platform/heap/Handle.h"
+ #include "platform/heap/Heap.h"
+
++#include <stdlib.h>
++
+ namespace blink {
+
+ // GCInfo indices start from 1 for heap objects, with 0 being treated
diff --git a/www/chromium/files/patch-third_party__libvpx__unpack_lib_posix.sh b/www/chromium/files/patch-third_party__libvpx__unpack_lib_posix.sh
deleted file mode 100644
index ae21f7b0a163..000000000000
--- a/www/chromium/files/patch-third_party__libvpx__unpack_lib_posix.sh
+++ /dev/null
@@ -1,26 +0,0 @@
---- third_party/libvpx/unpack_lib_posix.sh.orig 2014-10-10 09:15:53 UTC
-+++ third_party/libvpx/unpack_lib_posix.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash -e
-+#!/usr/bin/env bash
- #
- # Copyright (c) 2012 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
-@@ -54,16 +54,12 @@
- fi
- fi
-
--obj_list="$($ar t $lib_file | grep '\.o$')"
-+obj_list="$($ar t $lib_file)"
-
- function extract_object {
- for f in $obj_list; do
- filename="${f##*/}"
-
-- if [ -z "$(echo $filename | grep $1)" ]; then
-- continue
-- fi
--
- # Only echo this if debugging.
- # echo "Extract $filename from archive to $out_dir/$1."
- $ar p $lib_file $filename > $out_dir/$1
diff --git a/www/chromium/files/patch-third_party__pdfium__third_party__logging.h b/www/chromium/files/patch-third_party__pdfium__third_party__base__logging.h
index 33b39e4d2097..75c1274070f4 100644
--- a/www/chromium/files/patch-third_party__pdfium__third_party__logging.h
+++ b/www/chromium/files/patch-third_party__pdfium__third_party__base__logging.h
@@ -1,5 +1,5 @@
---- third_party/pdfium/third_party/logging.h.orig 2014-10-10 09:15:55 UTC
-+++ third_party/pdfium/third_party/logging.h
+--- third_party/pdfium/third_party/base/logging.h.orig 2015-04-19 17:22:14.000000000 +0200
++++ third_party/pdfium/third_party/base/logging.h 2015-04-19 17:22:28.000000000 +0200
@@ -10,7 +10,7 @@
#define CHECK(condition) \
if (!(condition)) { \
diff --git a/www/chromium/files/patch-third_party__skia__src__core__SkVarAlloc.cpp b/www/chromium/files/patch-third_party__skia__src__core__SkVarAlloc.cpp
new file mode 100644
index 000000000000..8a302dbfe348
--- /dev/null
+++ b/www/chromium/files/patch-third_party__skia__src__core__SkVarAlloc.cpp
@@ -0,0 +1,15 @@
+--- third_party/skia/src/core/SkVarAlloc.cpp.orig 2015-04-19 19:15:20.000000000 +0200
++++ third_party/skia/src/core/SkVarAlloc.cpp 2015-04-19 19:17:08.000000000 +0200
+@@ -4,7 +4,12 @@
+ #if defined(SK_BUILD_FOR_MAC)
+ #include <malloc/malloc.h>
+ #elif defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_WIN32)
++# if defined(__FreeBSD__)
++ #include <stdlib.h>
++ #include <malloc_np.h>
++# else
+ #include <malloc.h>
++# endif
+ #endif
+
+ struct SkVarAlloc::Block {
diff --git a/www/chromium/files/patch-third_party__webrtc__base__thread_checker_impl.cc b/www/chromium/files/patch-third_party__webrtc__base__thread_checker_impl.cc
new file mode 100644
index 000000000000..74691737248a
--- /dev/null
+++ b/www/chromium/files/patch-third_party__webrtc__base__thread_checker_impl.cc
@@ -0,0 +1,35 @@
+--- third_party/webrtc/base/thread_checker_impl.cc.orig 2015-04-19 18:30:59.000000000 +0200
++++ third_party/webrtc/base/thread_checker_impl.cc 2015-04-19 18:51:43.000000000 +0200
+@@ -14,10 +14,16 @@
+
+ #include "webrtc/base/checks.h"
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(__FreeBSD__)
+ #include <sys/syscall.h>
+ #endif
+
++#if defined(WEBRTC_BSD)
++#include <pthread_np.h>
++#include <sys/param.h>
++#include <sys/thr.h>
++#endif
++
+ namespace rtc {
+
+ PlatformThreadId CurrentThreadId() {
+@@ -27,6 +33,14 @@
+ #elif defined(WEBRTC_POSIX)
+ #if defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
+ ret = pthread_mach_thread_np(pthread_self());
++#elif defined(WEBRTC_BSD)
++# if __FreeBSD_version < 900031
++ long lwpid;
++ thr_self(&lwpid);
++ ret = static_cast<int>(lwpid);
++# else
++ ret = static_cast<int>(pthread_getthreadid_np());
++# endif
+ #elif defined(WEBRTC_LINUX)
+ ret = syscall(__NR_gettid);
+ #elif defined(WEBRTC_ANDROID)
diff --git a/www/chromium/files/patch-third_party__webrtc__system_wrappers__source__thread_posix.cc b/www/chromium/files/patch-third_party__webrtc__system_wrappers__source__thread_posix.cc
index 72309c1252ad..8b8239203124 100644
--- a/www/chromium/files/patch-third_party__webrtc__system_wrappers__source__thread_posix.cc
+++ b/www/chromium/files/patch-third_party__webrtc__system_wrappers__source__thread_posix.cc
@@ -1,7 +1,7 @@
---- third_party/webrtc/system_wrappers/source/thread_posix.cc.orig 2014-10-10 09:16:13 UTC
-+++ third_party/webrtc/system_wrappers/source/thread_posix.cc
-@@ -51,9 +51,11 @@
- #include <string.h> // strncpy
+--- third_party/webrtc/system_wrappers/source/thread_posix.cc.orig 2015-04-19 17:26:21.000000000 +0200
++++ third_party/webrtc/system_wrappers/source/thread_posix.cc 2015-04-19 19:08:15.000000000 +0200
+@@ -15,9 +15,11 @@
+ #include <errno.h>
#include <unistd.h>
#ifdef WEBRTC_LINUX
+#if !defined(WEBRTC_BSD)
@@ -13,47 +13,12 @@
#include <sys/syscall.h>
#include <sys/types.h>
#endif
-@@ -136,12 +138,12 @@
- }
-
- uint32_t ThreadWrapper::GetThreadId() {
--#if defined(WEBRTC_ANDROID) || defined(WEBRTC_LINUX)
-+#if (defined(WEBRTC_ANDROID) || defined(WEBRTC_LINUX)) && !defined(WEBRTC_BSD)
- return static_cast<uint32_t>(syscall(__NR_gettid));
+@@ -138,7 +140,7 @@
+ if (!name_.empty()) {
+ // Setting the thread name may fail (harmlessly) if running inside a
+ // sandbox. Ignore failures if they happen.
+-#if defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
++#if (defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)) && !defined(WEBRTC_BSD)
+ prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name_.c_str()));
#elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
- return pthread_mach_thread_np(pthread_self());
- #else
-- return reinterpret_cast<uint32_t>(pthread_self());
-+ return reinterpret_cast<uint64_t>(pthread_self());
- #endif
- }
-
-@@ -171,7 +173,8 @@
- delete crit_state_;
- }
-
--#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC)
-+#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC) && \
-+ !defined(WEBRTC_BSD)
-
- bool ThreadPosix::Start(unsigned int& thread_id)
- {
-@@ -235,7 +238,8 @@
-
- // CPU_ZERO and CPU_SET are not available in NDK r7, so disable
- // SetAffinity on Android for now.
--#if (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)))
-+#if (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID) && \
-+ !defined(WEBRTC_BSD)))
- bool ThreadPosix::SetAffinity(const int* processor_numbers,
- const unsigned int amount_of_processors) {
- if (!processor_numbers || (amount_of_processors == 0)) {
-@@ -317,7 +321,7 @@
- event_->Set();
-
- if (set_thread_name_) {
--#ifdef WEBRTC_LINUX
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- prctl(PR_SET_NAME, (unsigned long)name_, 0, 0, 0);
- #endif
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ pthread_setname_np(name_.substr(0, 63).c_str());
diff --git a/www/chromium/files/patch-ui__base__ime__input_method_factory.cc b/www/chromium/files/patch-ui__base__ime__input_method_factory.cc
index ee092189fdcb..2e49715b2013 100644
--- a/www/chromium/files/patch-ui__base__ime__input_method_factory.cc
+++ b/www/chromium/files/patch-ui__base__ime__input_method_factory.cc
@@ -1,5 +1,5 @@
---- ui/base/ime/input_method_factory.cc.orig 2014-10-14 21:31:49.000000000 +0200
-+++ ui/base/ime/input_method_factory.cc 2014-10-14 21:26:34.000000000 +0200
+--- ui/base/ime/input_method_factory.cc.orig 2015-04-19 17:31:55.000000000 +0200
++++ ui/base/ime/input_method_factory.cc 2015-04-19 17:33:24.000000000 +0200
@@ -14,7 +14,7 @@
#include "ui/base/ime/remote_input_method_win.h"
#elif defined(OS_MACOSX)
@@ -10,11 +10,11 @@
#else
#include "ui/base/ime/input_method_minimal.h"
@@ -47,7 +47,7 @@
- return scoped_ptr<InputMethod>(new InputMethodWin(delegate, widget));
+ return make_scoped_ptr(new InputMethodWin(delegate, widget));
#elif defined(OS_MACOSX)
- return scoped_ptr<InputMethod>(new InputMethodMac(delegate));
+ return make_scoped_ptr(new InputMethodMac(delegate));
-#elif defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#elif defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- return scoped_ptr<InputMethod>(new InputMethodAuraLinux(delegate));
+ return make_scoped_ptr(new InputMethodAuraLinux(delegate));
#else
- return scoped_ptr<InputMethod>(new InputMethodMinimal(delegate));
+ return make_scoped_ptr(new InputMethodMinimal(delegate));
diff --git a/www/chromium/files/patch-ui__gfx__render_text.cc b/www/chromium/files/patch-ui__gfx__render_text.cc
new file mode 100644
index 000000000000..6c972f7ee340
--- /dev/null
+++ b/www/chromium/files/patch-ui__gfx__render_text.cc
@@ -0,0 +1,46 @@
+--- ui/gfx/render_text.cc.orig 2015-04-19 20:44:44.000000000 +0200
++++ ui/gfx/render_text.cc 2015-04-19 20:45:55.000000000 +0200
+@@ -865,32 +865,33 @@
+ const int extra_content = GetContentWidth() - display_rect_.width();
+ const int cursor_width = cursor_enabled_ ? 1 : 0;
+
+- int min_offset = 0;
+- int max_offset = 0;
++ // avoid collisions with vm_map.h on FreeBSD --cmt
++ int _min_offset = 0;
++ int _max_offset = 0;
+ if (extra_content > 0) {
+ switch (GetCurrentHorizontalAlignment()) {
+ case ALIGN_LEFT:
+- min_offset = -extra_content;
++ _min_offset = -extra_content;
+ break;
+ case ALIGN_RIGHT:
+- max_offset = extra_content;
++ _max_offset = extra_content;
+ break;
+ case ALIGN_CENTER:
+ // The extra space reserved for cursor at the end of the text is ignored
+ // when centering text. So, to calculate the valid range for offset, we
+ // exclude that extra space, calculate the range, and add it back to the
+ // range (if cursor is enabled).
+- min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
+- max_offset = (extra_content - cursor_width) / 2;
++ _min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
++ _max_offset = (extra_content - cursor_width) / 2;
+ break;
+ default:
+ break;
+ }
+ }
+- if (horizontal_offset < min_offset)
+- horizontal_offset = min_offset;
+- else if (horizontal_offset > max_offset)
+- horizontal_offset = max_offset;
++ if (horizontal_offset < _min_offset)
++ horizontal_offset = _min_offset;
++ else if (horizontal_offset > _max_offset)
++ horizontal_offset = _max_offset;
+
+ cached_bounds_and_offset_valid_ = true;
+ display_offset_.set_x(horizontal_offset);
diff --git a/www/chromium/files/patch-ui__views__views.gyp b/www/chromium/files/patch-ui__views__views.gyp
index 889754500a80..fb3e81f9cc5f 100644
--- a/www/chromium/files/patch-ui__views__views.gyp
+++ b/www/chromium/files/patch-ui__views__views.gyp
@@ -1,6 +1,6 @@
---- ui/views/views.gyp.orig 2014-10-10 08:54:19 UTC
-+++ ui/views/views.gyp
-@@ -612,7 +612,7 @@
+--- ui/views/views.gyp.orig 2015-04-15 00:31:23.000000000 +0200
++++ ui/views/views.gyp 2015-04-20 21:31:06.000000000 +0200
+@@ -631,7 +631,7 @@
'../display/display.gyp:display_util',
],
}],
@@ -9,3 +9,12 @@
'dependencies': [
'../shell_dialogs/shell_dialogs.gyp:shell_dialogs',
],
+@@ -696,7 +696,7 @@
+ ['use_aura and chromeos == 0', {
+ 'sources': [ '<@(views_desktop_aura_sources)' ],
+ 'conditions': [
+- ['OS == "linux"', {
++ ['OS == "linux" or os_bsd == 1', {
+ 'sources': [ '<@(views_desktop_aura_linux_sources)' ],
+ }],
+ ['use_x11 == 1', {
diff --git a/www/chromium/files/patch-v8__src__base__platform__platform-freebsd.cc b/www/chromium/files/patch-v8__src__base__platform__platform-freebsd.cc
index 7134b69108f5..d0295659484c 100644
--- a/www/chromium/files/patch-v8__src__base__platform__platform-freebsd.cc
+++ b/www/chromium/files/patch-v8__src__base__platform__platform-freebsd.cc
@@ -1,35 +1,6 @@
---- v8/src/base/platform/platform-freebsd.cc.orig 2014-10-17 02:58:15.000000000 +0200
-+++ v8/src/base/platform/platform-freebsd.cc 2014-10-20 18:26:17.000000000 +0200
-@@ -141,21 +141,21 @@
- if (bytes_read < 8) break;
- unsigned end = StringToLong(addr_buffer);
- char buffer[MAP_LENGTH];
-- int bytes_read = -1;
-+ int _bytes_read = -1;
- do {
-- bytes_read++;
-- if (bytes_read >= MAP_LENGTH - 1)
-+ _bytes_read++;
-+ if (_bytes_read >= MAP_LENGTH - 1)
- break;
-- bytes_read = read(fd, buffer + bytes_read, 1);
-+ bytes_read = read(fd, buffer + _bytes_read, 1);
- if (bytes_read < 1) break;
-- } while (buffer[bytes_read] != '\n');
-- buffer[bytes_read] = 0;
-+ } while (buffer[_bytes_read] != '\n');
-+ buffer[_bytes_read] = 0;
- // Ignore mappings that are not executable.
- if (buffer[3] != 'x') continue;
- char* start_of_path = index(buffer, '/');
- // There may be no filename in this line. Skip to next.
- if (start_of_path == NULL) continue;
-- buffer[bytes_read] = 0;
-+ buffer[_bytes_read] = 0;
- result.push_back(SharedLibraryAddress(start_of_path, start, end));
- }
- close(fd);
-@@ -187,7 +187,7 @@
+--- v8/src/base/platform/platform-freebsd.cc.orig 2015-04-19 17:39:23.000000000 +0200
++++ v8/src/base/platform/platform-freebsd.cc 2015-04-19 17:40:29.000000000 +0200
+@@ -188,7 +188,7 @@
void* reservation = mmap(OS::GetRandomMmapAddr(),
request_size,
PROT_NONE,
@@ -38,7 +9,7 @@
kMmapFd,
kMmapFdOffset);
if (reservation == MAP_FAILED) return;
-@@ -259,7 +259,7 @@
+@@ -260,7 +260,7 @@
void* result = mmap(OS::GetRandomMmapAddr(),
size,
PROT_NONE,
@@ -47,7 +18,7 @@
kMmapFd,
kMmapFdOffset);
-@@ -287,7 +287,7 @@
+@@ -288,7 +288,7 @@
return mmap(base,
size,
PROT_NONE,
diff --git a/www/chromium/files/patch-v8__src__base__platform__platform-posix.cc b/www/chromium/files/patch-v8__src__base__platform__platform-posix.cc
index 215e4edcbd20..d98edeb83c85 100644
--- a/www/chromium/files/patch-v8__src__base__platform__platform-posix.cc
+++ b/www/chromium/files/patch-v8__src__base__platform__platform-posix.cc
@@ -1,6 +1,6 @@
---- v8/src/base/platform/platform-posix.cc.orig 2015-01-27 03:22:59.000000000 +0100
-+++ v8/src/base/platform/platform-posix.cc 2015-02-06 18:41:53.881294389 +0100
-@@ -54,6 +54,15 @@
+--- v8/src/base/platform/platform-posix.cc.orig 2015-04-19 17:42:27.000000000 +0200
++++ v8/src/base/platform/platform-posix.cc 2015-04-19 17:46:17.000000000 +0200
+@@ -55,6 +55,15 @@
#include <sys/prctl.h> // NOLINT, for prctl
#endif
@@ -13,10 +13,10 @@
+#include <lwp.h> // for _lwp_self
+#endif
+
- #if !V8_OS_NACL
+ #if !defined(V8_OS_NACL) && !defined(_AIX)
#include <sys/syscall.h>
#endif
-@@ -259,6 +268,18 @@ int OS::GetCurrentThreadId() {
+@@ -271,6 +280,18 @@
return static_cast<int>(syscall(__NR_gettid));
#elif V8_OS_ANDROID
return static_cast<int>(gettid());
@@ -32,6 +32,6 @@
+# endif
+#elif V8_OS_NETBSD
+ return static_cast<int>(_lwp_self());
- #else
- return static_cast<int>(pthread_self());
- #endif
+ #elif V8_OS_AIX
+ return static_cast<int>(thread_self());
+ #elif V8_OS_SOLARIS
diff --git a/www/chromium/files/patch-v8__src__debug.cc b/www/chromium/files/patch-v8__src__debug.cc
new file mode 100644
index 000000000000..f7742391760a
--- /dev/null
+++ b/www/chromium/files/patch-v8__src__debug.cc
@@ -0,0 +1,11 @@
+--- v8/src/debug.cc.orig 2015-04-19 19:02:03.000000000 +0200
++++ v8/src/debug.cc 2015-04-19 19:02:41.000000000 +0200
+@@ -573,7 +573,7 @@
+ thread_local_.step_out_fp_ = 0;
+ // TODO(isolates): frames_are_dropped_?
+ base::NoBarrier_Store(&thread_local_.current_debug_scope_,
+- reinterpret_cast<base::AtomicWord>(0));
++ static_cast<base::AtomicWord>(0));
+ thread_local_.restarter_frame_function_pointer_ = NULL;
+ }
+
diff --git a/www/chromium/files/patch-v8__src__preparser.h b/www/chromium/files/patch-v8__src__preparser.h
deleted file mode 100644
index c0b70fc2b93b..000000000000
--- a/www/chromium/files/patch-v8__src__preparser.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- v8/src/preparser.h.orig 2014-10-10 09:16:50 UTC
-+++ v8/src/preparser.h
-@@ -450,7 +450,7 @@
- void ReportMessageAt(Scanner::Location location, const char* message,
- bool is_reference_error = false) {
- Traits::ReportMessageAt(location, message,
-- reinterpret_cast<const char*>(NULL),
-+ reinterpret_cast<const char*>(__null),
- is_reference_error);
- }
-
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index afa68e1acc75..9ce86a59b366 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -7,7 +7,6 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/content_resources.pak
%%DATADIR%%/keyboard_resources.pak
%%DATADIR%%/libffmpegsumo.so
-%%DATADIR%%/libpdf.so
%%DATADIR%%/locales/am.pak
%%DATADIR%%/locales/ar.pak
%%DATADIR%%/locales/bg.pak
@@ -65,7 +64,6 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources.pak
%%DATADIR%%/resources/extension/demo/library.js
%%DATADIR%%/resources/inspector/Images/applicationCache.png
-%%DATADIR%%/resources/inspector/Images/back.png
%%DATADIR%%/resources/inspector/Images/breakpoint.png
%%DATADIR%%/resources/inspector/Images/breakpointConditional.png
%%DATADIR%%/resources/inspector/Images/breakpointConditional_2x.png
@@ -97,6 +95,7 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/Images/navigationControls.png
%%DATADIR%%/resources/inspector/Images/navigationControls_2x.png
%%DATADIR%%/resources/inspector/Images/paneAddButtons.png
+%%DATADIR%%/resources/inspector/Images/paneAnimationsButtons.png
%%DATADIR%%/resources/inspector/Images/paneElementStateButtons.png
%%DATADIR%%/resources/inspector/Images/paneFilterButtons.png
%%DATADIR%%/resources/inspector/Images/paneRefreshButtons.png
@@ -133,20 +132,21 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/Images/toolbarItemSelected.png
%%DATADIR%%/resources/inspector/Images/touchCursor.png
%%DATADIR%%/resources/inspector/Images/touchCursor_2x.png
-%%DATADIR%%/resources/inspector/Images/transformControls.png
-%%DATADIR%%/resources/inspector/Images/transformControls_2x.png
%%DATADIR%%/resources/inspector/InspectorBackendCommands.js
%%DATADIR%%/resources/inspector/SupportedCSSProperties.js
%%DATADIR%%/resources/inspector/audits_module.js
+%%DATADIR%%/resources/inspector/components_lazy_module.js
%%DATADIR%%/resources/inspector/console_module.js
%%DATADIR%%/resources/inspector/devices_module.js
%%DATADIR%%/resources/inspector/devtools.css
%%DATADIR%%/resources/inspector/devtools.html
%%DATADIR%%/resources/inspector/devtools.js
%%DATADIR%%/resources/inspector/devtools_extension_api.js
-%%DATADIR%%/resources/inspector/documentation_module.js
%%DATADIR%%/resources/inspector/elements_module.js
%%DATADIR%%/resources/inspector/heap_snapshot_worker_module.js
+%%DATADIR%%/resources/inspector/inspector.css
+%%DATADIR%%/resources/inspector/inspector.html
+%%DATADIR%%/resources/inspector/inspector.js
%%DATADIR%%/resources/inspector/layers_module.js
%%DATADIR%%/resources/inspector/network_module.js
%%DATADIR%%/resources/inspector/profiler_module.js
@@ -161,6 +161,7 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/toolbox.css
%%DATADIR%%/resources/inspector/toolbox.html
%%DATADIR%%/resources/inspector/toolbox.js
+%%DATADIR%%/resources/inspector/ui_lazy_module.js
share/icons/hicolor/128x128/apps/chrome.png
share/icons/hicolor/22x22/apps/chrome.png
share/icons/hicolor/24x24/apps/chrome.png